PDF Rotator

Share:

Rotate any PDF page 90, 180 or 270 degrees — per page or all at once. Visual thumbnails. 100% in your browser.

RT-IMG-012 · Image & File
Your browser is too old for this tool’s interactive features. Please update to Safari 13.1, Chrome or Edge 80, Firefox 74 or newer.

PDF Rotator

💡 Live preview. The thumbnail rotates visually to show what the page will look like in the output. The original PDF rotation is preserved — your changes apply on top.
Drop a PDF to begin.
🔒 PDFs stay on your device. Thumbnails are rendered locally via the self-hosted pdf.js library. Rotation is applied via pdf-lib. Nothing is uploaded — verify in DevTools → Network.
Advertisement
After results · AD-W1 Responsive · Post-tool — peak engagement

How to rotate a PDF

Add your PDF

Drag your file onto the dropzone or click to choose. Once it loads, each page appears as a thumbnail you can preview.

Rotate pages

Use the ↺ and ↻ buttons under each thumbnail to rotate that page 90° left or right. The thumbnail updates immediately so you can see what the output will look like.

Or rotate everything at once

Use the bulk buttons at the top: All −90°, All +90°, or All +180° to flip every page at the same time. Useful for sideways scans where every page needs the same correction.

Click Apply and download

pdf-lib bakes the rotations into a new PDF and saves it as {original}-rotated.pdf. The rotation is stored in the page metadata — the file size barely changes because no content is re-encoded.

Advertisement
After how-to · AD-W2 Responsive

PDF rotation — a metadata operation, not a re-render

Rotation is one of the few PDF operations that doesn't actually change the rendered content of the document. The PDF specification includes a /Rotate entry on each page — the number of degrees to turn the page clockwise when it is shown or printed, which "shall be a multiple of 90" (ISO 32000-1). Rotating in place re-encodes no text or images; it changes that number. The file is re-saved by pdf-lib, so its size can move a little: rotating every page of a 1,000-page test file changed it by 0.01%.

Why the rotation often looks "wrong" until you save

A rotator that ignores the page's existing /Rotate value produces a familiar bug: you see the page rotated correctly in the preview, then open the downloaded file and it's back to its original orientation, plus or minus 90 degrees. The trap is that PDFs can carry a non-zero base rotation from the scanner or office app that created them — your "rotate 90° right" is meaningless unless the tool reads the existing rotation first and adds your change on top. This tool reads the source rotation explicitly via pdf-lib's page.getRotation() API and applies your delta on top, so the visible result matches the saved result.

A page can already be rotated before you touch it. Read that value first and add your turn to it, and the saved file matches the preview.

Why scans come out sideways

A flatbed or sheet-fed scanner writes each page the way the paper went in, so a landscape page fed portrait, or a sheet turned over, comes out sideways or upside down. Rotation fixes the page's orientation without re-scanning, and leaves any text layer the scanner's OCR added intact.

What this tool does — and what it doesn't

This rotator handles per-page and bulk rotation in 90° increments. It preserves the PDF's text content, embedded fonts, internal hyperlinks, form fields and bookmarks, because it changes the original document rather than copying its pages. What it does not do: rotate text that's been pre-rendered as part of a scanned-image PDF (it rotates the page container, which works visually, but the underlying image is unchanged), apply non-90° rotations (the PDF spec only allows multiples of 90 in the page metadata), or auto-detect "which way is up", which needs OCR.

One integer in the page metadata, and why rotating re-encodes nothing

01

PDF rotation is stored as a single integer, /Rotate, which ISO 32000-1 says "shall be a multiple of 90" — clockwise, default 0.

02

Rotating re-encodes no text or images. Turning all 1,000 pages of a test file changed its size by 0.01%.

03

Different pages in the same PDF can have different rotations. A 50-page bundle can have 40 portrait pages and 10 landscape pages baked into the metadata.

04

/Rotate is inheritable: a page with no value of its own takes its parent's, so a tool has to read the effective value before adding to it.

05

Form fields, hyperlinks, and annotations are positioned in the page's pre-rotation coordinate system. They move correctly with rotation without any additional changes.

06

A page scanned upside down has its image upside down: rotating the page turns the image with it, but nothing in the file says which way is up.

07

Rotation needs no new content, so the page's text stays selectable and searchable after turning — unlike re-scanning or flattening.

08

An encrypted file cannot be rotated here — including one that opens without a password but restricts printing or editing, because its contents are still encrypted. Remove the protection first; this tool does not remove it for you.

09

Because /Rotate is part of the PDF standard, any conforming reader shows the rotated page — no reader-specific setting is involved.

10

pdf-lib, the MIT-licensed library that writes the file, is 525 KB minified (about 206 KB gzipped) and is served from this site.

FAQ

  • No. The pdf.js library renders thumbnails in your browser; pdf-lib applies the rotation in your browser. Your PDF is read into memory, modified in memory, and saved back to your downloads. Open DevTools → Network and watch — no outbound traffic.

  • Yes. The ↺ and ↻ buttons under each thumbnail rotate that specific page. The bulk buttons rotate everything at once. You can mix — bulk rotate everything 90° right, then ↺ individual pages back if a few were correct to begin with.

  • It shouldn't — that's the bug we explicitly engineered around. This tool reads the source PDF's base rotation and adds your changes on top, so the preview matches the output. If you see a mismatch, your PDF reader may be auto-rotating in addition — try opening the file in a different reader (Chrome, Firefox, Acrobat) to confirm.

  • Barely. Rotation is a metadata-only change — no content is re-encoded. Re-saving through pdf-lib can move the size slightly either way — in a 1,000-page test it changed by 0.01%.

  • Yes. A scanned PDF is just a PDF where each page contains a large embedded image. Page rotation rotates the entire page container, including the image, so the rotation works as expected. Your PDF viewer will display the scan in the new orientation.

  • Not supported — the PDF spec restricts page rotation metadata to 0, 90, 180, and 270 degrees. Free-form rotation requires re-rendering the page content, which is a different operation and produces much larger files.

  • Yes. Form fields, AcroForms, annotations, and internal hyperlinks all rotate with the page. The viewer applies the rotation as a transform — clickable regions remain at the correct positions relative to the visible page content.

  • No — not even one that opens without a password. "Restriction-only" protection (an owner password that blocks printing or editing) still encrypts the file's text and images, and pdf-lib, the library this tool uses, cannot decrypt them, so anything it saved would be broken. Since 30 September 2026 the tool says so as soon as you add such a file, instead of rotating a copy that will not open. Save an unprotected copy first, in software that has the password.

  • No hard limit. Rendering the thumbnails is the slow part and grows with page count, especially on a phone. The rotation itself takes a fraction of a second regardless of page count.

  • Yes on iOS Safari and Chrome on Android. The thumbnail grid reflows to one or two columns on phone screens. Bulk-rotate buttons are the most efficient way to use this on mobile — tapping ↺/↻ for each thumbnail of a long document is tedious on touch.

Method & sources

How it computes

Reads each page's effective /Rotate (inheritable, normalised to 0/90/180/270), adds your per-page or bulk turn, and writes the result back with pdf-lib's setRotation on the original document, so content, fonts, links, forms and bookmarks are untouched.

What this tool implements

  • ISO 32000-1 Table 30: /Rotate is optional and inheritable, the clockwise degrees to turn the page when displayed or printed, and "shall be a multiple of 90" — the page had listed only 0/90/180/270.
  • Tested 2026-09-29: rotating all 1,000 pages of a test file changed its size by 0.01%.
  • The page's PDF/A-compliance claim, its "90% of complaints" figure and an EXIF-flag claim had no source and were removed.

Sources

Advertisement
Pre-footer · AD-W3 728 × 90