PDF Viewer
Free PDF viewer in your browser: real PDF.js canvas with page navigation, zoom, fit-width, rotate, print, plus a page-size readout (A4/Letter). No upload.
About PDF Viewer
PDF (Portable Document Format) is the most widely used document format in the world — ISO 32000-2 standardized, immutable across platforms, and embedded in every operating system and major web browser. This viewer renders each page to a real HTML canvas using Mozilla's PDF.js engine, which parses the raw byte stream entirely in JavaScript without uploading the file anywhere. You get working page navigation (first/previous/next/last buttons, a jump-to-page box, and keyboard left/right arrows), zoom in/out (25% to 400%) with Fit-to-Width and Fit-to-Page presets, Ctrl+Mouse-Wheel zoom over the page, 90-degree rotate left/right, fullscreen, one-click print of the current page, and download of the untouched original — all while the file stays on your device. A live page-size readout reports the exact geometry of each page in millimetres and inches and names the standard format (A4, A3, A5, Letter, Legal, Tabloid) with portrait or landscape orientation, so print shops, designers, and document controllers can confirm a document will print at the intended paper size before sending it out. Compatible with PDF 1.4 through 2.0 including text, images, forms, annotations, and embedded fonts.
How do I check a PDF's page size and orientation before printing?
Open the PDF and look at the Page Size field that appears next to File Name, File Size, and Total Pages. As you navigate, it reports the geometry of the current page in millimetres and inches and names the standard format — for example 'A4 Portrait - 210 x 297 mm (8.27 x 11.69 in)' or 'Letter Landscape - 279 x 216 mm (11.00 x 8.50 in)'. It detects A3, A4, A5, US Letter, Legal, and Tabloid within a 2 mm tolerance and falls back to 'Custom' for non-standard pages. This is the single most useful check before sending a job to a print shop: the number-one reason print jobs are rejected or reprinted is wrong page size or orientation (A4 supplied where US Letter was expected, or a landscape page rotated the wrong way). Because rotation is applied before the readout is calculated, rotating the page also updates the reported orientation, so you can confirm exactly how each page will land on paper. If pages within one file differ (a mixed A4/A3 booklet), step through them to verify each one rather than trusting only the first page.
How is browser PDF viewing different from Adobe Acrobat Reader?
Browser viewers (Chrome's built-in, Firefox's PDF.js, this tool) render the visual document and handle navigation, but they intentionally exclude the heavyweight features of Adobe Reader: digital signature verification with certificate trust chains, JavaScript-driven dynamic forms (XFA), full Acroform editing with field validation, document encryption/decryption with user passwords, accessibility tagging analysis, and 3D model rendering (U3D, PRC). For pure reading and printing, browser viewers are faster, lighter, and far more secure — Adobe Reader has historically been a major attack vector due to its enormous attack surface. For signing PDFs, editing complex forms, or auditing accessibility, use Adobe Acrobat Pro, PDF-XChange Editor, or Foxit. For everything else, the browser is the better choice.
Why does my PDF look different in this viewer compared to Adobe Reader?
Three common reasons: (1) Font substitution — PDFs reference fonts that may not be embedded. Adobe Reader has a built-in font database for common fonts (Helvetica, Times, Courier); PDF.js substitutes from web-safe fallbacks, which can shift text wrapping and line breaks. PDFs created with 'Embed all fonts' enabled render identically everywhere. (2) Color profiles — printed PDFs in CMYK render slightly differently from RGB in browsers; this matters for designers but not for reading. (3) Form fields and annotations may render differently because PDF.js implements a subset of the spec. For pixel-perfect rendering matching the original author's intent, view in the same software that created the file or use Adobe Reader.
Can I extract text or search inside the PDF here?
Currently this viewer focuses on visual rendering and navigation. For full-text search inside a PDF, use Ctrl+F (Cmd+F on Mac) in Chrome or Firefox's built-in PDF viewer, which supports find-in-page on text-layer PDFs. If your PDF is a scanned image with no text layer (common for archival documents), you need OCR first — try our PDF to Text or PDF to Markdown tools which run Tesseract OCR in the browser to extract searchable text from scanned PDFs. To extract specific pages, use our PDF Split or Extract PDF Pages tool. The text layer of a born-digital PDF (created from Word, LaTeX, etc.) is searchable instantly; image-based scans require OCR processing first.

What is the maximum PDF size I can view?
Our hard limit is 50 MB to ensure smooth rendering on mobile devices and slow connections. In practice, PDF.js handles much larger files (up to several hundred MB) on desktop browsers, but memory pressure grows quickly with embedded high-resolution images. The most demanding PDFs are scanned books at 300 DPI color where each page can be 5-10 MB; a 100-page book hits the 50 MB limit fast. To view larger PDFs, you can: (1) compress the PDF first using our Compress PDF tool which can reduce sizes by 50-80% with negligible quality loss; (2) split the PDF into chunks with our Split PDF tool; (3) open it in your OS's native viewer (macOS Preview, Windows Edge browser) which has no size limit.
Why do scanned PDFs render slower than digital PDFs?
A scanned PDF is fundamentally a wrapper around JPEG, PNG, or JBIG2 images — one image per page. PDF.js must decode each image at the requested zoom level, which is CPU-intensive. A born-digital PDF created from Word or InDesign stores text and vector graphics, which render almost instantly at any zoom. The performance gap can be 50-100x for visually similar pages. To speed up scanned-PDF viewing: (1) reduce image DPI from 600 to 300 before saving (300 DPI is print-quality); (2) use grayscale instead of color where possible (3x smaller); (3) run OCR which often allows the source PDF to be reauthored with searchable text and lower-resolution images via 'OCR and replace images' in Adobe Acrobat or ABBYY FineReader.
Is it possible to view password-protected PDFs?
PDF encryption uses two passwords: a user password to open the document, and an owner password to modify it (print, copy text, etc.). PDF.js supports decrypting user-password-protected PDFs but most embedded viewers (including this one) skip that feature for simplicity. To view a password-protected PDF here, first remove the password using our Unlock PDF tool, which prompts for the password locally and outputs an unlocked copy without uploading. Owner-password-only PDFs (where you can open but not edit/print) are even easier — those restrictions are advisory and most full-featured PDF tools (including Acrobat with the user password, qpdf CLI, or our Unlock PDF) bypass them in seconds. For high-security PDFs encrypted with AES-256 and an unknown password, no tool can recover the contents without the key.
Can I view PDFs with embedded JavaScript or interactive forms?
PDF.js supports static form rendering (you can see fields and their default values) and basic AcroForm interaction (clicking checkboxes, filling text fields) but does NOT execute embedded JavaScript or render XFA dynamic forms. XFA forms (used by some government, tax, and enterprise PDFs from Adobe LiveCycle) require Adobe Reader specifically — Chrome and Firefox display them as plain forms missing dynamic behavior. JavaScript in PDFs is mostly used for client-side form validation and is intentionally not executed in browser viewers for security reasons (PDF JS has been a historic source of zero-day vulnerabilities). If you receive a PDF that says 'Please open this in Adobe Reader' or shows missing fields, the document depends on XFA or PDF JavaScript and you need the official Adobe Reader to interact with it fully.
