Rotate PDF Pages
Rotate PDF turns pages by 90, 180 or 270 degrees and saves a new file. It rotates all pages by default, or only the pages you list. The angle is absolute, not added to the page's current rotation.
Drag and drop files here, or click to choose
Accepts PDF · up to 500.0 MB per file · up to 20 files at once
You can also paste a file with Ctrl/Cmd+V, or from the clipboard menu.
Rotate PDF sets `/Rotate` on the pages you select, or on every page by default, to 90, 180, or 270 degrees. The value is absolute, not added to the current rotation. A page already stored as 90 that you send 90 again stays 90.
The implementation writes the page attribute with lopdf. It does not reprint pages as images and does not call qpdf. The `pageNumbers` field (default `all`) selects the pages to turn. It accepts forms such as `1,3`, `2-5`, `all` and `2n+1`, and a page number that does not exist is rejected. Selected pages all get the same angle.
Viewers honor `/Rotate` when displaying. Some printers and importers ignore it. If a downstream tool still looks sideways, flatten or reprint is a different job.
Password-protected files are unlocked for you on this page once you enter the password; API callers run Unlock first. Angle values other than 90/180/270 are rejected.
Features
- Sets `/Rotate` to 90, 180, or 270 on all pages or on a page list
- Absolute angle, not incremental
- Native lopdf; no rasterization
- Anonymous API at /api/v1/general/rotate-pdf
When to use this tool
- Turn a sideways scan export so viewers show it upright
- Set every page to 180 after a head-down ADF pass
- Normalize a mix of stored rotations to one angle
How do I rotate pages in a PDF?
- Upload a PDF.
- Leave the pages field on all, or enter the pages to turn, then choose 90, 180, or 270.
- Click Process and download the PDF.
- Open it in a viewer that honors `/Rotate` and check a middle page.
Limits and edge cases
- One angle per run: pages that need different angles take separate runs
- Not incremental; not 0 or arbitrary degrees
- Does not rasterize, so some printers ignore the flag
- Upload limit on this website: 500 MB per file, sent in chunks above about 95 MB. A single direct API request body is capped at 100 MB.
Examples
- A 3-page PDF with angle 90 gets /Rotate 90 on all three pages
- Sending 90 to a file already at 90 leaves it at 90
Privacy for this tool
Files are uploaded over HTTPS, processed in memory or a short-lived temporary directory on our servers, and deleted when your result is ready. We do not keep copies for later browsing, training, or advertising profiles. See the Privacy Policy for retention details and AdSense cookie disclosures.
Frequently asked questions
- Can I rotate only page 2?
- Yes. Enter 2 in the pages field and only that page gets the new /Rotate value.
- If I rotate 90 twice, do I get 180?
- No. Each run writes the selected angle. Choose 180 if you want 180.
- Does this redraw the page content?
- No. It sets a page dictionary flag. Content streams stay as they were.
- Why does a printer still output landscape?
- Some print paths ignore /Rotate. That is a consumer issue, not a second rotation pass.
Last updated:
Call this from code
Every tool on this site is a plain REST endpoint - no account or API key needed for anonymous use. Built for AI agents and developers as much as for browsers.
curl -X POST "https://pdf123.xyz/api/v1/general/rotate-pdf" \
-F "[email protected]" \
-F "pageNumbers=all" \
-F "angle=90" \
-o output.pdfAlso available as an MCP tool for agent clients that speak Model Context Protocol (JSON-RPC 2.0 over POST /mcp). Full API reference
Use it from an AI agent
SkillClaude Code, Codex, Cursor and other AI agents can run Rotate PDF for you with this skill: /skills/pdf123-rotate.md
Files are used only for this processing job and deleted automatically afterward.