PDF Rotate (Server-Side)
Rotate every page of a PDF, or just a selected range, by 90, 180, or 270 degrees on our EU servers. qpdf-based, metadata preserved. Auto-deleted after 15 minutes.
Reviewed by Aygul Dovletova · Last reviewed
How to Rotate the Pages of a PDF
- Drop a PDF onto the upload zone or click to browse. Up to 200 MB per file. The accepted PDF appears with its name, size, and a Change file button.
- Pick a rotation angle using the three buttons: 90 degrees clockwise, 180 degrees (a vertical flip), or 270 degrees (the equivalent of 90 counter-clockwise). The PDF spec only supports these multiples of 90.
- Choose pages (optional). Leave the Pages field blank to rotate every page in the document. To rotate only a subset, type a comma-separated range string like
1-3, 5, 7-9- those exact pages will rotate by the chosen angle and every other page will pass through untouched. - Click "Rotate PDF". The file uploads over HTTPS to our EU server, qpdf rewrites the relevant page-dictionary entries, and the rotated PDF is returned as an HMAC-signed download link that stops working after 15 minutes.
What Rotation Actually Means in a PDF
Rotating a PDF page is not a graphics transform. The page content stream - the drawing instructions that paint glyphs, lines, and images onto the canvas - does not change. What changes is a single integer key on the page's metadata dictionary, named /Rotate, that takes one of four values: 0, 90, 180, or 270. Every PDF reader honors that key by rotating the page at display time when it lays out the document. The result is that a freshly rotated PDF is essentially byte-identical to the original aside from a few bytes per rotated page, the text remains searchable, every annotation stays at the same logical location, every clickable link continues to work, and every signature still validates because the signature byte range still covers the same content streams. This is the canonical, lossless way to fix a sideways scan or to flip a back-cover page that arrived upside down from a designer.
The PDF spec allows only multiples of 90 because the underlying coordinate system snaps to 90-degree increments at the catalog level. Other angles would force the viewer to re-rasterize the page content - which would defeat the whole point of rotation-as-metadata. If you actually need a 45-degree rotation of a graphic, that is a graphics tool's job (rasterize, rotate, re-import) and is outside the scope of this page. For the standard "the scanner ate this sideways" workflow, the four angles cover every case in practice.
Why Run a Rotation on the Server
The in-browser PDF Rotate Pages tool builds a thumbnail grid of every page and lets you click rotate on each one. It is the right tool when you need to inspect the document visually because you do not yet know which pages are sideways. It struggles, however, on large documents because pdf-lib has to render thumbnails for every page (which loads the whole document into the tab's heap once for rendering and again for saving), and it refuses encrypted inputs outright. The server-side rotator here is the right pick when:
- You already know which pages need rotating - for example, your scanner stamps every odd page as portrait and every even page as landscape, and you just want to flip all the even pages.
- The document is large enough that loading thumbnails for every page is going to crash your tab.
- The document is encrypted and you have already decrypted a working copy with PDF Unlock.
- You want every output to be byte-stable for downstream automation (qpdf produces deterministic output for the same input and angle).
Concrete Workflows This Page Targets
- Fixing a 60-page scan where the scanner rotated every other page 90 degrees - select the even pages with
2,4,6,...and rotate them 270 degrees in one job. - Flipping the back cover of a marketing PDF that the designer exported upside down by mistake - select the last page only and rotate it 180.
- Normalizing a board pack where the appendices arrived as landscape PDFs while the rest of the document is portrait - select the appendix range and rotate it 90 degrees clockwise.
- Restoring orientation to a faxed PDF where the receiving fax driver wrote every page sideways - apply 90 degrees to all pages.
- Adjusting an architectural drawing set where every other sheet is rotated for plotter compatibility - select the rotated sheets and apply the inverse angle.
- Quickly inverting a single misoriented annex inside a 500-page legal binder before sending the whole binder to opposing counsel.
- Repairing a financial report where the cover page was rendered for an A3 plotter and arrived rotated 90 in the final PDF - apply 270 degrees to page 1.
Pitfalls and Edge Cases
Rotation in qpdf is additive: if a page already has /Rotate 90 from the scanner and you apply another 90 here, the output is 180. The result is correct in the sense that the math is right; it just may not be the absolute angle you intended. If you need a known absolute rotation, normalize first with the inverse of whatever the input had, then apply the angle you want. Out-of-range page numbers (asking to rotate page 500 of a 300-page document) cause qpdf to reject the entire job rather than silently skipping the bad indices, so check page counts before submitting on critical files. Cropped pages with non-default /CropBox or /TrimBox values rotate correctly but viewers that respect the crop boxes may show the rotation appearing to apply to a different visible region than the full MediaBox - this is a viewer feature, not a tool bug. Pages that contain only annotations (a sticky note layer on an otherwise blank page) rotate the annotations correctly because the annotations are rotated by the same /Rotate flag. Pages with embedded video or rich-media annotations (the rare /RichMedia annotation type) rotate the visual placement but the media itself plays back at its native orientation; this is a spec limitation, not specific to this tool.
Local Alternatives
For batch jobs or scripted workflows, run qpdf locally: qpdf --rotate=+90:1-3,5,7-9 input.pdf output.pdf mirrors the exact command this tool runs on the server. Replace +90 with +180 or +270 as needed; replace the page range with whatever you need (use z for the last page, e.g. 1-z for all pages). pdfcpu offers a slightly different syntax (pdfcpu rotate input.pdf 90 1-3,5,7-9) and is a fine alternative. macOS Preview rotates pages through the Tools menu with no install, and Adobe Acrobat Pro exposes rotation in the Organize Pages panel with a visual preview. Each desktop option wins on having a thumbnail grid up front; this server tool wins on speed for large documents you do not need to inspect first.
Frequently Asked Questions
How is the rotation actually applied?
qpdf writes the rotation into each affected page's <code>/Rotate</code> key in the page dictionary. The underlying content stream is not re-rendered or re-encoded; the value is simply read by the PDF viewer when it lays the page out. That means there is no quality loss, no re-rasterization of text, and no growth in file size beyond a handful of bytes per rotated page. Every modern reader (Acrobat, Apple Preview, Chrome, Firefox, mobile readers) honors the /Rotate flag identically.
What are valid rotation angles?
Multiples of 90: 90 (clockwise), 180 (flip), and 270 (counter-clockwise, equivalent to 90 anti-clockwise). The PDF spec only permits those four angles (including 0) because the underlying coordinate system snaps to 90-degree increments. Asking for 45 degrees would require re-rendering every page as an image and is not supported here; this is a structural flag, not a graphics transform.
Can I rotate just some pages and leave the rest alone?
Yes. The Pages field accepts the same comma-separated range syntax as the splitter - "1-3, 5, 7-9" rotates pages 1, 2, 3, 5, 7, 8, and 9 by the angle you picked. Pages outside the range are written through to the output untouched. Leave the Pages field blank to rotate every page in the document by the chosen angle.
How is this different from the in-browser PDF rotate-pages tool?
The in-browser <a href="/tools/pdf-rotate-pages/">PDF Rotate Pages</a> uses pdf-lib in JavaScript and shows a thumbnail grid where you can rotate individual pages one at a time. It is great for small documents where you want to fix three or four orientation problems by eye, but pdf-lib has to load the whole document twice (once to render thumbnails, once to save) and stumbles on inputs above a few hundred megabytes or anything encrypted. The server-side rotator here trades the thumbnail grid for a range string and qpdf's native speed - the right pick when you already know which pages need to rotate (for example, "every landscape scan from page 4 to 12") and the document is too big or too protected for the browser tool.
Does this preserve text, links, and annotations?
Yes. Because the rotation is metadata, not a content-stream rewrite, every text run, every clickable annotation, every form field, every signature, and every internal link survives byte-perfectly. Searchable text remains searchable. Annotations remain anchored to the same logical position on the page, which the viewer rotates along with the content. This is the canonical, lossless way to fix orientation.
What about pages that already have a non-zero rotation?
qpdf treats rotation as additive. If a page is already rotated 90 by its scanner and you apply another 90 here, the result is 180 in the output (the value modulo 360). To set an absolute rotation that overrides whatever the input had, normalize the input first - run it once through this tool with the angle needed to bring it to 0, then run it again with the target angle. Future iterations may expose an "absolute" mode; for now the additive behavior matches what qpdf does by default and is the most predictable when chaining transformations.
Can I rotate a password-protected PDF?
Not directly. qpdf refuses to rewrite encrypted documents without the credential, and this UI does not collect the password. Run the file through the <a href="/tools/pdf-unlock/">PDF Unlock</a> tool first, rotate the plaintext copy here, and (if needed) re-encrypt it with the <a href="/tools/pdf-password-protect/">PDF Password Protect</a> tool afterward.
What is the maximum file size?
The hard cap is 200 MB per upload. Rotation itself adds no measurable bytes to the output (only the /Rotate key gains a value per page), so a 200 MB input produces a roughly 200 MB output. If your document is larger, run the <a href="/tools/pdf-compressor/">PDF Compressor</a> first.
Where are the files processed and how long are they kept?
On our EU servers in Helsinki, over HTTPS. The upload is written to a working directory, qpdf rewrites the relevant page dictionaries, the result is exposed at an HMAC-signed download URL, and both the input and the rotated output are removed by a cleanup cron that runs every 5 minutes. The download link itself stops working after 15 minutes. We do not log file contents.
Why does my landscape scan still look landscape after a 90-degree rotation?
Two things to check. First, the scanner may already have stamped a 90-degree rotation into the page dictionary, in which case adding another 90 brings you to 180 (upside down). Second, if the page bears a "Trim" or "Bleed" box smaller than the MediaBox, the viewer may be cropping to the box and the visible rotation looks different from the rotation actually applied. Open the source in Acrobat under Document Properties to see the existing rotation, then apply the delta you actually need.
Can this rotate just one specific page?
Yes. Use a single integer in the Pages field. "7" rotates only page 7; every other page passes through unchanged. Combine integers and ranges for more complex selections like "1, 3, 5-7" if you have a mixed-up document where only some pages are sideways.
More PDF Tools
Image to PDF
Combine multiple JPG and PNG images into a single PDF document.
Open toolPDF Compressor
Compress PDFs with Ghostscript image downsampling. Pick a quality preset. Files auto-deleted after 15 minutes.
Open toolPDF Merge (Server-Side)
Merge up to 20 PDFs into a single document on our EU servers using qpdf. Files auto-deleted after 15 minutes. Handles large or password-cleared inputs the in-browser merger cannot.
Open toolPDF Merger
Merge multiple PDF files into a single document with drag-and-drop reordering.
Open toolPDF Page Reorder
Rearrange pages in a PDF document with a visual drag-and-drop interface.
Open toolPDF Password Protect
Add AES-256 password protection to PDF files via qpdf. Files auto-deleted after 15 minutes.
Open tool