54,119
stars
+6
10,733
forks
1,088
watchers
11,220
prs
10,677
issues
91
releases
442
discussions
README
PDF.js
PDF.js is a Portable Document Format (PDF) viewer that is built with HTML5.
PDF.js is community-driven and supported by Mozilla. Our goal is to
create a general-purpose, web standards-based platform for parsing and
rendering PDFs.
Contributing
PDF.js is an open source project and always looking for more contributors. To
get involved, visit:
+ Issue Reporting Guide
+ Code Contribution Guide
+ Frequently Asked Questions
+ Good Beginner Bugs
+ Projects
Feel free to stop by our Matrix room for questions or guidance.
Getting Started
Online demo
Please note that the "Modern browsers" version assumes native support for the
latest JavaScript features; please also see this wiki page.
+ Modern browsers: https://mozilla.github.io/pdf.js/web/viewer.html
+ Older browsers: https://mozilla.github.io/pdf.js/legacy/web/viewer.html
[!NOTE]
Open new files via the menu (the "" icon) or by dragging and dropping.
Browser Extensions
Firefox
PDF.js is built into version 19+ of Firefox.
Chrome
+ The official extension for Chrome can be installed from the Chrome Web Store.
This extension is maintained by @Rob--W.
+ Build Your Own - Get the code as explained below and issue npx gulp chromium. Then open
Chrome, go to Tools Extension and load the (unpackaged) extension from the
directory build/chromium.
PDF debugger
Browse the internal structure of a PDF document with https://mozilla.github.io/pdf.js/internal-viewer/web/debugger.html
Getting the Code
To get a local copy of the current code, clone it using git:
$ git clone https://github.com/mozilla/pdf.js.git
$ cd pdf.js
Next, install Node.js via the official package or via
nvm. If everything worked out, install
all dependencies for PDF.js:
$ npm install
Finally, you need to start a local web server as some browsers do not allow opening
PDF files using a file:// URL. Run:
$ npx gulp server
and then you can open:
+ http://localhost:8888/web/viewer.html
Please keep in mind that this assumes the latest version of Mozilla Firefox; refer to Building PDF.js for non-development usage of the PDF.js library.
It is also possible to view all test PDF files on the right side by opening:
+ http://localhost:8888/test/pdfs/?frame
Building PDF.js
In order to bundle all src/ files into two production scripts and build the generic
viewer, run:
$ npx gulp generic
If you need to support older browsers, run:
$ npx gulp generic-legacy
This will generate pdf.js and pdf.worker.js in the build/generic/build/ directory (respectively build/generic-legacy/build/).
Both scripts are needed but only pdf.js needs to be included since pdf.worker.js will
be loaded by pdf.js. The PDF.js files are large and should be minified for production.
Code coverage
We track how much of the code is exercised by the test suite on
Codecov (see the badge at the top of this
file).
How it is collected
When coverage is enabled, the build instruments the bundled code with
babel-plugin-istaTop issues
#2750Print is fuzzy/blurry46 comments · 2013-02-20#3351White lines though images on certain pdfs30 comments · 2013-06-08#13707XFA - Support tiff images26 comments · 2021-07-09#17921Mimic "Google Scholar PDF Reader" features24 comments · 2024-04-10#1260Marquee Zoom Feature24 comments · 2012-02-21#6419Implement tiling of canvas into smaller pieces20 comments · 2015-09-04#3809This PDF takes almost a full minute to load completely17 comments · 2013-10-15#2843Zoom parameter implemented "upside-down"17 comments · 2013-02-28
Discussions
#22428Thank you for sharing!0 comments · 2026-11-03#22224FolioCove: browser PDF workflows with PDF.js previews and reproducible sample outputs0 comments · 2026-10-17#22048DeckDelta: reviewing changed PDF decks even when slides move0 comments · 2026-10-01#21946Painting is significantly slower (UI freezes) in Chrome/Chromium when viewing issue20722.pdf1 comments · 2026-09-13#21869How to open ALL PDF links in a new tab in Firefox?1 comments · 2026-09-02#21852Built a privacy-first PDF tool suite using PDF.js - client-side only, no uploads2 comments · 2026-08-31#21697Built PDF Master Studio – A Full PDF Editor Powered by PDF.js ⭐3 comments · 2026-08-03#21506Add rotation to text annotation0 comments · 2026-06-26
Latest release
v6.5.438 v6.5.438 2026-11-01This release contains improvements for accessibility, annotation editing, annotation rendering, font conversion, image conversion, performance, scripting, tiling pattern rendering and the viewer. Changes since v6.4.299 Bump the stable version in pdfjs.config by @timvandermeij in https://github.com/mozilla/pdf.js/pull/22066 Fix a few edge cases when converting RGB images in convertRGBToRGBA and ImageResizer by @calixteman in https://github.com/mozilla/pdf.js/pull/22046 Directly call Set.prototype.delete in the ChunkedStreamManager code by @Snuffleupagus in https://github.com/mozilla/p