PDF Viewer Online — open any PDF in your browser
Free online PDF viewer that opens any .pdf file directly in your browser. Drag & drop, pick a file, or paste a URL — get full page navigation, zoom, full-text search, thumbnails, rotate, print and download. Powered by Mozilla's PDF.js. Your file never leaves your device.
Open a PDF to start
Drag & drop a PDF here, click Open file, or paste a URL. Everything stays in your browser.
When to use the online PDF viewer
Private documents
Open a contract, payslip, medical report or invoice without uploading it to any cloud — the file is rendered locally in your browser.
No Acrobat install
You're on a borrowed laptop, a Chromebook, an Android tablet — no Adobe Reader. Just open the page, drop the PDF, read.
Search a big PDF
Find every mention of a name, clause or keyword across hundreds of pages — match list with page numbers, click to jump.
Mobile-friendly read
Tap-friendly toolbar, responsive page layout, fit-width zoom — far nicer than the OS default PDF preview on small screens.
Open from URL
Paste a direct CORS-allowed PDF URL — handy for viewing a paper from arXiv, a doc from a Notion page, or a PDF from GitHub Raw.
Print or save as PDF
Browser print dialog with one click — works as "Save as PDF" if you need to re-export.
How to view a PDF online
Open the file
Drag & drop the PDF onto the viewer, click Open file, or paste a CORS-allowed URL via the URL button.
Navigate
Use the page input or chevrons to jump pages, or scroll continuously. The thumbnail sidebar lets you skim by sight.
Zoom & rotate
Plus / minus buttons step zoom 25% – 400%. Fit width sizes the page to the viewport; Fit page shows the whole page. The rotate button rotates all pages 90°.
Search
Open the search bar (magnifier icon), type a query, press Enter. Matches across every page are listed with page numbers; click chevrons or Enter to jump to the next match.
Print or download
Print opens the browser dialog (choose "Save as PDF" to re-export). Download saves the original file untouched.
About the HCODX online PDF viewer
This is a real, in-browser PDF viewer built on Mozilla's PDF.js — the same engine that ships inside Firefox. PDF.js parses the binary PDF, renders each page to a <canvas>, builds a transparent text layer for selection and search, and does it all without sending a byte to a server. The file you open stays on your device, in your browser tab.
How it works
When you pick or drop a file, it's read with the FileReader API as an ArrayBuffer. PDF.js loads the buffer, returns a document handle, and we ask for pages one at a time as you scroll. Each page is rendered at the current zoom level — high-DPI screens get a 2x scale automatically to stay crisp.
Search
Every page exposes a structured text layer (PDF.js extracts it from the PDF's content streams). We index that layer per-page; your query is matched case-insensitively across all pages, and the in-page text layer is rendered with <mark> highlights — the current match is highlighted brighter.
Password-protected PDFs
If the document is encrypted, PDF.js fires a callback asking for the password. We prompt you, send the password into PDF.js, and it stays in memory only — nothing is uploaded.
What it doesn't do
This is a viewer, not an editor. To merge, split, rotate-and-save, compress, watermark, sign, OCR or convert PDFs see our dedicated tools (Merge PDF, Split PDF, Compress PDF, PDF to Word, PDF OCR). Rotate here is for display only — it doesn't write back to the file.
Performance
PDF.js renders pages on demand and caches the most recent. A 500-page PDF opens in under a second; only the visible page is rendered to canvas. Thumbnails render at a fraction of full resolution, so even a 1,000-page doc thumbs out quickly.
Browser support
Chrome / Edge / Brave / Opera (Chromium 90+), Firefox 90+, Safari 14+. Pre-2020 browsers may fall back to native PDF rendering instead.
PDF Viewer Online — frequently asked questions
Nothing is uploaded. The PDF is read with the browser's FileReader API and rendered to a canvas by PDF.js, all inside your tab. We never see the file. Open the Network tab in DevTools to verify — no request leaves with your data.
There's no hard cap. 100 MB PDFs open in a second. Multi-hundred-MB scientific PDFs work too; on low-RAM devices you may notice slower page-render times. PDF.js parses lazily, so it doesn't have to load the whole file at once.
Yes. You'll be prompted for the password when the file is detected as encrypted. The password is used only locally to decrypt for display — it's never sent anywhere.
Yes — click the magnifier in the toolbar, type your query and press Enter. Every match across every page is found and highlighted; Up / Down jump between matches.
Most websites don't allow cross-origin fetches of their PDFs (no Access-Control-Allow-Origin: * header). If the URL fails, download the PDF first and open it as a local file instead.
Yes. The toolbar collapses on narrow screens, fit-width sizes pages to the viewport, and the canvas is scaled for high-DPI mobile screens. Tested on iOS Safari, Chrome Android, Samsung Internet, Firefox Mobile.