# pdf-lib vs PyMuPDF

| Attribute | pdf-lib | PyMuPDF |
|---|---|---|
| **Vioscale score** | 59.4 (20% (low)) | 55.1 (24% (low)) |
| activity.commits_last_30d | 0 | 38 |
| adoption.dependent_repos | 2,364 | 1,798 |
| adoption.github_stars | 8,605 | 10,576 |
| deployment.options | - | `{"on_prem":true,"air_gapped":true,"self_hosted":true}` |
| description.long | 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. | 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. |
| 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":"hybrid","freeTier":true,"sourceUrl":"https://pymupdf.readthedocs.io/","retrievedAt":"2026-08-20T12:46:17.005Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | freemium |
| pricing.price_level | free | low |
| 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.3 |
| 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 | - | - |
| 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 | - | - |

*Source: Vioscale. Generated 2026-09-01T16:32:52.154Z. "-" = undocumented, not absent.*
