How PDF page rotation works and why it sticks
What the PDF rotation flag is, why viewers rotate in 90 degree steps, how additive rotation behaves, and how to fix sideways scans for good.
Rotation is a flag, not new pixels
Every page in a PDF carries a rotation value that tells a viewer how far to turn the page before drawing it. That value is stored as an attribute, so changing it does not redraw the text or re-encode any images; it simply records that the page should be shown turned. This is why rotating a PDF is lossless and near instant even for image-heavy scans. It also explains why a permanent rotation can be applied without inflating the file size the way re-rendering would.
Why only 90 degree steps
The PDF specification allows the rotation attribute to hold only multiples of 90: 0, 90, 180 or 270 degrees. There is no way to store a 45 degree or one degree tilt in that field, which is why this tool and every compliant viewer offer quarter-turns only. If you genuinely need an arbitrary angle, that requires rasterising the page and rotating the pixels, a different and lossy operation. For fixing scans and misfed pages, the standard quarter-turns cover essentially every real case.
Additive rotation and the 360 wrap
When you rotate a page here, the chosen angle is added to whatever rotation the page already had, then wrapped so the result stays between 0 and 359 degrees. A page at 0 rotated by 90 becomes 90; rotate it again and it reaches 180. A page already stored at 270 that you turn a further 90 wraps neatly back to 0. Understanding this additive behaviour helps when a scanner has already applied some rotation, because your turn combines with the existing one rather than replacing it.
Fixing a sideways scan for good
Scanners and phone captures often record pages in the wrong orientation, leaving you tilting your head or fighting a print preview. Rotating the pages and saving a new file bakes the correct orientation into the document, so it opens upright everywhere from a browser to a printer. Because the change is written into the page rotation attribute, it travels with the file and does not depend on a particular viewer's temporary rotate button. Save the corrected copy under the -rotated name and share that version rather than the original.