{"slug": "mupdf", "name": "MuPDF", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 10, "warners": 1, "score": 3.025, "rising": -1.31, "first": "2025-12-04", "latest": "2026-10-22", "why": "MuPDF is an excellent PDF reader, the fastest that I have ever tested.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 4, "compare": 3, "warn": 1}, "spark": [0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "MuPDF is an excellent PDF reader, the fastest that I have ever tested.", "kind": "", "icon": false, "domain": null, "github_repo": null, "official_url": "https://mupdf.com/", "pricing": "", "aliases": ["MuPDF"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 768993136, "item_id": 48062071, "url": "https://news.ycombinator.com/item?id=48062071", "by": "adrian_b", "date": "2026-05-08", "stance": "recommend", "quote": "On Linux, mupdf is a decent EPUB reader, which is very fast", "excerpt": "HTML and EPUB work not great, but very badly for scientific or technical papers or books. No two readers render them alike, and they typically are much uglier and more difficult to use than books (sometimes even the same book) in PDF, DJVU or ODT formats. I read a very large quantity of technical documentation and I always avoid EPUB and HTML like the plague. I use such formats only when there is no alternative. On L", "context": "", "use_case": "EPUB reading", "switched_from": "", "story": "The surprisingly complex journey to text-selectable client-side generated PDFs"}, {"id": 747529952, "item_id": 46720622, "url": "https://news.ycombinator.com/item?id=46720622", "by": "adrian_b", "date": "2026-01-22", "stance": "recommend", "quote": "MuPDF is an excellent PDF reader, the fastest that I have ever tested.", "excerpt": "Yes, I do not see any source of financial gain that could motivate them for this, because both MuPDF and Ghostscript are free. MuPDF is an excellent PDF reader, the fastest that I have ever tested. There are plenty of big PDF files where most other readers are annoyingly slow. It is my default PDF and EPUB reader, except that in very rare cases I encounter PDF files which MuPDF cannot understand, when I use other PDF", "context": "", "use_case": "PDF and EPUB reading", "switched_from": "", "story": "ISO PDF spec is getting Brotli \u2013 ~20 % smaller documents with no quality loss"}, {"id": 745051392, "item_id": 46565712, "url": "https://news.ycombinator.com/item?id=46565712", "by": "aidos", "date": "2026-01-10", "stance": "recommend", "quote": "I recommend mutool for decompressing the PDF", "excerpt": "You can replace objects in PDF documents. A PDF is mostly just a bunch of objects of different types so the readers know what to do with them. Each object has a numbered ID. I recommend mutool for decompressing the PDF so you can read it in a text editor: mutool clean -d in.pdf out.pdf If you look below you can see a Pages list (1 0 obj) that references (2 0 R) a Page (2 0 obj). 1 0 obj << /Type /Pages /Count 1 /Kids", "context": "", "use_case": "decompressing PDFs for inspection", "switched_from": "", "story": "New information extracted from Snowden PDFs through metadata version analysis"}, {"id": 743029664, "item_id": 46439354, "url": "https://news.ycombinator.com/item?id=46439354", "by": "forgotpwd16", "date": "2025-12-30", "stance": "recommend", "quote": "Mutool extracts the text just fine.", "excerpt": "Yeah, sorry for confusion. When said Unicode, meant foreign text rather (just) the unescaped symbols, e.g. Greek. At one random Greek textbook[0], zpdf output is (extract | head -15): 01F9020101FC020401F9020301FB02070205020800030209020701FF01F90203020901F9012D020A0201020101FF01FB01FE0208 0200012E0219021802160218013202120222 0209021D0212021D012E013202200222000301FA021A0220021C022002160213012E0222000F000301F90206012C 0", "context": "", "use_case": "PDF text extraction", "switched_from": "", "story": "Zpdf: PDF text extraction in Zig \u2013 8x faster than MuPDF"}, {"id": 738438211, "item_id": 46152388, "url": "https://news.ycombinator.com/item?id=46152388", "by": "anthk", "date": "2025-12-04", "stance": "recommend", "quote": "I'm using 1GB with TWM, DIllo, TUI tools, XTerm, MuPDF", "excerpt": "I'm using 1GB with TWM, DIllo, TUI tools, XTerm, MuPDF and the like. As most tools are small from https://t3x.org, https://luxferre.top and https://howerj.github.io/subleq.htm with EForth, (and I try to use cparser instead of) clang, my requeriments are really tiny. You can achieve a lot by learning Klong and reading the intro on statistics. And xargs to paralelize stuff. Oh, and vidir to edit directories at crazy sp", "context": "", "use_case": "Lightweight PDF viewer", "switched_from": "", "story": "The RAM shortage comes for us all"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 756591209, "item_id": 47286950, "url": "https://news.ycombinator.com/item?id=47286950", "by": "GrimLabs", "date": "2026-03-07", "stance": "warn", "quote": "MuPDF is AGPL and would poison the license", "excerpt": "Built this because I was paying $45/user/month for DocSend to share pitch decks. That's it. Serve pages as images, count the views, charge a fortune. Papermark is the obvious open-source answer but it's AGPL -- if you want to embed a secure doc viewer in a commercial product, that's a dealbreaker. And there's no npm package for this anywhere. If you want secure document viewing in your app today, you're writing it fr", "context": "", "use_case": "", "switched_from": "", "story": "CloakShare \u2013 Open-source DocSend alternative with video streaming (MIT)"}]}], "who": [{"by": "anthk", "context": "HP Mini netbook user", "url": "https://news.ycombinator.com/item?id=48956423", "date": "2026-07-18"}], "tags": [], "use_cases": ["pdf viewing", "pdf text extraction", "pdf rendering", "epub reading", "pdf and epub reading", "decompressing pdfs for inspection"], "compared": [{"slug": "dillo", "name": "Dillo", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "mpv", "name": "mpv", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46437288", "title": "Zpdf: PDF text extraction in Zig \u2013 8x faster than MuPDF", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=47563103", "title": "Show HN: Free, in-browser PDF editor", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50186010", "title": "Rust Style Guide", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48907063", "title": "Reviving a 15-year-old netbook with Arch Linux", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48276411", "title": "item 48276411", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48045778", "title": "The surprisingly complex journey to text-selectable client-side generated PDFs", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 2, "compare": 2}, "2026-01": {"recommend": 2}, "2026-02": {}, "2026-03": {"warn": 1, "neutral": 1, "compare": 1}, "2026-04": {}, "2026-05": {"recommend": 1, "neutral": 1}, "2026-06": {}, "2026-07": {"neutral": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {"neutral": 1}}, "quotes": [{"id": 803135558, "item_id": 50195972, "url": "https://news.ycombinator.com/item?id=50195972", "by": "anthk", "date": "2026-10-22", "stance": "neutral", "quote": "same with MupDF, sxiv for images and MPV", "excerpt": "I love Unix and C, and I use Hyperbola GNU/LInux daily, but if the current AI stance on security is like the one frmo cyberpunk movies, keeping my N270 based netbook with hbola just barely connected (or with NPF rules with just I2PD and YGG networks enabled) and getting mail/usenet in batch mode will be the norm, because my biggie AMD64 Intel NUC machine for sure will be more and more Rust bound, at least for work/se", "context": "", "use_case": "PDF viewing", "switched_from": "", "story": "Rust Style Guide"}, {"id": 783302772, "item_id": 48956423, "url": "https://news.ycombinator.com/item?id=48956423", "by": "anthk", "date": "2026-07-18", "stance": "neutral", "quote": "I use Flubox+UXTerm+a bunch of CLI/TUI tools among mpv, nsxiv and mupdf.", "excerpt": "HP mini there, with ZRAM it's really fast. I use Flubox+UXTerm+a bunch of CLI/TUI tools among mpv, nsxiv and mupdf. The OS I use it's hyperbola GNU/Linux, A bit outdated but most modern stuff it's compiled from source. For gaming I have mednafen, frotz, pcsxr, Flare RPG (git), GearHead 1 and 2 and a few more. Oh, and Scummvm with games from Blade Runner to Ultima I-IV, Technobabylon, Virtuaverse, The Longest Journey,", "context": "HP Mini netbook user", "use_case": "PDF viewing", "switched_from": "", "story": "Reviving a 15-year-old netbook with Arch Linux"}, {"id": 772422593, "item_id": 48276412, "url": "https://news.ycombinator.com/item?id=48276412", "by": "vincent-uden", "date": "2026-05-26", "stance": "neutral", "quote": "With some small upstream contributions to mupdf", "excerpt": "Miro is a native pdf viewer for Windows and Linux (and macOS) built with iced and mupdf-rs. Following some momentum from the last update we've managed to push out another release! This one contains two long await features; searching through documents and reading annotations (or comments). As with most PDF readers, searching through the document is done via plain text but in this case can also use regular expressions!", "context": "", "use_case": "PDF rendering", "switched_from": "", "story": null}, {"id": 768993136, "item_id": 48062071, "url": "https://news.ycombinator.com/item?id=48062071", "by": "adrian_b", "date": "2026-05-08", "stance": "recommend", "quote": "On Linux, mupdf is a decent EPUB reader, which is very fast", "excerpt": "HTML and EPUB work not great, but very badly for scientific or technical papers or books. No two readers render them alike, and they typically are much uglier and more difficult to use than books (sometimes even the same book) in PDF, DJVU or ODT formats. I read a very large quantity of technical documentation and I always avoid EPUB and HTML like the plague. I use such formats only when there is no alternative. On L", "context": "", "use_case": "EPUB reading", "switched_from": "", "story": "The surprisingly complex journey to text-selectable client-side generated PDFs"}, {"id": 761093330, "item_id": 47568333, "url": "https://news.ycombinator.com/item?id=47568333", "by": "kevlened", "date": "2026-03-29", "stance": "compare", "quote": "instead of MuPDF (AGPL)", "excerpt": "For those looking for an MIT alternative, there's an embeddable solution which uses PDFium (Apache) compiled to wasm instead of MuPDF (AGPL): https://www.embedpdf.com/ There's a hosted version for quick edits: https://app.embedpdf.com/ Discussion from several months ago: https://news.ycombinator.com/item?id=44901683 Neither fully handles XFA, but that's a perennial struggle.", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Free, in-browser PDF editor"}, {"id": 761058273, "item_id": 47566142, "url": "https://news.ycombinator.com/item?id=47566142", "by": "colesantiago", "date": "2026-03-29", "stance": "neutral", "quote": "uses MuPDF under the hood which uses an AGPL license", "excerpt": "Note that this \"free\" PDF editor uses MuPDF under the hood which uses an AGPL license with the desktop version is being commercial. Unless BreezePDF is open source, (it is not) it is in violation of MuPDFs AGPL license. https://news.ycombinator.com/item?id=47556806 https://artifex.com/licensing", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Free, in-browser PDF editor"}, {"id": 756591209, "item_id": 47286950, "url": "https://news.ycombinator.com/item?id=47286950", "by": "GrimLabs", "date": "2026-03-07", "stance": "warn", "quote": "MuPDF is AGPL and would poison the license", "excerpt": "Built this because I was paying $45/user/month for DocSend to share pitch decks. That's it. Serve pages as images, count the views, charge a fortune. Papermark is the obvious open-source answer but it's AGPL -- if you want to embed a secure doc viewer in a commercial product, that's a dealbreaker. And there's no npm package for this anywhere. If you want secure document viewing in your app today, you're writing it fr", "context": "", "use_case": "", "switched_from": "", "story": "CloakShare \u2013 Open-source DocSend alternative with video streaming (MIT)"}, {"id": 747529952, "item_id": 46720622, "url": "https://news.ycombinator.com/item?id=46720622", "by": "adrian_b", "date": "2026-01-22", "stance": "recommend", "quote": "MuPDF is an excellent PDF reader, the fastest that I have ever tested.", "excerpt": "Yes, I do not see any source of financial gain that could motivate them for this, because both MuPDF and Ghostscript are free. MuPDF is an excellent PDF reader, the fastest that I have ever tested. There are plenty of big PDF files where most other readers are annoyingly slow. It is my default PDF and EPUB reader, except that in very rare cases I encounter PDF files which MuPDF cannot understand, when I use other PDF", "context": "", "use_case": "PDF and EPUB reading", "switched_from": "", "story": "ISO PDF spec is getting Brotli \u2013 ~20 % smaller documents with no quality loss"}, {"id": 745051392, "item_id": 46565712, "url": "https://news.ycombinator.com/item?id=46565712", "by": "aidos", "date": "2026-01-10", "stance": "recommend", "quote": "I recommend mutool for decompressing the PDF", "excerpt": "You can replace objects in PDF documents. A PDF is mostly just a bunch of objects of different types so the readers know what to do with them. Each object has a numbered ID. I recommend mutool for decompressing the PDF so you can read it in a text editor: mutool clean -d in.pdf out.pdf If you look below you can see a Pages list (1 0 obj) that references (2 0 R) a Page (2 0 obj). 1 0 obj << /Type /Pages /Count 1 /Kids", "context": "", "use_case": "decompressing PDFs for inspection", "switched_from": "", "story": "New information extracted from Snowden PDFs through metadata version analysis"}, {"id": 743068145, "item_id": 46441759, "url": "https://news.ycombinator.com/item?id=46441759", "by": "fainpul", "date": "2025-12-30", "stance": "compare", "quote": "", "excerpt": "These vibe coded tests are terrible: https://github.com/Lulzx/zpdf/blob/main/python/tests/test_zpdf.py", "context": "", "use_case": "", "switched_from": "", "story": "Zpdf: PDF text extraction in Zig \u2013 8x faster than MuPDF"}, {"id": 743029664, "item_id": 46439354, "url": "https://news.ycombinator.com/item?id=46439354", "by": "forgotpwd16", "date": "2025-12-30", "stance": "recommend", "quote": "Mutool extracts the text just fine.", "excerpt": "Yeah, sorry for confusion. When said Unicode, meant foreign text rather (just) the unescaped symbols, e.g. Greek. At one random Greek textbook[0], zpdf output is (extract | head -15): 01F9020101FC020401F9020301FB02070205020800030209020701FF01F90203020901F9012D020A0201020101FF01FB01FE0208 0200012E0219021802160218013202120222 0209021D0212021D012E013202200222000301FA021A0220021C022002160213012E0222000F000301F90206012C 0", "context": "", "use_case": "PDF text extraction", "switched_from": "", "story": "Zpdf: PDF text extraction in Zig \u2013 8x faster than MuPDF"}, {"id": 743011376, "item_id": 46438211, "url": "https://news.ycombinator.com/item?id=46438211", "by": "mpeg", "date": "2025-12-30", "stance": "compare", "quote": "the licensing is a huge blocker for using mupdf in non-OSS tools", "excerpt": "very nice, it'd be good to see a feature comparison as when I use mupdf it's not really just about speed, but about the level of support of all kinds of obscure pdf features, and good level of accuracy of the built-in algorithms for things like handling two-column pages, identifying paragraphs, etc. the licensing is a huge blocker for using mupdf in non-OSS tools, so it's very nice to see this is MIT python bindings ", "context": "", "use_case": "PDF text extraction", "switched_from": "", "story": "Zpdf: PDF text extraction in Zig \u2013 8x faster than MuPDF"}, {"id": 738438211, "item_id": 46152388, "url": "https://news.ycombinator.com/item?id=46152388", "by": "anthk", "date": "2025-12-04", "stance": "recommend", "quote": "I'm using 1GB with TWM, DIllo, TUI tools, XTerm, MuPDF", "excerpt": "I'm using 1GB with TWM, DIllo, TUI tools, XTerm, MuPDF and the like. As most tools are small from https://t3x.org, https://luxferre.top and https://howerj.github.io/subleq.htm with EForth, (and I try to use cparser instead of) clang, my requeriments are really tiny. You can achieve a lot by learning Klong and reading the intro on statistics. And xargs to paralelize stuff. Oh, and vidir to edit directories at crazy sp", "context": "", "use_case": "Lightweight PDF viewer", "switched_from": "", "story": "The RAM shortage comes for us all"}]}