About RotatePictures
This site does one operation. It changes which way up a picture is — by a quarter turn, by a measured angle against a reference, or by repairing the single metadata field that tells other programs which way up the picture already was. It does not crop, resize, compress, mirror, filter or retouch, and it will not grow those functions later.
Why one operation
A tool that does one thing can afford to be exact about it. There is room on the page to say what a free-angle rotation costs in sharpness, to compute the crop analytically instead of guessing at it, to report the orientation tag in words instead of as a digit, and to admit that a quarter turn in this version still re-encodes a JPEG. A tool that does twelve things has room for none of that, and ends up describing all twelve in the same three adjectives.
The narrowness also decides what gets refused. A CMYK JPEG is declined rather than converted, because converting it would change colours nobody asked to change. A file with no orientation tag is left alone rather than guessed at, because there is no information in the file to base a guess on. Saying no is part of the specification here, not an apology for a missing feature.
How it is built
- Everything runs in the browser tab. There is no server behind this site that could accept a picture, no upload endpoint, and no place a file could be stored even by accident — the whole site is a set of static files, and a check in the build fails if an image ever reaches a network call.
- The preview is drawn from a reduced copy so a slider stays smooth on a large photograph; the saved file is drawn from the full array by the same routine, with the same numbers. There is one geometry function and one drawing function, so there is nothing for the two passes to disagree about.
- The heavy pieces are fetched only when they are needed. The TIFF decoder arrives when a TIFF is opened, the HEIC codec when a HEIC is opened, and the EXIF writer when a file is saved. None of the three is downloaded by anyone who came only to read. The ZIP builder is the exception and is not heavy: eighty lines written here instead of a library, and it ships with the batch page rather than being fetched when a queue runs.
- Room is set aside in the layout for advertising, below the reading matter and never above the tool or inside it, and nothing occupies it: the AdSense account is not approved for this domain, so those placements draw nothing at all rather than holding a band of empty height open for something that cannot arrive. Once the domain is approved they fill, each reserving its height before it loads so nothing moves under you, and the privacy page says what the script can see.
What is not built yet
The block transform that would turn a JPEG by ninety degrees without decoding it — the thing that makes a quarter turn genuinely free — is specified but not shipped. So is the vertical guide, the automatic angle suggestion, frame-by-frame rotation of animated files, and batching by a fixed angle. Each is a real piece of work with real edge cases, and half of any of them would be worse than none. They are named here rather than left as a silence.
Who made it
RotatePictures is built and maintained by the team behind this tool’s parent editor, whose attribution line sits under the wordmark in the footer. There are no accounts, no newsletter and nothing to sign up for. If something here is wrong — particularly if a file comes out turned the wrong way — that is a bug worth knowing about, and the orientation values in the reference page are the vocabulary to describe it with.