Oncea file clinic

Crop image

Cut one still to a rectangle. Drag to move, handles to resize, optional aspect lock. 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). Drag the gold box, pull a handle, or type x / y / w / h. Nothing is uploaded.

How to crop 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. Drag the gold rectangle to move the crop. Pull a corner or edge handle to resize. Or type X, Y, W, H in source pixels.
  4. Pick Free, 1:1, 4:3, 16:9, or 9:16. Tick Lock aspect to keep the current ratio while you resize.
  5. Pick JPEG or PNG. For JPEG, quality 0.90 is the default.
  6. Click Crop, then download. There is no watermark and no signup.

Need a different format without cutting the pixels? Use Convert image. Need a quarter turn or a max edge first? Use Rotate / resize. Same drop, still local.

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 only the rectangle you picked onto a canvas, then encode a new JPEG or PNG. Close the tab and the bytes are gone.

This is a new file of the pixels. Metadata is not copied. A transparent PNG keeps alpha. JPEG fills empty pixels with white.

Aspect presets and lock

Free is any rectangle. 1:1 is a square. 4:3, 16:9, and 9:16 snap the box to that ratio, centered on where you already were, then keep it while you drag a handle. Lock aspect does the same for whatever ratio the box has now — useful after you sized it by hand. Untick lock (or pick Free) to stretch freely again. X and Y are the top-left in source pixels; W and H are the size. A locked aspect updates the other side when you type.

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 crop of a huge still 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. A crop 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, rotate it on /rotate-image first, then come back. Live Photos: we read the still.

What this is not

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

FAQ

Does the photo leave my computer?

No. Decode, crop, 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.

Can I crop several files at once?

No. One still. Convert image is the batch verb, and it does not crop.

Does lock stay on when I pick a preset?

Yes. 1:1, 4:3, 16:9, and 9:16 turn lock on. Free leaves lock alone unless you untick it. Unticking lock returns you to Free.

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.