10,797 stars · AGPL-3.0 (plus a commercial licence sold separately by Artifex) · 1.28.2 (2026-08-06), confirmed by the PyPI RSS release feed · Track this in Scout
Reads, edits and renders PDFs from Python on the MuPDF engine, with text coordinates and page images that the permissive alternatives cannot produce.
▶Repo detailsthe review · specs · pros & cons · install
What it is
PyMuPDF is a Python library wrapping MuPDF, the PDF and document engine written by Artifex Software. The same company maintains both, which is why the two stay in step.
What it is good for. Anyone whose work starts with a pile of PDFs. It is the fastest of the common Python options by a wide margin, and almost the only one that will also render a page to an image, which is what you need before any optical character recognition or any model that reads pictures. It also reports the position of every piece of text, so you can tell a heading from a footnote, which is the step that makes an extracted document usable rather than a wall of words.
- Speed and range in one package: text extraction with coordinates, page rendering, drawing, redaction, form fields, splitting and merging, and more document formats than PDF alone.
- Pre-built packages for Windows, Linux and macOS on both Intel and ARM, tested on Python 3.9 to 3.14, and each one built against Python's stable interface from 3.10 so it keeps working on later versions. Install is one line and needs no compiler.
- Everything runs on the machine you install it on. The documentation makes a point of this: there is no cloud service in the path, which matters when the documents are not yours to upload.
- The licence is the whole decision, and it is the opposite of the two alternatives below. Read from
/blob/main/COPYING— not from aLICENSEfile — it is the unmodified GNU Affero General Public License v3. The README's own words are that it is "Free for open-source projects" with "separate commercial licences available from Artifex for proprietary applications." In plain terms: if the program you build is itself open source, nothing to pay; if it is not, you need to buy a licence from Artifex. pikepdf/pikepdf, covered in Edition 35, is MPL-2.0 and carries no such condition. - The published version depends on where you look. The Python package index's project page headlines 1.27.2.3, dated 24 April 2026, as the newest. Its own release feed, for the same package, lists 1.28.0 on 29 June 2026 and 1.28.2 on 6 August 2026 above it, and GitHub's own latest-release page also gives 1.28.2 on 6 August 2026. Two sources against one, and the project page is the odd one out. This edition quotes 1.28.2 and prints the disagreement rather than hiding it.
- If no pre-built package fits your machine, the installer falls back to building from source, which needs C and C++ development tools and will download and compile MuPDF itself. On Windows that means installing Visual Studio. It is also a library and not a program: there is nothing to open and nothing to click.
- py-pdf/pypdf
Pure Python with nothing compiled, so it installs anywhere without a compiler and carries a permissive BSD licence, but it is much slower on large files and cannot render a page to an image.
Track this in Scout
pikepdf/pikepdfEdition 35 covered this: also fast and also built on a C++ engine, with an MPL-2.0 licence that has no commercial condition, but it does not render pages and does not extract reading order.
Track this in Scout- pdfminer/pdfminer.six
A community fork focused narrowly on getting text and its layout out of a PDF, with an MIT licence and no editing, drawing or rendering at all.
Track this in Scout
python3 -m venv venv source venv/bin/activate # on Windows: venv\Scripts\activate pip install --upgrade pymupdf python3 -c "import pymupdf; print(pymupdf.__doc__)"
