head to head · open source

PyMuPDF vs substance

PyMuPDF has 11,057 GitHub stars, 831 forks, 58 open issues and last shipped 2 days ago. substance has 2,737 stars, 121 forks, 41 open issues and last shipped 7 months ago. PyMuPDF leads on adoption by 304% (11,057 vs 2,737 stars). PyMuPDF is written in Python under AGPL-3.0; substance is written in JavaScript under MIT. PyMuPDF has attracted 8% as many forks as stars, substance 4%. PyMuPDF was the more recently maintained of the two, and both are self-hostable with no licence fee.

Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.

PyMuPDF ★ 11K substance ★ 2.7K category Content & Publishing

← all 20902 open source comparisons

Side by side

PyMuPDF substance
GitHub stars ★ 11K ★ 2.7K
License AGPL-3.0 MIT
Written in Python JavaScript
Last push 2026-11-03 2026-04-02
Forks ⑂ 831 ⑂ 121
Self-hosting Yes Yes
Data ownership Your server Your server

pick PyMuPDF if

  • You weight community size — 11K stars and counting
  • You want the AGPL-3.0 license terms
  • Your stack matches Python
  • You value the larger contributor base for long-term maintenance

full PyMuPDF profile →

pick substance if

  • You want the substance feature set and don't need the biggest community
  • You prefer the MIT license terms
  • Your stack matches JavaScript
  • You evaluated both and substance fits your workflow better

full substance profile →

About PyMuPDF

PyMuPDF The PDF engine behind over 50 million monthly downloads, powering AI pipelines worldwide. PyMuPDF is a high performance Python library for data extraction, analysis, conversion, rendering and manipulation of PDF (and other) documents. Built on top of MuPDF — a lightweight, fast C engine — PyMuPDF gives you precise, low level control over documents alongside high level convenience APIs. No mandatory external dependencies. Why PyMuPDF? Fast — powered by MuPDF, a best in class C rendering engine Accurate — pixel perfect text extraction with font, color, and position metadata Versatile — read, write…

read the full PyMuPDF overview →

About substance

Substance.js Substance is a JavaScript library for web based content editing. It provides building blocks for realizing custom text editors and web based publishing system. It is developed to power our online editing platform Substance. Development Install the dev dependencies. Run the dev server. Navigate to for the running the browser test suite. The test suite is rebuilt as you make changes to the source files. To run the test suite headless.

read the full substance overview →

More in Content & Publishing

Related comparisons

More Publishing projects

Compare either of these against the rest of the Publishing field.

Frequently asked questions

Is PyMuPDF or substance more popular?

PyMuPDF has 11,057 GitHub stars and substance has 2,737. PyMuPDF has the larger community by that measure.

Are PyMuPDF and substance free?

Both are open source. PyMuPDF is licensed under AGPL-3.0 and substance under MIT. Neither carries a licence fee.

What is the difference between PyMuPDF and substance?

PyMuPDF is written in Python and substance in JavaScript. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.

Which should I choose, PyMuPDF or substance?

Choose PyMuPDF if you want the larger community (11,057 stars) or its AGPL-3.0 licence terms. Choose substance if its feature set, stack or MIT licence fits better. Both are self-hostable.