Rotate PDF pages and save the result
Rotating a PDF page changes the /Rotate value stored in the page dictionary, so every viewer displays the page turned by 90, 180 or 270 degrees. This tool rotates all pages or only the ones you select, then saves a corrected copy — entirely in your browser, with no upload. Because only an orientation flag changes, the text, fonts and images in the file are untouched and the quality stays identical.
How it works: the /Rotate entry, not re-rendering
Every page in a PDF is described by a small dictionary object that records the page’s size (the media box), its content stream and, optionally, a /Rotate key. The PDF specification (ISO 32000) defines /Rotate as a clockwise rotation in whole multiples of 90 degrees that a viewer must apply when displaying or printing the page. A page whose content was scanned sideways typically has either no /Rotate entry or the wrong one — the pixels themselves are stored exactly as captured.
This tool loads your file with pdf-lib, reads the current rotation of each page you selected, adds your chosen angle to it modulo 360, and writes the new value back into each page dictionary. If a page already carries /Rotate 90 and you rotate it another 90 degrees, the saved value becomes 180 — rotations accumulate rather than overwrite blindly, so an already-corrected page never ends up double-turned.
Because nothing else in the file changes, this operation is lossless and fast even on large documents. No page is rasterized, no image is recompressed, no text is re-encoded. A 200 MB scanned file takes barely longer to rotate than a 200 KB one, since the work is a handful of dictionary edits followed by re-serializing the file structure. Contrast this with tools that “rotate” by rendering each page to an image and rebuilding the PDF: those lose selectable text and inflate file size.
The one thing rotation does not do is change coordinates on the page. Annotations, form fields and link rectangles keep their positions relative to the unrotated page and are turned along with it by the viewer, which is exactly the behavior the specification requires.
Worked example: fixing a half-sideways scan
A typical case: a 24-page lease agreement scanned on an office copier, 8.4 MB. Pages 1–12 come out upright, but the second half of the stack was fed in sideways, so pages 13–24 display rotated 90 degrees counterclockwise. In the widget you select pages 13–24, choose 90° clockwise, and save. The output file is 8.4 MB — the same size to within a few hundred bytes, because only twelve /Rotate integers and the cross-reference table changed. Processing took under two seconds in a mid-range laptop browser, and the text on all 24 pages remained selectable and searchable afterward.
Rotate PDF — frequently asked questions
Why does my PDF open sideways in the first place?
Scanners and phone cameras often store the image upright but set the wrong page orientation, or no orientation at all. The viewer then shows the page as it was captured, which can be sideways or upside down. Fixing the /Rotate value corrects it for every viewer.
Does rotating a PDF reduce its quality?
No. Rotation only changes a metadata value in each page dictionary; the text, fonts and images inside the page are byte-for-byte untouched. There is no re-rendering and no recompression involved.
Can I rotate just one page instead of the whole PDF?
Yes. Each PDF page carries its own /Rotate entry, so this tool can turn a single page, a range like 3-5, or every page at once. Pages you leave out keep their current orientation.
Is the rotation permanent after I save the file?
Yes. The downloaded copy has the new /Rotate values written into the file itself, so the pages open correctly in Adobe Acrobat, Preview, browsers and on phones. This is different from the temporary rotate view button in most readers, which never edits the file.
Is my PDF uploaded when I rotate it here?
No. The file is opened with JavaScript inside your own browser tab, modified in memory and saved back to your device. Nothing is transmitted to a server at any point.