PDF Reader

Pick a PDF file and start flipping through pages right away. Zooming, page navigation, and text-to-speech all happen in your browser.

Your PDF is never sent to any server. It is opened only inside this browser tab.

What this reader is for

It is a small, read-only viewer for the moments when you just need to look inside a PDF: a shared computer with no PDF software, a phone browser that handles attachments badly, or a quick check of a file before you send it. You can page through the document, zoom, copy the text of the page you are on, and have that text read aloud. It does not annotate, highlight, fill in forms, sign, search the whole document or edit anything.

Where the file is processed

When you choose a file, the code reads it with file.arrayBuffer() and passes the bytes to Mozilla's open-source PDF.js library (the pdfjs-dist package, version 6.3.289 in this project). PDF.js does the parsing and drawing, and its worker script runs in your browser. Both the library and the worker file are served by this site together with the page; they are not fetched from a third-party CDN. There is no code that sends your PDF over the network, so it is not uploaded or stored, and reloading or closing the tab removes it from memory. You can confirm this by watching the Network tab of your browser's developer tools while you open a file. Scripts that belong to the site as a whole, such as advertising and analytics, work independently and do not receive your document.

How zooming works

The starting scale is 1.2 times the PDF's native size, where one PDF point becomes one pixel, and the screen label calls that 100%. Each click on the plus or minus button changes the scale by 0.24, and the scale is clamped between 0.6 (50%) and 3.6 (300%). The table below was calculated while the site was built, using the same constants, for a portrait A4 page of 595.28 by 841.89 points, and it estimates the memory a canvas of that size needs at four bytes per pixel.

Shown asInternal scaleA4 canvas (px)Memory (MB)
50%Γ—0.60357 Γ— 5050.7
60%Γ—0.72429 Γ— 6061.0
80%Γ—0.96571 Γ— 8081.8
100%Γ—1.20714 Γ— 10102.8
120%Γ—1.44857 Γ— 12124.0
140%Γ—1.681000 Γ— 14145.4
160%Γ—1.921143 Γ— 16167.0
180%Γ—2.161286 Γ— 18188.9
200%Γ—2.401429 Γ— 202111.0
220%Γ—2.641572 Γ— 222313.3
240%Γ—2.881714 Γ— 242515.9
260%Γ—3.121857 Γ— 262718.6
280%Γ—3.362000 Γ— 282921.6
300%Γ—3.602143 Γ— 303124.8

At 100% an A4 page is drawn at about 714 by 1010 pixels; at 300% it grows to about 2143 by 3031 pixels, roughly 24.8 MB of canvas memory. Phones and older computers may render slowly, or fail, at the largest settings. The viewer does not adjust for high-density (Retina-type) displays, so text can look slightly soft at 100% on such a screen; one step of zoom-in usually restores crispness. The page sits in a scrollable frame, so a zoomed page is panned by scrolling that frame rather than the whole browser window.

Copying text and listening to a page

After a page is drawn, the code asks PDF.js for that page's text fragments and joins them with spaces, collapsing runs of whitespace into one. That means the copied text follows the order in which the PDF stores its text, which is not always the order you read on screen. Tables, two-column layouts and sidebars can come out interleaved, and original line breaks are gone. The panel under the canvas shows the text and its character count, and the Copy button copies the whole page's text to the clipboard. Reading aloud sends the same text to your browser's built-in speech synthesis at a fixed rate of 0.95. The voice and language come from whatever your browser and operating system provide, and the tool does not choose a language to match the document, so a page in a language your default voice does not cover may sound wrong. Turning the page cancels the speech, and the stop button ends it at once. If your browser has no speech synthesis, the two speech buttons are hidden.

When this is the wrong tool

What to do next

If you only need some pages from the file, use thePDF merge and split tool to extract a page range into a new PDF. If you copied text and want to know how long it is, paste it into theword counter, and if you have two versions of a passage, the text diff checker shows what changed. Photos embedded in a document that has become too large can be reduced with theimage compressor before the document is rebuilt.

Frequently Asked Questions

Is my uploaded PDF saved anywhere?

No. It is opened only in your browser's memory and is not uploaded or stored. Refreshing the page removes the document.

Can I open password-protected PDFs?

Not at the moment. The tool has no place to enter a password, so it can open only PDFs that are not protected. If you know the password, open the file in another program and save an unprotected copy, where that is permitted.

Why doesn't text-to-speech or copying work on some pages?

A PDF that is a scan of a paper document stores each page as an image and contains no text data. You can still see the page, but there is nothing to copy or read aloud, and the text panel explains this.

Can I copy the text of the whole document at once?

No. Only the page you are viewing is copied. Move to the next page and copy again to collect more.

The read-aloud button is missing, or I hear nothing.

The speech buttons are hidden when the browser does not support speech synthesis. Even in browsers that do, there may be no voice installed for the language, or the device may be muted.

Why is the copied text in a strange order?

The tool joins the text pieces in the order stored inside the PDF. Documents laid out in columns or tables are often stored in an order that differs from the visual one, so check and tidy the text after pasting.