# pdf-lib vs PyMuPDF

**Leader by vioscaleAI score:** PyMuPDF

| Attribute | pdf-lib | PyMuPDF |
|---|---|---|
| **vioscaleAI score** | 47.6 (44% (low)) | 57.2 (63% (medium)) |
| activity.commits_last_30d | 0 | 100 |
| adoption.dependent_repos | 2,364 | 1,798 |
| adoption.github_stars | 8,660 | 10,910 |
| content.faq | `[{"answer":"A pure JavaScript PDF manipulation toolkit that runs across any JavaScript environment including web browsers, Node.js, Deno, and React Native. It enables creating new PDFs, editing existing documents, filling forms with various field types, embedding fonts, and merging or splitting pages. It is indexed under PDF Editors.","source":"https://pdf-lib.js.org/","question":"What is pdf-lib?","confidence":0.6},{"answer":"pdf-lib offers a free tier, so you can start without paying. Pricing changes often, so verify at source before relying on it.","source":"https://pdf-lib.js.org/","question":"Is pdf-lib free?","confidence":0.6},{"answer":"We have confirmed browser-based access to pdf-lib. That is the extent of what we could verify from public sources, so it may well offer desktop or mobile clients we have not indexed.","source":"https://pdf-lib.js.org/","question":"What platforms does pdf-lib support?","confidence":0.6},{"answer":"Yes. pdf-lib is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/hopding/pdf-lib","question":"Is pdf-lib open source?","confidence":0.95}]` | `[{"answer":"A Python library built on the MuPDF engine for reading, manipulating, converting, and annotating PDF and document files with integrated OCR support. Designed for local processing in air-gapped and regulated environments. It is indexed under PDF Editors.","source":"https://pymupdf.readthedocs.io/","question":"What is PyMuPDF?","confidence":0.6},{"answer":"PyMuPDF offers a free tier, so you can start without paying. Pricing changes often, so verify at source before relying on it.","source":"https://pymupdf.readthedocs.io/","question":"Is PyMuPDF free?","confidence":0.6},{"answer":"PyMuPDF supports Windows, macOS and Linux. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://pymupdf.readthedocs.io/","question":"What platforms does PyMuPDF support?","confidence":0.6},{"answer":"Yes. PyMuPDF can be deployed on-premise, air-gapped and self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://pymupdf.readthedocs.io/","question":"Can PyMuPDF be self-hosted?","confidence":0.6},{"answer":"Yes. PyMuPDF is published under the AGPL-3.0 licence, a copyleft licence, so check its terms before embedding it in a closed-source product. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/pymupdf/PyMuPDF","question":"Is PyMuPDF open source?","confidence":0.95}]` |
| deployment.options | - | `{"self_hosted":true}` |
| description.long | A programming library that enables developers to create, edit, and manipulate PDF files with support for embedded fonts, form field creation, page embedding, and text drawing. | A Python library providing efficient, precise control over PDF documents for reading, editing, and converting their contents. Built on a lightweight C engine with both low-level control and high-level convenience functions. |
| features.capabilities | `{"interactive_form_field_creation":true,"page_merging_extraction_and_splitting":true,"base_text_and_image_editing_within_pdf":true,"ocr_optical_character_recognition_scanning":false}` | `{"pricing_model":"freemium","deployment_model":"native_desktop","file_size_compression_engine":true,"interactive_form_field_creation":true,"password_protection_and_encryption":true,"permanent_blackout_redaction_engine":true,"microsoft_office_docx_xlsx_conversion":true,"page_merging_extraction_and_splitting":true,"base_text_and_image_editing_within_pdf":true,"ocr_optical_character_recognition_scanning":true}` |
| integrations.count | - | 1 |
| integrations.list | - | `[{"name":"Tesseract","native":true,"category":"ocr"}]` |
| language.primary | TypeScript | Python |
| license.spdx | MIT | AGPL-3.0 |
| platform.support | `{"web":true}` | `{"mac":true,"linux":true,"windows":true}` |
| pricing | `{"type":"free","summary":"Free","freeTier":true,"sourceUrl":"https://pdf-lib.js.org/","retrievedAt":"2026-08-19T16:04:48.894Z"}` | `{"type":"open_source","freeTier":true,"sourceUrl":"https://pymupdf.readthedocs.io/","retrievedAt":"2026-09-13T20:04:58.976Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | open_source |
| pricing.price_level | free | free |
| pricing.transparent | yes | no |
| release.cadence_days | 19 | 35 |
| release.history | `[{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.17.1","date":"2021-11-06T22:31:59Z","type":"stable","version":"v1.17.1"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.17.0","date":"2021-10-16T21:23:39Z","type":"stable","version":"v1.17.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.16.0","date":"2021-01-27T01:11:42Z","type":"stable","version":"v1.16.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.15.0","date":"2021-01-09T23:04:56Z","type":"stable","version":"v1.15.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.14.1","date":"2020-12-30T00:07:00Z","type":"stable","version":"v1.14.1"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.14.0","date":"2020-12-21T17:46:03Z","type":"stable","version":"v1.14.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.13.0","date":"2020-12-06T20:09:41Z","type":"stable","version":"v1.13.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.12.0","date":"2020-11-15T15:49:05Z","type":"stable","version":"v1.12.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.11.2","date":"2020-10-09T22:10:18Z","type":"stable","version":"v1.11.2"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.11.1","date":"2020-09-15T23:54:00Z","type":"stable","version":"v1.11.1"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.11.0","date":"2020-09-13T20:29:46Z","type":"stable","version":"v1.11.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.10.0","date":"2020-08-08T16:26:20Z","type":"stable","version":"v1.10.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.9.0","date":"2020-06-26T23:26:28Z","type":"stable","version":"v1.9.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.8.0","date":"2020-06-20T18:26:25Z","type":"stable","version":"v1.8.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.7.0","date":"2020-05-30T16:20:25Z","type":"stable","version":"v1.7.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.6.1","date":"2020-05-25T15:57:14Z","type":"stable","version":"v1.6.1"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.6.0","date":"2020-05-16T15:55:44Z","type":"stable","version":"v1.6.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.5.0","date":"2020-04-26T20:26:56Z","type":"stable","version":"v1.5.0"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.4.1","date":"2020-03-07T16:59:52Z","type":"stable","version":"v1.4.1"},{"url":"https://github.com/Hopding/pdf-lib/releases/tag/v1.4.0","date":"2020-02-29T16:39:41Z","type":"stable","version":"v1.4.0"}]` | `[{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.28.2","date":"2026-08-06T22:16:34Z","type":"stable","version":"1.28.2"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.28.0","date":"2026-06-29T09:18:49Z","type":"stable","version":"1.28.0"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.27.2.3","date":"2026-04-24T14:23:34Z","type":"stable","version":"1.27.2.3"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.27.2.2","date":"2026-03-20T09:56:24Z","type":"stable","version":"1.27.2.2"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.27.2","date":"2026-03-10T13:11:38Z","type":"stable","version":"1.27.2"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.27.1","date":"2026-02-11T15:12:59Z","type":"stable","version":"1.27.1"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.7","date":"2025-12-11T23:17:03Z","type":"stable","version":"1.26.7"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.6","date":"2025-11-05T16:07:35Z","type":"stable","version":"1.26.6"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.5","date":"2025-10-10T14:07:18Z","type":"stable","version":"1.26.5"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.4","date":"2025-08-25T14:34:56Z","type":"stable","version":"1.26.4"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.3","date":"2025-07-02T21:52:37Z","type":"stable","version":"1.26.3"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.1","date":"2025-06-11T22:30:03Z","type":"stable","version":"1.26.1"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.26.0","date":"2025-05-22T16:30:32Z","type":"stable","version":"1.26.0"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.25.5","date":"2025-03-31T23:25:00Z","type":"stable","version":"1.25.5"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.25.4","date":"2025-03-14T19:16:56Z","type":"stable","version":"1.25.4"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.25.3","date":"2025-02-06T13:12:40Z","type":"stable","version":"1.25.3"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.25.2","date":"2025-01-17T16:36:36Z","type":"stable","version":"1.25.2"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.25.1","date":"2024-12-11T22:51:35Z","type":"stable","version":"1.25.1"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.25.0","date":"2024-12-05T20:45:10Z","type":"stable","version":"1.25.0"},{"url":"https://github.com/pymupdf/PyMuPDF/releases/tag/1.24.14","date":"2024-11-19T11:21:54Z","type":"stable","version":"1.24.14"}]` |
| security.scorecard | - | 5.2 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=pdf-lib&per_page=100","last_12m":0,"max_severity":null}` | `{"count":1,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=pymupdf&per_page=100","last_12m":1,"max_severity":"MODERATE"}` |

## Capabilities (PDF Editors)

| Capability | pdf-lib | PyMuPDF |
|---|:--:|:--:|
| **Capabilities** |  |  |
| Deployment model | - | Native desktop |
| Base text and image editing within PDF | ✓ | ✓ |
| Page merging extraction and splitting | ✓ | ✓ |
| OCR optical character recognition scanning | ✗ | ✓ |
| Permanent blackout redaction engine | - | ✓ |
| Password protection and encryption | - | ✓ |
| Interactive form field creation | ✓ | ✓ |
| Digital signature certification enforcement | - | - |
| Microsoft office docx xlsx conversion | - | ✓ |
| File size compression engine | - | ✓ |
| SOC2 type ii | - | - |
| ISO 27001 | - | - |
| Pricing model | - | Freemium |

*Source: vioscaleAI. Generated 2026-10-16T20:51:01.332Z. "-" = undocumented, not absent.*
