Rotate PDF
Drop one PDF and turn its pages in this tab. A turn is written into the page dictionary as a /Rotate value, not baked into a new picture, so the text stays selectable, each page keeps its own size, and the file never leaves your browser. Click pages to pick them; with nothing selected, the buttons turn every page.
Drop a PDF here
or choose a file · one PDF at a time · or paste one with Ctrl + V
Left and right turn a quarter; 180 turns the page upside down. With no page selected, the buttons turn all pages.
Click a page below, or type page numbers.
One PDF in, one PDF out · 90° steps only · page size and text unchanged · up to 100 MB / 2,000 pages · no upload · no account
Rotate PDF: What a Quarter Turn Adds to the File
Turning a page in a PDF is not a picture edit. On a 15-page paper, the 7,749-byte content stream behind page 1 came back with the same SHA-256 after every page was turned 90°, and its 2,859-character text layer came back with the same hash as well. What changed sat in the page dictionaries: one /Rotate value per page. Turning all 15 pages added 19 bytes to the copy, measured against the same file written with every page at 0°.
That is the difference between turning a page and redrawing it. The tool on this page writes the instruction; it never touches the drawing.
A rotation is an instruction to the reader
A PDF page dictionary can carry an entry called /Rotate. Its value is the number of degrees the viewer should turn the page clockwise before drawing it on screen or on paper. The drawing itself lives in the page's content stream, in the page's own coordinate system, and it is left alone.
So the page keeps everything the drawing contains: text stays text, vectors stay vectors, images keep their original compressed bytes. Nothing is resampled, because nothing is re-encoded. The tool reads the /Rotate value each page already has, adds the quarter turns you pick, and writes the new value back with the same page object.
One consequence surprises people who expect a rotation to change the page size. A page with a 612 × 792 pt media box and /Rotate 90 still has a 612 × 792 pt media box. It displays as 792 × 612 because the viewer swaps the axes when it draws. All 15 pages of the test paper report the same box after the turn; the viewport is what changed.
Where the size change actually comes from
Four copies of the same paper, all written by this page:
| Copy | Bytes | Against the source |
|---|---|---|
| Source file | 2,215,244 | — |
| Saved, no page turned | 1,825,317 | −389,927 (−17.6%) |
| Every page at 90° | 1,825,336 | −389,908 (−17.6%) |
| Page 1 at 90° | 1,825,314 | −389,930 (−17.6%) |
The three copies differ from each other by at most 22 bytes. The rewrite is what moved the file size: 389,927 bytes gone with no page turned at all.
The library reads the whole document and writes a new one, packing object dictionaries and the cross-reference into compressed object streams. That is a different writer, not an image compressor. The content streams are copied as they are, which is why page 1's stream hashes identically in all four copies. A rotated copy can come out smaller than its source without losing a thing, and on another file the same rewrite can come out larger. The /Rotate entries are noise next to that effect.
What survives the write
Every item below was read back from the output files, not assumed:
- The drawing. Page 1's content stream is 7,749 bytes with SHA-256 prefix
ce15d7640dcf728din the source and in all four copies. - The text layer. Page 1 yields 2,859 characters with hash prefix
01c0c25f3f61c18bbefore and after. Text stays selectable and searchable. - The page boxes. All 15 pages are 612 × 792 pt before and after.
- Link annotations. The paper carries 113 across its 15 pages, 30 of them on page 2; the turned copy carries 113.
- The outline. 22 entries before, 22 after, 10 of them at the top level.
- Metadata. Title, author, creation date, creator and producer are unchanged. The writer runs with metadata updating turned off, so it does not stamp its own name or a new date into the file.
- Form fields. This paper has none; a rewrite does not invent any.
One thing a rewrite cannot preserve is a digital signature. A signature covers the bytes it signed, so any new file, rotated or not, no longer matches it. If a signed document has to stay verifiable, keep the original and rotate a copy for reading.
What the reader actually draws
Page 1 was rendered at 1.5× in the same renderer, once from the source and once from each copy:
- Source and the no-turn copy: 918 × 1188, which is 1,090,584 pixels, with 0 pixels different.
- The turned copy: 1188 × 918, the same 1,090,584 pixels. 130,183 pixels differ from the source turned in an image editor, 11.94% of the page, with a mean channel difference of 3.8 out of 255.
- Those differences sit at glyph and rule edges. Text rasterized under a rotated transform lands on different subpixel boundaries, so its antialiasing changes. Position, line breaks and glyph shapes do not.
A re-render at an angle would not behave this way. It would move every pixel and could drop the text layer, because the output would be a picture of the page instead of the page. The measured copy keeps the page and adds one instruction.
Angles add, including the ones already in the file
A three-page test file was built with page 2 already carrying /Rotate 90: values 0, 90, 0. Turning page 2 to the right produced 0, 180, 0 when read back, so the tool adds to the value that was there instead of overwriting it.
- Four right turns on page 1 bring it from 0° back to 0°. The copy then matches the no-turn copy at 1,825,317 bytes.
- 180° is upside down. 270° is one quarter to the left.
- Each card shows the page's absolute angle and a note when it differs from the file's own value.
- Pages you leave unselected keep whatever rotation they arrived with.
What this page will not do
- Turn by an arbitrary angle. There is no 3° straightening for a crooked scan. That job changes the drawing: either the page is rasterized again, which loses the text layer, or the content matrix is rewritten, which is a different operation with its own risks.
- Mirror a page. A flip is not a rotation. It needs a negative scale, not a /Rotate value.
- Turn one image inside a page. The unit here is the page.
- Reorder, delete, merge or split pages. Each of those is a different tool.
- Compress images. A rewrite changes the container, not the pictures inside it.
- Open a password-protected PDF. The file is refused by name and nothing is written.
- Repair a damaged file. A PDF that cannot be parsed is reported, not fixed.
- Take everything. The ceiling is 100 MB and 2,000 pages, and the page grid previews the first 60 pages; the page list still turns the rest.
How to use this page
- Drop one PDF onto the panel, or paste it with Ctrl + V.
- Click the pages you want, or type a list such as
1-3, 5into the page field. - Use the left, right or 180 buttons. The copy is rewritten after every change.
- Download the PDF. The panel reports the output size against the source.
What each control does
Turn the pages applies one quarter turn to the selected pages, or to every page when no page is selected. The left and right buttons are 90° apart; 180 turns the page upside down.
Page selection takes page numbers and ranges, separated by commas. Clicking a card toggles that page; the field updates to show the same set. An empty field means no selection.
Reset to the file's own rotation puts every page back to the value it arrived with, which is not always 0. The result block reports the page count, how many pages were turned, the output size and the time the write took.
Why this page doesn't upload your file
The PDF library is served from this site and runs in the tab, so the file is read from local memory and the copy is written back to it. With the network cut after the library loaded, the same 15-page turn produced the same 1,825,336 bytes, byte for byte. Nothing about the document travels over the network; the page's own analytics tag counts visits, not files.
Questions that come up
Does rotating a PDF in a browser viewer save the change? A viewer's rotate button usually turns the view, not the file. Close the tab and the angle is gone. Saving a rotation means writing a /Rotate value into the page dictionary, which is what this page does.
Can I rotate just one page? Yes. Click that page, or type its number in the page field, then use a turn button. Pages you do not pick keep their own rotation.
Does rotating reduce quality? No. The content stream is copied, not re-encoded, so text, vectors and images keep their original bytes. The measured page 1 stream had the same SHA-256 in the source and in the turned copy.
Why is my rotated PDF smaller than the original? The library writes a new file with compressed object streams. On the test paper that rewrite saved 17.6% whether or not a page was turned. It is a different writer, not image compression.
Can I straighten a crooked scan here? No. This page writes quarter turns only. Straightening by a few degrees has to re-rasterize the page or rewrite its transformation matrix, and a rasterized page loses its text layer.
What happens to a password-protected PDF? It is refused before any page is read. This page does not remove passwords, so it cannot turn the pages of an encrypted file. Open it once in the application that owns the password, export an unprotected copy, and rotate that.