Firefox has a built-in PDF viewer and PDF generation capabilities that are worth knowing. Here's a complete guide to working with PDFs in Firefox.
Firefox's PDF Viewer
Firefox uses PDF.js, Mozilla's own JavaScript-based PDF renderer. It handles most PDFs well and has improved significantly in recent versions.
Navigation Shortcuts
When a PDF is open:
-
Ctrl+F— Find text within the PDF - Arrow keys — Scroll
-
Ctrl+Home/End— Jump to start/end -
Ctrl++/-— Zoom in/out -
Ctrl+0— Fit to page
View Modes
The toolbar at the top of PDF.js provides:
- Page navigation (page number, arrows)
- Zoom dropdown (fit width, fit height, specific %)
- Reading mode (reduces to minimal toolbar)
- Download
Text Selection and Copy
Click and drag to select text in the PDF. Ctrl+C to copy. This works for text PDFs (OCR or digitally created). Scanned image PDFs won't have selectable text.
PDF Annotations (Firefox 116+)
Firefox 116 added annotation support to PDF.js:
Available tools (in the toolbar):
- Text highlight — Select text, apply highlight color (yellow, red, green, blue)
- Free text — Click anywhere to add a text comment
- Freehand draw — Draw freely
- Sticky note — Add a note attached to a position
Annotations are saved in the PDF file when you download it using the toolbar download button. The downloaded PDF includes your annotations in a format compatible with other PDF viewers (Adobe Reader, etc.).
Annotation Workflow
- Open a PDF in Firefox
- Add highlights, notes, drawings
- Click the download icon in the PDF toolbar
- Save the file — annotations are embedded
Important: Clicking "Download" from the browser toolbar (the page-level download button) saves the original without annotations. Use the PDF.js toolbar download button inside the PDF viewer.
Saving Pages as PDF
The most reliable way to save any web page as PDF in Firefox:
Method 1: Print to PDF
-
Ctrl+P(Print) - "Print to PDF" → More Settings → adjust
- Set destination to "Save to PDF"
Options in print dialog:
- Pages: All, or specific range
- Layout: Portrait/Landscape
- Headers and footers: Toggle, customize
- Margins
- Background graphics: Include or exclude (toggle for cleaner PDFs)
- Scale
Method 2: Print to PDF from Reader Mode
- Open page in Reader Mode (
F9) -
Ctrl+P→ Save to PDF
This produces a much cleaner PDF — no navigation, ads, or sidebars.
Print CSS Optimization
For developers: customize how your pages print/PDF-export:
@media print {
/* Hide non-content elements */
header, nav, footer, .sidebar, .advertisement {
display: none !important;
}
/* Page layout */
@page {
margin: 2cm;
}
/* Avoid breaking inside these elements */
.code-block, blockquote {
page-break-inside: avoid;
}
/* Force page break before major sections */
h1 {
page-break-before: always;
}
/* Expand URLs in links for printing */
a[href]::after {
content: " (" attr(href) ")";
font-size: 0.8em;
}
}
Testing in Firefox: Ctrl+P → Print preview shows your print styles. No need to actually print.
PDF.js Configuration
A few about:config settings for PDF behavior:
pdfjs.disabled = false (true to disable PDF.js and use external viewer)
pdfjs.defaultZoomValue (set default zoom: "page-width", "page-height", "auto", or "100")
pdfjs.spreadModeOnLoad (0=single pages, 1=odd spreads, 2=even spreads)
pdfjs.scrollModeOnLoad (0=vertical, 1=horizontal, 2=wrapped)
To open PDFs in an external application instead of Firefox:
Settings → General → Applications → "Portable Document Format (PDF)" → Choose "Open with…"
Handling PDFs from the Web
When a link would open a PDF, right-click → "Save Link As" to download without viewing.
Or in Settings → General → Downloads → you can configure behavior for PDF file types.
PDF Accessibility
Firefox's PDF viewer supports accessible navigation for screen readers. The tab order follows the PDF's logical structure when marked. For accessibility-focused PDF review, the built-in viewer works well.
Large PDFs
Very large PDFs (hundreds of pages, vector graphics-heavy) may be slow in PDF.js. If performance is an issue:
- Disable PDF.js temporarily:
pdfjs.disabled = trueinabout:config - Open with your system PDF viewer instead
- Re-enable: set
pdfjs.disabled = false
Alternatively, download the PDF and open with a native viewer for heavy documents.
Combining with Tab Manager
For research workflows reading multiple PDFs:
- Open several PDFs in separate tabs
- Tab Manager & Session Saver can save these as a named session
- "research-project-pdfs" session restores all PDF tabs
This is particularly useful when reviewing documentation or academic papers that reference each other — keep the context as a saved session.
Top comments (0)