Rotate PDF

Rotate it once, in the file — not just in your viewer.

Runs locally

Drop files here, or click to choose

Accepts PDF. No size limit, no sign-up.

    Choose a PDF, pick a direction, and optionally say which pages. The rotation is written into the document itself, so it opens correctly in every reader, on every device, and when printed — unlike the rotate button in a PDF viewer, which usually only changes what you are looking at right now.

    Why the rotate button in your reader is not enough

    Most PDF viewers have a rotate control that turns the page on screen and then forgets. Close the file and it is sideways again. Some readers can save the rotation; many cannot, and browser-based viewers generally cannot. Email the file to someone and they see the original orientation.

    What this tool changes is a value stored in the page itself. Every PDF page carries a Rotate entry — an integer of 0, 90, 180 or 270 — and every conforming reader must apply it before displaying or printing. Setting it means the page is genuinely turned, for everyone.

    Rotation is lossless, and here is why

    Rotating a PDF page does not redraw anything. No image is re-sampled, no text is re-rendered, nothing is re-compressed. The only thing that changes is one number in the page dictionary, so a page rotated four times by 90 degrees is byte-for-byte the document you started with.

    This is very different from rotating a JPEG, where a rotation that is not a multiple of 90 degrees — and in some tools even one that is — forces a re-encode and costs quality. Here you can rotate as many times as you like with no accumulated damage.

    Why some pages look unrotated after rotating

    Scanners frequently write a Rotate value already. A page might contain content drawn sideways with Rotate 90 set to compensate, which is why it looks upright when you open it. Naively setting Rotate to 90 on such a page changes nothing visible, because it was already 90 — and users reasonably conclude the tool is broken.

    This tool adds your rotation to whatever is already there and normalises the result, so "90 degrees clockwise" always means "a quarter turn from how it looks right now". That is what people mean when they ask for it.

    A related surprise: mixed orientation. A report where the tables are landscape and the text is portrait already has different Rotate values on different pages. Rotating everything by 90 fixes the tables and breaks the text. That is what the page selector is for.

    Rotating only some pages

    Leave the page box empty and every page is rotated. Fill it in and only those pages change — comma-separate single pages, use a hyphen for ranges, for example 3, 8-11. Open-ended forms work as well: 5- means page five to the end.

    Full-width commas and dashes from a Chinese input method are accepted and normalised, rather than rejected as invalid input.

    One consequence worth knowing if you also use the page-numbering tool: page numbers are drawn in the page coordinate system, so a number added before rotating will be turned along with the rest of the page content. Rotate first, then number.

    Done in your browser

    The document is loaded, its page dictionaries are edited, and the result is saved — all inside this tab, by pdf-lib running as ordinary JavaScript. Because rotation touches so little of the file, this is fast even on documents of several hundred pages.

    Nothing is uploaded. Open the Network tab in developer tools while you rotate: there is no request carrying your file, because there is no endpoint that would receive one.

    Frequently asked questions

    Is the rotation permanent?

    Yes. It is stored in the page itself, so every reader on every device applies it, including when printing. That is different from the rotate button in a viewer, which usually only affects your current session.

    Does rotating reduce quality?

    No. Only a single number in each page dictionary changes. Nothing is re-rendered or re-compressed, so rotating repeatedly costs nothing.

    I rotated by 90 degrees and nothing changed. Why?

    That normally means the page already carried a rotation value. This tool adds to the existing value rather than replacing it, so a quarter turn is always a quarter turn from what you currently see.

    Can I rotate only some pages?

    Yes. Leave the page box empty for the whole document, or type something like 3, 8-11 to rotate just those. This is what you need for reports that mix portrait text with landscape tables.

    Is my file uploaded?

    No. The document is rewritten inside your browser tab and never transmitted. You can verify it in the DevTools Network tab.