Oncea file clinic

Rotate / resize

Turn a still 90, 180, or 270 degrees, optional flip, or fit a max edge or a box. One image, in this tab. No account. The download is just a file.

Before you start. About 80 MB is the ceiling. Desktop Chrome or Firefox is the setup that works. iPhone and large files may fail — the work stays in this tab, and the browser can run out of memory.

Drop one JPEG, PNG, WebP, or HEIC, or paste (Ctrl/Cmd+V). Rotate, flip, or resize in this tab. Nothing is uploaded.

How to rotate or resize an image on this page

  1. Read the limit note above the square first. About 80 MB. Desktop Chrome or Firefox. iPhone and large files may fail.
  2. Drop one JPEG, PNG, WebP, or HEIC on the square, click it, or paste from the clipboard with Ctrl/Cmd+V. Nothing leaves the tab.
  3. Pick 90°, 180°, or 270° if the shot is sideways. Tick Flip H or Flip V if you need a mirror.
  4. Leave resize off to keep the pixel size. Or pick Max edge (longest side, aspect kept) or Box (width and/or height). Aspect stays locked unless you untick it.
  5. Pick JPEG or PNG. For JPEG, quality 0.90 is the default.
  6. Click Rotate / resize, then download. There is no watermark and no signup.

Need a different format without turning the pixels? Use Convert image. Same drop, no geometry. A HEIC that is already upright belongs there. Need to cut a still? Use Crop image.

What this page actually does

The browser decodes the still in this tab. HEIC goes through a maintained libheif build (the heic-to library). JPEG, PNG, and WebP use the browser decoder. We draw the pixels onto a canvas with the rotation and flip you picked, then scale to the size you asked for, then encode a new JPEG or PNG. Close the tab and the bytes are gone.

This is a new file of the pixels, not a lossless JPEG transpose and not an EXIF orientation flag. Metadata is not copied. A transparent PNG keeps alpha. JPEG fills empty pixels with white.

Rotate, flip, and resize

Rotate is quarter turns only: 90, 180, 270. That is the sideways phone photo and the scan that landed on its side. Arbitrary angles are not on this page. Crop is a separate verb at /crop-image.

Flip is a mirror of the already-rotated picture. Horizontal is the usual selfie / sign-text fix. Vertical is rarer; it is there so you do not need another app.

Max edge keeps aspect and only shrinks. A 4000 × 3000 still with max edge 1920 becomes 1920 × 1440. A shot already inside the edge is left as-is (after rotate). Box with aspect locked fits inside the width and height you typed — or, if you fill only one side, scales to that side. Untick Keep aspect only when you really want to squash the picture.

Why the limits are loud

A browser is not Photos.app. Keep the drop under about 80 MB. Use a desktop. An iPhone tab has a tight memory ceiling. A 48 MP HEIC can decode into hundreds of megabytes of raw RGBA before we draw anything. If the tab reloads or the page goes white, the browser gave up. That is not a silent upload.

Output is capped at an 8192-pixel edge and about 25 megapixels so a typed-in 30000 × 20000 does not take the machine with it. The readout says when we cap. That is a safety ceiling, not a print shop.

What you should expect

JPEG is lossy. Even a 90° turn is a re-encode, so a second pass is a little softer. Quality 0.90 is visually close to a phone snapshot. PNG is lossless and often larger. HEIC in becomes JPEG or PNG out — we do not write HEIC.

Orientation baked in by the decoder should already look upright for most iPhone stills. If a shot is still sideways, that is what the 90° control is for. Live Photos: we read the still.

What this is not

This is not a batch folder app, not a crop tool, and not ImageMagick. Crop lives at /crop-image. One still at a time. Hundreds belong in Preview or magick mogrify -rotate 90 on a machine you control. Convert format without turning the pixels on /convert-image. PDFs have their own clinic at /pdf.

FAQ

Does the photo leave my computer?

No. Decode, rotate, and encode run in this tab. The privacy page says the same thing.

Can I paste a screenshot?

Yes. Focus this tab and press Ctrl+V (Cmd+V on a Mac). We take the first image on the clipboard. HEIC rarely lands there; drop those.

Why is a 90° JPEG not the same bytes?

The canvas writes a new file. We do not rewrite JPEG MCU blocks in place. For a form, a slide, or WhatsApp, it is the same picture. For a bit-exact archive, rotate on a desktop tool that can transpose without re-encoding.

Can I crop here?

No. This page turns and scales. Cut a still on Crop image — free, 1:1, 4:3, 16:9, or 9:16. Same kinds of still, still local.

Does keep-aspect stay on?

Yes, by default. Max edge always keeps it. Box keeps it unless you untick the box. Stretching is a choice, not a surprise.

Do you add a watermark or ask for an email?

No. The download link is a normal file.

Is my job counted?

Each successful apply increments a number in localStorage, key once:jobs. Nothing is posted to a server.