Skip to content
Upload Nothing runs in your browser

Crop image files by the pixel rectangle you type

Crop image files when you already know the rectangle in pixels: a margin on a scan, a toolbar on a screenshot, or a square cut from a known corner. You type x, y, width, and height. Width or height of 0 means the rest of the image from that origin. Aspect labels such as 1:1 or 16:9 do not replace those numbers. PNG stays PNG, so transparency in the cut survives.

Illustration of a crop image rectangle marking x, y, width, and height on a photo

Loading tool…

or drop / paste

How to crop image pixels

  1. Add one image. This page takes a single file. Drop it, paste it, or use Choose files. If you have a batch of different crops, run them one at a time.
  2. Set X and Y to the top-left corner of the rectangle, in pixels, with the origin at the top left of the decoded picture. Leave them at 0 to start at the corner.
  3. Set width and height in pixels. Leave width at 0 to keep every pixel to the right of X. Leave height at 0 to keep every pixel below Y.
  4. Treat the aspect menu as a label. Free, 1:1, 4:3, 16:9, and 9:16 do not type the cut for you. The numbers in the four fields are what is cut.
  5. Press Crop image and download the result. A PNG stays a PNG. A JPEG stays a JPEG. A WebP stays a WebP. The rectangle outside the numbers is discarded.

Crop image options explained

X and Y are pixel offsets from the top left. Values past the edge are clamped. A crop that would start outside the picture is pulled back so the cut still has at least one pixel.

Width or height of 0 means the rest of the image along that axis. Width 0 and height 0 together, with x and y at 0, keeps the whole picture. A positive width stops the cut that many pixels from X.

The aspect list is Free, 1:1, 4:3, 16:9, and 9:16. Those are labels. They do not calculate width and height. If you want a square, type equal width and height yourself, or set one side and match the other.

PNG stays PNG, so a transparent pixel inside the rectangle stays transparent. The page does not flatten the cut onto white. JPEG and WebP stay in their own formats. This page crops one file, not a folder.

The numbers are the cut

There is no drag handle on this page. The crop is the rectangle you type, which is the right tool when a spec says “start 40 pixels in and take 800 by 600”. X and Y place the top left. Width and height place the bottom right relative to that point.

If the rectangle runs past the bitmap, it is clipped to the pixels that exist. You do not get empty padding. A width of 0 is not an empty crop. It means “continue to the right edge”. The same idea applies to height and the bottom edge.

Presets do not type the rectangle

Free, 1:1, 4:3, 16:9, and 9:16 are names in a menu. Choosing 16:9 does not fill width and height, and it does not lock the fields into that ratio while you type. The cut is still whatever integers are in the boxes when you press the button.

If you need a 16:9 frame and you know the width, compute the height yourself and type it. If you need the picture fitted into a frame with a margin colour or a center crop to a box, that is resize image with pad or cover, not this page.

PNG stays PNG

A PNG crop is saved as PNG, so transparency inside the rectangle is still transparency. The discarded margin is gone, including any transparent padding you meant to trim. Words drawn in the picture stay. Hidden text chunks are not the point of this tool.

A JPEG crop is a new JPEG of the rectangle, because the scan cannot be sliced without encoding the pixels again. Do not expect the cropped JPEG to be a bit-identical remux. If you only wanted metadata gone and the frame untouched, use remove exif data instead of a zero crop.

Limits, formats and output

Accepted input JPEG, PNG, WEBP, GIF, BMP, HEIC, AVIF
Files per batch 1
Soft size warning 50 MB each
Hard stop 500 MB total in memory
Output The chosen image format, or a ZIP for a batch
Account None. The tool runs in this tab.

Your file never leaves your device

This image is cropped by a script running in this browser tab. The work runs in a Web Worker in this tab, using WebAssembly for the heavy parts, and the result comes back as a local blob. This site does not upload the file, store it, or log its name.

To verify: load the page, turn on airplane mode, and drop the file again. It still finishes. Or open DevTools, choose Network, and watch the run: there is no upload. The architecture is described on How it works.

Frequently asked questions

What does width 0 mean?

It means the rest of the image to the right of X. Height 0 means the rest below Y. Use that to trim a left margin or a top toolbar without measuring the full width. Both at 0, with X and Y at 0, keeps the whole picture.

Does 1:1 crop a square for me?

No. The aspect choices are labels: free, 1:1, 4:3, 16:9, and 9:16. They do not write the fields. Type the width and height you want cut. A square is two equal numbers you enter.

Will a PNG crop turn white?

No. PNG stays PNG, and transparent pixels inside the rectangle stay transparent. This page does not paint a background. If you need the clear areas flattened to a colour, use png to jpg and set the background there.

Can I crop several files at once?

No. This tool takes one file. Each picture usually needs its own x, y, width, and height. Run them separately. For a shared box on many files, use bulk resize images with cover or pad instead of a crop.

Are the coordinates from the top left?

Yes. X increases to the right and Y increases downward, in pixels of the decoded image. Orientation stored in a JPEG is applied by the decoder first, so the numbers refer to the picture you see, not to unrotated sensor pixels.

Does crop image change the format?

PNG stays PNG, JPEG stays JPEG, and WebP stays WebP. The page does not offer a format menu. Convert afterwards if the cropped file has to change type. The cut itself is only the rectangle.

Last updated 2026-09-26. By Tam.