Skip to content

Mu PDF

Lightweight PDF, XPS, and E-book viewer and toolkit.

Self-hostedNot yet verified
Report issueDemo online
MIT

Open the official app on mupdf.com

This tool is hosted by its maintainers. Click below to open mupdf.com in a new tab — it's their official demo.

Browse pdf & tools tools →

What's next with Mu PDF?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is Mu PDF?

MuPDF is an open-source library designed for efficient management of PDF documents and other document formats. It provides developers with tools to handle tasks such as viewing, editing, extracting content, and rendering documents with high precision. The project is widely used by software engineers, developers, and organizations requiring PDF handling capabilities. MuPDF addresses the challenge of managing complex document formats by offering a fast, embeddable SDK that supports multiple programming languages. Its lightweight architecture and focus on performance make it suitable for applications where speed and resource efficiency are critical. The library’s ability to handle both PDF and non-PDF formats expands its utility beyond traditional document processing, enabling integration into diverse software ecosystems. By prioritizing speed and flexibility, MuPDF solves the problem of slow or cumbersome document management in applications ranging from web viewers to data extraction tools.

How it works

MuPDF is a C-based core library with bindings for Python, JavaScript, C#, and other languages. It enables developers to embed PDF and document processing capabilities into applications, prioritizing speed and efficiency. The library is maintained under the AGPL-3.0 license, with commercial licenses available for enterprise use. Its primary purpose is to provide a comprehensive toolkit for manipulating PDFs, including rendering, content extraction, redaction, and annotation. MuPDF’s modular design allows integration into both desktop and web applications, making it a versatile solution for document management. MuPDF supports high-quality rendering of PDFs and other formats, with pixel-perfect accuracy. It enables extraction of text, images, metadata, and structured content, ideal for data processing workflows. The library also includes redaction tools to permanently remove sensitive information at both text and pixel levels.

How to use it

  1. 1Select a MuPDF release (core library, PyMuPDF, or language-specific bindings) from the official repository. 2. Install via package managers like apt or vcpkg, or build from source using the provided documentation. 3. Integrate the library into your project by linking the core C library or using bindings for Python/JavaScript. 4. Implement features such as rendering, extraction, or redaction using the API documentation. Practical tips: Verify AGPL compliance for open-source use; consult the GitHub documentation for language-specific examples. For web integration, use MuPDF.js with Node.js or TypeScript projects.

What it can do

  • pdf library

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/ArtifexSoftware/mupdf
  • license: AGPL-3.0 — free to use
  • privacy: Self-hosted — you control your data

Limitations

  • AGPL-3.0 license requires commercial users to contact Artifex for commercial licenses
  • Limited native support for non-PDF formats beyond basic document handling
  • No built-in graphical user interface (GUI) tools for direct document manipulation
  • Performance may degrade with extremely large or complex PDF files
  • Lack of real-time collaboration features for shared document editing

Understanding the result

Lightweight PDF, XPS, and E-book viewer and toolkit.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by (MIT).
Built with
(ArtifexSoftware/mupdf)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Query
Output
Text
Open-source source & license

Built with ArtifexSoftware/mupdf. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

What is MuPDF and what does it do?

MuPDF is an open-source library for managing PDF documents and other formats. It provides tools for viewing, editing, extracting content, rendering, redacting, and creating PDFs. Developers use it to integrate document processing capabilities into applications, prioritizing speed and efficiency across platforms.

How does MuPDF handle PDF rendering and content extraction?

MuPDF uses a fast, low-level C library to parse and render PDFs with pixel-perfect accuracy. It extracts text, images, and metadata by analyzing the document’s internal structure. The PyMuPDF binding simplifies this process in Python, allowing developers to programmatically access and manipulate document content.

How do I extract text from a PDF using MuPDF?

Install PyMuPDF via pip, then use code like `import fitz; doc = fitz.open('file.pdf'); text = doc.get_text()` to extract text. For images, use `doc.get_images()` to retrieve embedded graphics. Adjust parameters like `page.get_text()` for specific page content.

How does MuPDF compare to alternatives like PDF.js or Poppler?

MuPDF is optimized for speed and low resource usage, making it ideal for embedded systems. PDF.js (Mozilla) focuses on web-based PDF viewing with JavaScript, while Poppler (based on xpdf) emphasizes command-line tools. MuPDF’s bindings for multiple languages offer broader integration flexibility compared to PDF.js’s web-only scope.

How do I resolve errors when rendering large PDFs?

Large files may exceed memory limits; try splitting documents or using the `--max-heap` flag during compilation. For rendering issues, verify the PDF’s structure for corrupted data. Use the `--no-embed` option to disable embedded fonts, or upgrade to a newer MuPDF version for improved handling of complex files.

Spotted something wrong with Mu PDF, or want to maintain it? See how to help.