Photo Editor
Crop, rotate, straighten and colour-correct a photo, blur out anything private and draw on it, without the file ever leaving your device
⏳Loading...
Nothing is uploaded, and nothing needs to be
Editing a photograph is arithmetic on pixels, and the machine in front of you is better at it than a server on the other side of an upload. Your picture is decoded, adjusted, drawn on and saved without a single byte of it leaving the browser. There is no account, no queue, no watermark, and no copy of your holiday sitting in someone else's storage bucket waiting to be forgotten about.
It works with the network switched off, too. Load the page once and the whole editor is cached; after that it opens whether you are online or not.
Every edit is reversible
The original stays untouched from the moment it is opened. Cropping, straightening, every slider and every shape you draw is recorded as a description of what you want rather than applied to the pixels, and the picture on screen is rebuilt from the original each time.
That is why pulling contrast back and forth does not slowly degrade the image, why a crop can be reopened and loosened after you have drawn on it, and why undo goes back fifty steps without eating memory. Dragging a slider counts as one step, not as one per frame.
Hiding something is not the same as covering it
Drawing a black box over an account number is the most common way people get this wrong. On screen it looks finished, but the pixels underneath are still in the file in some formats, and in every format the person you sent it to has a picture with a rectangle on it rather than a picture with the number gone.
The blur and pixelate tools resample the region instead. The detail is destroyed before the file is encoded, so what was there is not recoverable from what you send. Blur is applied twice, because a single pass leaves large text readable at a glance. If you are hiding something that matters, zoom into the exported file and check it before you send it.
What comes out is what you saw
The preview runs at a reduced size so that dragging a slider on a 24 megapixel photograph stays immediate. The export is not that preview scaled back up: it replays the same edit against the full resolution original, through the same code, so an arrow lands on the same pixel it appeared to be on. Positions and line weights are stored as proportions of the picture rather than as screen pixels, which is what makes that work.
Colour and tone are handled by your graphics card, which is why the sliders respond as you drag rather than after. If WebGL will not start, the editor says so rather than quietly ignoring those controls; cropping and annotation still work.
The saved file has no metadata
A JPEG straight from a phone carries an EXIF block: the camera, the lens, the date, the settings, and often the exact coordinates where it was taken. Exporting from a canvas produces pixels and nothing else, so none of that survives into the file you download.
Usually that is what you want, particularly for anything going onto the internet. It is worth knowing about if you were relying on it: the copyright field and the capture date go too, so keep the original if those matter to you.
Rotation is applied on the way in
Phones do not usually rotate the pixels they capture. They store the sensor's landscape frame and add a tag saying which way up it belongs, which is why a portrait photo sometimes appears on its side in software that ignores the tag. This editor reads it while decoding, so what you see is the right way up before you touch anything.
HEIC is the one format that will not open, because no browser can decode it. On an iPhone, either export the picture as JPEG first or switch Camera to "Most Compatible" in Settings.
If you only need to change the size
This editor will resize on the way out, but the Image Resizer is the better tool for that on its own: it resamples with a Lanczos filter and unsharp masking, which holds detail better than a plain scale when you are shrinking a photograph a long way. Come back here when you want to cut, straighten, colour-correct or draw on it.
Frequently Asked Questions
Are my photos uploaded anywhere?
No. The picture is decoded, edited and saved entirely inside your browser, and no part of it is sent anywhere. There is no account to make and no server involved. Once the page has loaded once it also works with the network switched off, which is the simplest proof that nothing is being sent.
Does blurring or pixelating actually remove what was there?
Yes. Both tools resample the pixels in the region rather than drawing something over the top of them, so the detail is destroyed before the file is encoded. That is the difference between this and putting a black rectangle over a licence plate, which leaves the original pixels in the file in some formats and in every case only hides them behind a shape. Blur is applied twice, because a single pass can leave large text readable at a glance.
Will the file I download look exactly like the preview?
Yes. The preview is rendered at a reduced size so that dragging a slider stays responsive on a large photograph, but the export is not that preview enlarged. It replays the same edit against the full resolution original through the same code. Positions, line widths and font sizes are stored as proportions of the picture rather than as screen pixels, which is what keeps an arrow on the same pixel it appeared to be on.
Why does my exported photo lose its date and location?
Exporting from a browser canvas produces pixels and nothing else, so the EXIF block does not survive. That block is where the camera model, the capture date and any GPS coordinates live, so the saved file carries none of them. For anything going onto the internet that is usually what you want, but keep the original if you need that information.
Why will my iPhone photo not open?
It is probably a HEIC file, which no browser can decode. Either share or export the picture as JPEG first, or open Settings, then Camera, then Formats on the iPhone and choose Most Compatible so new photos are saved as JPEG.
Can I undo a crop after I have drawn on the photo?
Yes. Nothing is applied destructively: every crop, slider and shape is stored as a description of the edit and the picture is rebuilt from the untouched original each time. Reopening the Crop tab lets you loosen or move the rectangle, and the annotations stay attached to the part of the picture they were placed on rather than sliding across it.
Why does the tool say WebGL is unavailable?
The tone and colour controls run on your graphics card, which is what makes them respond as you drag rather than a moment later. If the browser cannot start WebGL, usually because hardware acceleration is switched off or a remote session is in the way, those controls will not do anything and the editor says so rather than pretending. Cropping, rotating, annotating and saving still work.
Is there a limit on how large a photo can be?
The practical limit is the largest texture your graphics card will accept, commonly between 4096 and 16384 pixels on the longest edge. Anything above it is resampled to fit when it is opened, and the editor tells you it has done so along with the size the export will be, rather than quietly handing back something smaller than you supplied.