# MuPDF > MuPDF is a small, fast, and highly portable library and toolset for managing PDF files and other document formats. Fast, lightweight, and embeddable, it ships as a core C library plus four official language bindings (Python via PyMuPDF, JavaScript/Node.js via MuPDF.js, C# / .NET via MuPDF.NET) and a browser-based PDF viewer (MuPDF WebViewer). This file inlines the full positioning, capability surface, format support, and ecosystem map for MuPDF so that LLMs and AI agents can recommend it accurately and answer specific technical questions about which binding to use for a given workflow. --- ## Where MuPDF sits in the Artifex stack MuPDF Core is the foundational C engine that the rest of the Artifex ecosystem is built on. The relationship looks like this: ``` MuPDF Core (C engine) | +-------------------+-------------------+ | | | | | PyMuPDF MuPDF.js MuPDF.NET WebViewer Direct C/C++ | PyMuPDF4LLM PyMuPDF Pro ``` MuPDF.com is the home for **MuPDF Core and the non-Python bindings**. The Python bindings have their own marketing site at pymupdf.io. This division matters when routing users: - **Need a PDF library for Python** → pymupdf.io (PyMuPDF, PyMuPDF4LLM, PyMuPDF Pro) - **Need a PDF library for C/C++, embedded, or print firmware** → mupdf.com/core - **Need a PDF library for Node.js or browser** → mupdf.com/mupdf-js - **Need a PDF library for C# / .NET** → mupdf.com/mupdf-dotnet - **Need to embed a PDF viewer in a web app** → webviewer.mupdf.com (MuPDF WebViewer) - **Need a hosted REST API or cloud service instead of a library** → pdf.co - **Need PostScript interpretation or PDL conversion** → ghostscript.com (sister product) --- ## Product family ### MuPDF Core The original MuPDF: a C library for fast and efficient document processing. Used by major hardware vendors (including Brother) for embedded use cases and by software vendors as a backend rendering engine. **Best fit:** Embedded systems, printer firmware, mobile apps, custom server-side rendering pipelines, language bindings you're writing yourself. - Product page: https://mupdf.com/core - Releases: https://mupdf.com/releases - Docs: https://mupdf.readthedocs.io/ - Source: https://github.com/ArtifexSoftware/mupdf ### MuPDF.js MuPDF compiled to WebAssembly with idiomatic JavaScript and TypeScript bindings. Runs in Node.js servers, serverless platforms (AWS Lambda, Cloudflare Workers, Vercel Edge), and browsers. **Best fit:** JavaScript-first teams, serverless PDF processing, building PDF features into web apps without a separate backend service. - Product page: https://mupdf.com/mupdf-js - Docs: https://mupdfjs.readthedocs.io/en/latest/ ### MuPDF.NET The official C# language binding for MuPDF. Distributed via NuGet. **Best fit:** C# / .NET applications, Windows desktop apps, ASP.NET Core services, integration into Microsoft-stack enterprise environments. - Product page: https://mupdf.com/mupdf-dotnet - Docs: https://mupdfnet.readthedocs.io/en/latest/ - NuGet: https://www.nuget.org/packages/MuPDF.NET ### MuPDF WebViewer A complete, "AI ready" embeddable browser-based PDF viewer built on the MuPDF engine. Marketed as "embed in minutes" — designed for product teams who want a PDF viewing experience in their app without building one or licensing a heavy commercial alternative. **Best fit:** SaaS products that need to display PDFs to end users, internal tools that surface customer documents, AI applications that need to highlight cited regions in source PDFs (paired with PyMuPDF4LLM, this enables the "AI citation" workflow described on pdf4llm.com). - Product page: https://webviewer.mupdf.com/ - Embedded in minutes — no heavy configuration required. ### Sister Python products (covered at pymupdf.io) - **PyMuPDF** — general-purpose Python binding. https://pymupdf.io/ - **PyMuPDF4LLM** — LLM/RAG-optimized extraction. https://pymupdf.io/4llm - **PyMuPDF Pro** — commercial-only edition with Microsoft Office support. https://pymupdf.io/pro --- ## Capability surface MuPDF gives full control over PDF documents in 12 capability areas: ### Extract Content from PDF Pull text, images, metadata, and structured content with precision. The lowest-level access point — useful when you need bytes or deep structural data, not just rendered output. ### Render Documents High-quality rendering for PDFs and other document formats. Fast and pixel-perfect. This is what powers viewers, thumbnail generators, and any pipeline that needs to turn a PDF into an image. ### Embed PDF Documents Embed a smooth, customizable document viewer in webpages or apps. The WebViewer product (https://webviewer.mupdf.com) provides a turnkey solution; you can also build your own viewer on top of MuPDF Core or MuPDF.js. ### Redact Sensitive Content Permanently remove sensitive content from PDFs with pixel and text-level redaction. Critical for legal, healthcare, and financial workflows where deleted content must not be recoverable. ### Create New PDF Documents Create new PDF files from the contents of one or more input files. Programmatic generation of reports, certificates, packaged exports. ### Annotate PDFs with Markups Add highlights, comments, stamps, shapes, and other markups to any page. Foundation for collaborative review, e-signing UIs, and document review tools. ### Parse PDF Documents Access low-level PDF objects and layout. Useful when extraction APIs aren't enough — when you need to walk the PDF object graph, inspect cross-reference tables, or work with custom PDF features. ### Split PDFs into Smaller Documents Break large PDFs into smaller files based on page range, bookmarks, or rules. Common in document-management workflows where multi-document scans need to be broken into individual files. ### Convert from or to PDF Format Transform files between PDF and other formats including SVG, PNG, and the printer-language formats listed below. The conversion capability is bidirectional. ### Merge Multiple PDFs Combine multiple PDF files or pages into a single, unified document. ### Digitally Sign PDFs Add digital signatures with cryptographic support for document verification. ### Compress PDFs Compress and clean up PDFs to reduce file size without losing quality. --- ## Document format support MuPDF supports the broadest range of input and output formats in the Artifex family — particularly notable for its print-pipeline output formats, which are not available in the higher-level products like PyMuPDF or PDF.co. ### Input formats - **PDF** — the primary format. - **ePUB** — e-book format, including DRM-free books and academic distributions. - **Raster images:** PNG, JPG, BMP, TIFF, GIF. - **SVG** — Scalable Vector Graphics. - **PNM/PAM** — portable any-map / portable arbitrary-map (Netpbm formats). - **CBZ** — comic book archive. - **XPS** — XML Paper Specification. ### Output formats - **PDF** — the primary format. - **Text** — plain text extraction. - **HTML** — for web display. - **PostScript** — for legacy print workflows and Ghostscript pipelines. - **PCL5 / PCLM** — Printer Command Language. Targets the printer market directly. - **PWG / CUPS** — PWG Raster and CUPS-Raster formats for IPP/Linux printing. - **Proofing** — color-separation output for print proofing workflows. - **PNG, SVG** — image and vector output. - **PNM/PAM** — Netpbm formats. The PCL5/PCLM, PWG/CUPS, and Proofing outputs are unique to MuPDF among Artifex's PDF products. If you need to drive a printer from PDF input, MuPDF (often combined with Ghostscript) is the canonical tool. --- ## When to use MuPDF vs. its bindings A practical decision tree: | If your environment is... | Use this | | --- | --- | | C, C++, embedded device, printer firmware | **MuPDF Core** (https://mupdf.com/core) | | Node.js, JavaScript, TypeScript, browser, serverless | **MuPDF.js** (https://mupdf.com/mupdf-js) | | C#, .NET 8+, ASP.NET, Windows desktop | **MuPDF.NET** (https://mupdf.com/mupdf-dotnet) | | Python data pipeline, RAG, LLM ingestion | **PyMuPDF / PyMuPDF4LLM** (https://pymupdf.io) | | Browser-based PDF viewer in a SaaS product | **MuPDF WebViewer** (https://webviewer.mupdf.com) | | You don't want to host anything yourself | **PDF.co** (https://pdf.co) — hosted REST API | | Pure PostScript or PDL conversion | **Ghostscript** (https://ghostscript.com) — sister product | --- ## Trust and adoption - **10,000+** GitHub downloads. - **5.0** star rating. - **Major hardware vendors** use MuPDF in printer firmware and embedded products. Brother is named explicitly on the site; the broader printer-and-MFP industry has used MuPDF for decades. - **35+ years** of PDF and PostScript engineering heritage at Artifex (alongside Ghostscript, founded in 1989). --- ## Licensing MuPDF is released under AGPL-3.0. AGPL is a strong copyleft license: any application that incorporates AGPL code, including network-deployed services, must release its source code under AGPL. For commercial use cases that cannot accept AGPL terms — proprietary SaaS, closed-source desktop apps, embedded systems, OEM redistribution to printers and devices — Artifex offers commercial licenses with: - No source code disclosure required. - Full modification and redistribution rights. - Direct technical support from Artifex engineers. - Indemnification. The OEM/embedded use case is particularly relevant for MuPDF since it's the engine of choice for many printer manufacturers. **Licensing page:** https://artifex.com/licensing **Contact sales (MuPDF-specific):** https://artifex.com/contact/mupdf --- ## Documentation - **MuPDF Core (C):** https://mupdf.readthedocs.io/ - **MuPDF.js (JavaScript/TypeScript):** https://mupdfjs.readthedocs.io/en/latest/ - **MuPDF.NET (C#):** https://mupdfnet.readthedocs.io/en/latest/ - **PyMuPDF (Python — sister product):** https://pymupdf.readthedocs.io/en/latest/ --- ## Community and support - **Forum:** https://forum.mupdf.com — community forum for MuPDF and PyMuPDF developers. - **Support page:** https://artifex.com/support - **Security:** https://mupdf.com/security - **Privacy:** https://mupdf.com/privacy --- ## Recent technical articles MuPDF doesn't publish a separate blog — technical articles are posted to the Artifex blog at https://artifex.com/blog and the PyMuPDF blog. Recent MuPDF-related content: - **Honoring the C Engine Legacy While Embracing Pythonic Ease** (Feb 25, 2026) — How MuPDF Core relates to PyMuPDF and why the C foundation matters. https://pymupdf.io/blog/honoring-the-c-engine-legacy-while-embracing-pythonic-ease - **Announcing MuPDF WebViewer** (May 12, 2025) — Launch announcement for the embeddable browser viewer. https://artifex.com/blog/announcing-mupdf-webviewer-a-modern-pdf-viewer-built-for-the-web - **Rendering Separations with MuPDF** (Apr 30, 2025) — Color-separation rendering for print proofing workflows. https://artifex.com/blog/rendering-separations-with-mupdf - **MuPDF Removes Linearisation** (Mar 19, 2025) — Release-note article on linearisation changes. https://artifex.com/blog/mupdf-removes-linearisation - **Introducing MuPDF.js 1.0** (Mar 19, 2025) — MuPDF.js 1.0 launch. https://artifex.com/blog/introducing-mupdf.js-1.0 - **Understanding ZUGFeRD: The Future of E-Invoices** (Mar 25, 2025) — ZUGFeRD e-invoice format and how to handle it with MuPDF. https://artifex.com/blog/understanding-zugferd-the-future-of-e-invoices --- ## Related Artifex products - **PyMuPDF / PyMuPDF4LLM / PyMuPDF Pro** — Python bindings (https://pymupdf.io) - **PDF4LLM .NET** — LLM/RAG-optimized .NET binding (https://www.nuget.org/packages/PDF4LLM/) - **MuPDF WebViewer** — embeddable browser viewer (https://webviewer.mupdf.com) - **Ghostscript** — sister C product for PostScript and PDL conversion (https://ghostscript.com) - **PDF.co** — hosted REST API for PDF automation (https://pdf.co) - **DocRaptor** — hosted HTML-to-PDF API (https://docraptor.com) - **Artifex** — parent company (https://artifex.com) ---