PictureEraserA PictureEditor.com tool
The fill runs on your own hardware; nothing is sent anywhere.

Remove an object from a photo

Paint over what should not be in the frame. The fill reads the pixels around the painted region and puts back what they imply was standing there.

Drop in a photograph and paint over whatever shouldn't be in it.Paste works too, which is where most screenshots live. The file is read here and goes no further.

Nothing to hand?

What the eraser does

One operation, inside one frame. A region is painted, the pixels under it are thrown away, and something is synthesised in their place out of the pixels around them. The frame keeps its dimensions, nothing is separated from its background, nothing moves, and every pixel outside the painted region and its soft edge is written back into the exported file exactly as it arrived.

Two engines do the synthesising and they are good at different things. The marching fill advances the edge of the region inward a pixel at a time, colouring each one from the intact pixels it can still see, weighted so that a neighbour sitting along the direction of travel is trusted further than one sitting at right angles to it. That is the right answer for a date imprint, a power line or a hairline of lettering, where every pixel has real information a few steps away. The patch search is the right answer for everything wider: it searches the rest of the photograph for the squares that best match each square overlapping the region, lets all the overlapping answers vote, and does it again at four or five resolutions from coarse to fine.

Neither engine invents texture from nothing, and that is deliberate rather than a shortcoming we have not got round to. Everything that comes out was already somewhere else in the same photograph, in the same light, at the same grain. When the search runs out of good matches the result looks smeared or repeated — which anybody can see, and which is a far better failure than a confident piece of fiction in a picture somebody is about to print.

Working a removal

  1. Open the photograph. Drag it onto the frame, paste it, or pick it off the disk. Files up to 120 MB open directly, at up to about 32 megapixels in a desktop browser or 16 on an iPhone or iPad, where Safari gives a canvas far less room and fails silently past it. Over either figure a reduced working copy is offered as a question rather than refused as an error.
  2. Paint over what should go. The brush suits anything with an irregular outline, the rectangle suits burnt-in digits and captions, and selecting by similar colour suits flat graphics lying on busy ground. Square brackets step the brush width; E flips the tool between adding to the region and taking out of it.
  3. Push the edge out by two pixels. A removal that leaves a thin rim of the old object is the single most common disappointment, and it is almost always two pixels of overspill. Grow before you run rather than re-running afterwards.
  4. Run the fill. Enter starts it. Anything a few pixels wide goes to the marching fill, which advances the boundary inward one pixel at a time. Anything wider goes to the patch search, which rebuilds the region out of other parts of the same photograph over a coarse-to-fine pyramid.
  5. Judge it on the divider. Drag the boundary across the region and watch the join, not the middle. Holding space snaps the whole frame back to how it arrived, which is the comparison that catches a flattened texture.
  6. Save the full-size file. The export replays every committed fill over the full-resolution frame with the identical engine and the identical seed, region by region, rather than enlarging what was on screen. Treat it as a re-run and not a copy: at four times the pixels the search has four times the picture to draw from, so the saved fill agrees with the preview in substance and will differ from it in detail.

Files it opens and files it returns

Seven containers open with no help at all: PNG, JPG, WebP, TIFF, BMP, GIF and the ICO icon format. An iPhone HEIC needs a WebAssembly decoder weighing roughly one and a half megabytes, pulled down the first time such a file is actually chosen and at no other moment. Orientation is settled during decoding: a two-pixel test image goes through the decoder once to establish whether this particular browser honours the rotation flag on its own, and where it does we leave the pixels alone. Skipping that step is why a holiday photograph lands sideways on one browser and inverted on another. Out comes PNG with any see-through areas intact, JPG at a quality you set, or WebP where the browser can write one.

  • Nothing here recovers what was actually behind the object. That information left when the shutter closed and is not in the file. What comes back is a plausible continuation of the surroundings, which is a different claim and a smaller one.
  • Straight lines and regular patterns in perspective break both engines. A railing, a tiled floor, a brick course, a horizon crossing the region — a patch search has no notion of a line and will bend it, and the marching fill will smear it.
  • A face or readable lettering inside the painted region comes back as plausible nonsense. There is no model here that knows what an eye or a letter is, and there is no arrangement of nearby pixels that adds up to one.
  • Past roughly a quarter of the frame this stops being a removal and becomes a generation task. The run button stays live because it is your photograph, but the warning appears first, and the result will look like it.
  • An animated GIF or WebP is reduced to its first frame, and the page says so as soon as it sees one rather than at export time. One photograph at a time: masks are drawn per picture, and a queue would be a worse product wearing this one's clothes.

Questions we get

Can it take a person out of a beach photograph?
Usually, if they are standing on sand, grass, water or foliage and they are not overlapping anything with a strong edge. Those surfaces are texture with no long-range structure, which is exactly what a patch search is good at: it rebuilds the region out of other sand from the same picture, at the same time of day, in the same light. Put the same person in front of a tiled wall and the answer changes, because a patch of tile knows nothing about where the grout lines are supposed to run.
Why did the railing bend where I erased the post?
Because neither engine has a concept of a line. The patch search asks what a small square of this picture most resembles elsewhere in this picture and pastes that in; a square of railing looks very like a square of railing a foot along, so it fits, and the answer is a railing at slightly the wrong angle. The marching fill carries a gradient across a narrow gap and cannot carry one across a wide one. Structure crossing a region is the honest limit of both, and the guide on straight lines says what to do instead.
Can I take a watermark off a stock photograph?
The tool will remove it. Whether you may use the result is a separate question with a different answer: a mark sitting on top of a picture you have no licence for is still a picture you have no licence for, and removing the mark changes nothing about that except how obvious it is. Where this is legitimate is your own back catalogue, a photograph a client marked before delivery, or an image whose licence you hold and whose marked copy is the only one left.
What if I want everything except the subject gone?
Then the job is not a removal and this is the wrong page. Erasing everything around a person means deciding, for every pixel, whether it belongs to them — a cut-out, with a see-through background and an edge that has to survive hair. Different operation, different ways of going wrong, different site: removebgpicture.comhas it. What this page does is the opposite: the frame keeps its dimensions, the subject is never separated from anything, and only the painted region changes.
Does the painting keep up on a phone?
The brush runs on the main thread and nothing else does, so it tracks a finger. The fill runs in a worker, which is why the page keeps drawing and the progress bar keeps moving while a region a few hundred pixels across is rebuilt. How long that takes is a number we will not quote at you, because no phone has ever run this code where anybody could time it. The only measurements taken were of the engine compiled out and run under Node on a build machine: a 200-pixel square came back in about a second, a 400-pixel square in three and a half. Expect seconds rather than an instant, expect a slower device to be slower than that, and expect the full-size run at save time to take longer again, since it repeats the work on four to twenty times as many pixels.
Why is there no neural fill in the list?
Because no weight file is published for this site yet, and an engine switch that downloads nothing is worse than no switch. The loader, the tiling and the progress reporting for a learned fill are built and waiting on the file; when there is one, the option appears and states the download size in megabytes before a byte of it moves. Until then every removal here is done by the patch search or the marching fill, and the page says which one produced each result.

What each format costs on the way out

The fill is the same arithmetic whichever container you save into; what differs is what the container does to the pixels the fill did not touch, and that is worth deciding before you press save rather than after.

  • PNG rewrites every pixel losslessly, including the ones nothing happened to, and keeps any see-through areas. It is the right answer for a scan you intend to keep, and it is the largest file by a wide margin — often four to eight times the JPG.
  • JPG re-encodes the entire frame, not only the filled region, because the format has no mechanism for leaving part of a picture alone. On an original that has already been through two or three generations of JPG, that is another generation. The quality control is there because the right number depends on how many have gone before.
  • WebP is written by the browser rather than by this page, so where it exists it is the smallest of the three at a given quality and where it does not the option is simply absent. Nothing here silently substitutes a different format for one you asked for.
  • Every container drops what the camera or scanner wrote in the header — capture time, lens, and any coordinates. That is not a setting. A photograph you have just edited to remove somebody from should not be carrying the place it was taken.

Where to go from the front page