Editing images in your browser
How this editor works, why it keeps everything on your device, and what the browser can and cannot do with an image.
Everything happens on your device
Most online image editors upload your picture to a server, process it there, and send back a result. That means a copy of your image sits on someone else’s machine, subject to their retention policy and their security.
This editor does not work that way. Your browser already contains a complete image pipeline: it can decode a JPEG, hand you the pixels, let you draw on them, and encode a new file. This tool is a user interface over that pipeline. The image is read from your disk into memory, edited in memory, and written back to your disk.
The practical consequence is that the tool works offline once loaded, has no upload limit beyond your device’s memory, and cannot leak your image because it never transmits it. Our test suite includes a check that no source file contains a network call, so the claim is enforced rather than merely asserted.
Starting: a blank canvas or an existing image
Choose a width and height for a blank canvas, or open a PNG, JPEG or WebP from your device. Opening an image replaces the current document, so export anything you want to keep first.
Very large images are reduced automatically, and the tool tells you when it has done so. This is not an arbitrary restriction. A 50-megapixel photograph needs about 200 MB as raw pixels in a canvas, and a second copy for the output doubles that. On a phone, exceeding the limit does not raise a catchable error: the browser hands back a blank canvas, or the operating system kills the tab. Reducing the image first is the difference between a working editor and a crash.
Drawing, and why touch works properly here
The brush, eraser, line, rectangle, ellipse and text tools all work the same way with a mouse, a trackpad, a finger or a stylus, because the editor listens to unified pointer events rather than separate mouse and touch handlers.
One detail makes touch drawing usable rather than frustrating: the canvas declares that it handles its own gestures, so a finger dragged across it draws instead of scrolling the page. Editors that omit this are almost unusable on a phone, because every stroke fights the browser for control. The page still scrolls normally everywhere outside the canvas.
Pointer events also arrive less often than the screen refreshes, so a quick stroke is reported as a handful of widely spaced points. The editor fills in the gaps between them, which is why a fast line comes out solid rather than as a row of dots.
Undo, and the memory it costs
Every stroke, shape and transform is one undo step. Undo and redo work from the toolbar or with the usual keyboard shortcuts.
History is bounded on purpose. Each step retains a copy of the pixels it changed, and on a large image that is tens of megabytes per step. An unbounded history is one of the quickest ways to exhaust memory on a phone, so this editor caps history by both the number of steps and their total size, discarding the oldest first. The status line shows how much is currently retained.
That is a deliberate trade: a shallower history in exchange for an editor that does not die halfway through a session.
Layers, kept deliberately small
Layers let you keep an annotation separate from the photograph underneath, so you can adjust or remove it without touching the original pixels. You can add, select, rename by position, reorder, hide, set opacity, merge down and flatten.
What is here is a small raster layer model, and it stops there on purpose. Blend modes, layer masks, groups, adjustment layers and non-destructive transforms are not implemented. Those features are what separate a sketching tool from a professional compositor, and a half-working version of them is worse than their honest absence. The limitations page lists exactly what is missing.
Each layer holds a full-size bitmap, so layers cost memory in direct proportion to their number. The cap is twelve.
Exporting
PNG is lossless and keeps transparency: the right choice for drawings, diagrams and screenshots. JPEG is much smaller for photographs but cannot store transparency and loses a little quality each time it is saved. WebP does both jobs well and produces smaller files than JPEG at comparable quality.
If your image has transparent areas and you choose JPEG, the editor warns you before saving and fills the transparency with white rather than letting the browser pick a colour, which is sometimes black.
The exported file is produced in the page and saved straight to your downloads folder.
Questions
Does the editor work offline?
Yes, once the page has loaded. There is nothing to contact, so after the initial load an internet connection is irrelevant to it.
Why was my photograph made smaller when I opened it?
Because it exceeded what a browser canvas can hold reliably on your device. The alternative is a blank canvas or a crashed tab, so the editor scales the image down and tells you the dimensions it used.
Can I keep editing where I left off tomorrow?
No. Nothing is saved, because saving your image would mean storing it somewhere. Export before you close the tab.
Limitations
- Layers are raster only: no blend modes, masks, groups, adjustment layers or non-destructive transforms.
- Large images are downscaled to fit the device’s canvas limit, so the editor is not suitable for full-resolution work on very large photographs.
- Undo history is bounded by size and step count, so a long session will not retain every step.
- Nothing is saved between sessions. Closing the tab discards the document.
- No RAW, HEIC, TIFF, GIF or SVG support: the editor handles PNG, JPEG and WebP only.
- No colour management. Images are treated in the browser’s default colour space, so an embedded ICC profile may not be preserved.
Last reviewed 2026-09-13.