Google Analytics helps us understand which tools you use and which actions work. Your files and entered text stay out of analytics.

Free · no sign-upFull resolutionNothing uploaded

Object remover

Paint over the thing you want gone and it goes, with the background rebuilt behind it. The model is downloaded once and runs inside this tab, so the photo stays on your own machine and comes back at the size you started with.

Mark the object at 100%, not on a 512-pixel proxySaves at your photo's real size, not a 720-pixel previewNo account, no credits, no watermark, no daily capWorks offline once the model has been cached

Paint over what you want gone, press Erase, save the photo.

Signed in, typed text and settings save automatically to your private account. Text opened from files stays in this browser’s local storage. Files stay in your browser. Account saving

A finger is a blunt brush. This works on a phone, and the model is a 26.8 MB download to get started. But the result is only as good as the shape you paint, and a mouse or a trackpad paints a much better one. For a photo that matters, open this page on a desktop.

Mark
64 px
8 px

Free · no sign-up · nothing uploaded. The model runs in this tab, so the photo stays on your device. The weights are fetched once from our own models.floi.dev and then cached, and after that the tool works offline.

How to remove an object from a photo

  1. Drop a photo in

    One file, dragged onto the box or picked from it. There is no upload step, so a 20 MB photo opens as fast as a small one.

  2. Paint over what you want gone

    Brush for an awkward shape, Box for anything rectangular. Zoom in first if the edge is tight. Cover the object and a little of what surrounds it.

  3. Press Erase it, then save

    The background closes up behind the mark. Mark something else and run it again, or save the photo at the size you started with.

What the other four do with your resolution

We put one 1600 by 1067 photo through the four object removers ranking above this page, in Chrome 153 on macOS 27, on 25 September 2026. The interesting number is not how good the fill was. It is how many pixels you were allowed to paint on and how many you got back.

ToolYou paint onYou get backPhoto goes to
floi1600 × 1067, zoomable1600 × 1067Nowhere
Picsart512 × 3411600 × 1067Their servers
Photoroom1600 × 10671600 × 1067Their servers
Magic Studio600 × 400600 × 400Their servers
Cleanup.pictures720 × 480 free720 × 480 freeTheir servers

Cleanup.pictures is the honest one about it. Before you can start, it shows you your photo beside a shrunken copy and says "This is an HD Image. Upgrade to Pro to keep the original quality, or downscale to continue for free." Pro is $5 a month. Magic Studio does not mention the reduction at all, and you find out when you open what you saved.

Photoroom keeps your resolution and does not charge for it, so it is the one rival this page cannot beat on that axis. It still posts your photograph to a server, which is the axis it cannot win.

The number nobody talks about is the one you paint on

An inpainting model does not choose what to remove. You do, by painting a mask, and the fill is only ever as good as that shape. So the resolution that decides your result is not the one you download. It is the one you were allowed to draw at.

At 512 pixels wide on a 1600 pixel photo, one pixel of your brush is three pixels of the picture. Aiming at a thin wire, the gap between two railings or the edge of somebody's hair is not slightly harder at that scale. It is not available. What you get instead is a mask that spills onto things you wanted to keep, or stops short and leaves an outline.

This tool gives you the photo at its own size, with zoom to 800% and a brush measured in photo pixels rather than screen pixels. That is the whole reason the panel above is a scrolling viewport rather than a fitted preview.

Using the object remover

Everything is on one bar above the picture. Nothing is behind a menu and nothing needs an account. This is what each control does and when it is the one to reach for.

What you hand it

One photo, dropped on the panel or picked from it. PNG, JPG, WebP, AVIF and GIF all open, and the ceiling is 40 megapixels. There is no file size limit separately from that, because nothing is being uploaded and the only cost is your own memory.

The photo opens fitted to the panel and the status line under it tells you its pixel dimensions. Those are the dimensions you will save at.

The three markers

Mark chooses how you paint. All three paint the same mask, so you can start with a box and tidy it with the brush.

MarkerWhat it does
BrushPaints a round stroke wherever you drag. The one to use for a person, a shadow, a branch or anything with an awkward outline.
BoxDrag a rectangle and it fills. Much faster and much more exact than a brush for a sign, a watermark, a date stamp or a label.
UnmarkThe same round stroke, rubbing the mark back off. For when you have gone over something you wanted to keep.

Size and Edge

Size is the stroke width of the brush and the unmarker, in pixels of your photo. It does not change when you zoom, so a 64 pixel stroke covers 64 pixels of the picture whether you are looking at the whole frame or a corner of it. The ring under your pointer is that size on screen.

Edge grows the whole mark by that many pixels just before the fill runs. It is the control that fixes the most common disappointment.

EdgeWhen
0 pxYou painted generously already, or the thing you are erasing sits right beside something you must not touch.
8 pxThe default, and right for most photos. Absorbs the soft ring of pixels that carry the object's colour.
20 px and upA hard-edged object, a drop shadow, or a first attempt that left a faint outline behind.

Edge is read at the moment you press Erase it, not while you paint. So if the first attempt left a ghost, you can raise Edge, mark the same area again and run it without repainting anything carefully.

Moving around the photo

The picture sits in a viewport that scrolls, and zooming is how you get an accurate mask. Fit shows the whole frame, 100% shows one photo pixel per screen pixel, and above 100% the pixels are drawn square rather than smoothed so you can see exactly where an edge is.

To do thisDo this
Zoom in or outThe + and − buttons, or hold Ctrl or Cmd and scroll. Scrolling zooms towards the pointer.
PanScroll normally, or hold Space and drag, or drag with the middle mouse button.
See the whole photo againFit, or 0.
Get more roomFull screen, which moves the panel into the whole viewport and keeps everything where it was.

Taking it back

Undo and Redo step through erases, not brush strokes. Each press takes back one whole fill, up to twelve of them, so you can try an object, dislike the result and be exactly where you were.

Clear marks wipes the mask without touching the photo, for when you have painted the wrong thing and would rather start the mark again than unmark it. Hold to see the original shows the photo as it arrived for as long as you hold the button down, which is the only reliable way to judge whether a repair is invisible.

Saving

Save the photo writes the file at the photo's own dimensions. There is no second resolution and no watermark.

FormatWhat you get
PNGNo further loss. The right choice if the photo is going on to be edited again. Largest file.
JPGQuality 92. Much smaller, and the usual answer for a photograph that is finished.
WebPSmaller again at the same quality. Missing in older Safari, so the option is hidden where the browser cannot write one.

Keyboard shortcuts

They work while the pointer is over the tool or something in it has focus, so a strayB typed elsewhere on the page does not change your brush.

KeyDoes
BBrush
MBox
EUnmark
[ and ]Stroke smaller and bigger
EnterErase it
Cmd or Ctrl + ZUndo the last erase
Shift + Cmd or Ctrl + ZRedo
0Fit the photo to the panel
1Zoom to 100%
Space + dragPan

What it will not do

The refusals are as useful as the features, and one of them is a warning rather than a limitation.

Recover what was behind it

The fill is invented, not uncovered. On a wall or a lawn that is indistinguishable from the truth. On text it is not, and it is never evidence.

Rebuild a document

Erasing a stamp from a page of text destroys the text around it. An inpainter generates texture that looks like writing, not writing.

Hold a rigid repeating pattern

Brickwork, tiles, railings and window frames come back plausible but misaligned. The grid does not survive the join.

Erase half the picture

The bigger the mark, the softer the fill, because it is generated at a fixed size and stretched. A lamp post is sharp, a building is not.

Find the object for you

There is no "detect people" button. You paint what goes. That is slower to start and it is the reason nothing you wanted is removed by accident.

Take a video

One still image at a time, up to 40 megapixels. For a frame out of a video, pull it with the frame extractor first.

Removing a watermark from someone else's photograph is usually copyright infringement. The tool has no way to know what you painted over and this page is not going to pretend otherwise. It is your own pictures this is built for.

How fast it is, and on what

A fill takes 1.1 to 1.2 seconds on a MacBook Pro with an M1 Max, in Chrome 153. That is the whole wait once the model is loaded, timed from the press of the button to the picture changing, across six runs on three photos and five mark sizes on 25 September 2026. The striking thing is how little the number moved.

PhotoMarkedFill
1600 × 106760 × 60 px1.1 s
1600 × 1067190 × 278 px1.1 s
1600 × 1067900 × 700 px1.2 s
4000 × 2667475 × 695 px1.2 s

A 10.7 megapixel photo costs the same as a 1.7 megapixel one, and a mark covering half the frame costs the same as a blemish. That is the window doing its job: whatever you paint, the model is handed at most a 1024 pixel square around it. Your photo's size changes the memory the tab needs and nothing else.

The page does not freeze while it runs. Chrome reported no long task on the main thread during any of the six, because the model is in a worker and the only full-size pixels that cross between them are handed over rather than copied. You can scroll, zoom and read the rest of this page while a fill is happening.

Starting up is separate. With the model already cached it is 284 ms from hovering the panel to ready, most of that compiling the network. The first visit has to fetch 26.8 MB of weights first, and how long that takes is your connection rather than your machine. The full method, the test images and the results on grass, brickwork and printed text are in the guide.

Frequently asked questions

Do I get the photo back at its real size?

Yes, and this is the one thing worth checking against anything else you have used. We ran the same 1600 by 1067 photo through the four tools ranking above this page on 25 September 2026. Cleanup.pictures stopped and offered a choice: pay, or continue at 720 by 480. Magic Studio returned 600 by 400 without mentioning it. Picsart let us paint the mask on a 512 pixel canvas. Here a 4000 by 3000 photo saves as a 4000 by 3000 file, because there is no server bill to recover and so nothing to meter. Only the patch you painted is regenerated. Every other pixel in the file is the one you dropped in.

What is downloading the first time I use this?

Two files, both from models.floi.dev, both the same for everyone. The model is 26.8 MB and the WebAssembly runtime that executes it is 2.2 MB on the wire. That is our own storage bucket on our own domain rather than somebody else's model host, so model downloads go to floi's storage rather than an external model host. It is a separate hostname only because 67 MB of model files have no business sitting in the website's own deployment. Neither download carries your photo. Your browser caches both, so the second visit starts instantly and the tool keeps working with the network switched off. The photo is not part of that traffic in either direction: it is decoded to pixels in this tab and the pixels never leave it. If you would rather check than take our word for it, open your browser's network panel and watch. You will see model downloads and no request carrying your picture. Google Analytics may send usage events, and signed-in settings save privately. Turn Google Analytics off through Analytics settings in the footer.

Can it get back what was actually behind the object?

No, and nothing else can either. The model has never seen what was behind the thing you painted over. It looks at the pixels around your mark and generates something that plausibly continues them. On grass, sky, carpet, water, a wall or a road that is indistinguishable from the truth, because those surfaces carry no information. On a face, a sign, a number plate or a line of text it is a fabrication that looks like the right sort of thing. That matters in one direction especially: this is not a way to un-redact a document, and it is not evidence of anything.

Why does the repair sometimes look softer than the rest of the photo?

Because the fill is generated at a fixed size and then placed back into your picture. The model works on a square window around your mark rather than on the whole photo, and that window is scaled to about 512 pixels before it runs. A small mark means a small window, so the fill arrives at roughly the resolution it will be shown at and looks sharp. A mark that covers half the frame means a window covering most of it, and the fill is then stretched. The practical rule is that softness tracks the size of the thing you erased, not the size of your photo. Erasing a lamp post from a 12 megapixel picture is sharp; erasing a building is not.

It left a faint outline of the thing I erased.

Raise Edge. A mask that stops exactly at the object leaves its outline behind, because the ring of pixels just outside the object still carries its colour, and the model treats those as context worth matching. Edge grows the marked area by that many pixels before the fill runs, so the outline goes with the object. It starts at 8 pixels, which is enough for most things. A hard-edged object on a busy background sometimes wants 20. You do not have to repaint anything to try a different value: move the slider, mark the same area again and run it.

What is the difference between this and the background remover?

Which part of the picture you keep. The background remover keeps the subject and throws the background away, and gives you a transparent PNG. This keeps everything and removes one thing from the middle, and gives you back an ordinary photo with a hole filled in. Use the background remover for a product shot or a headshot you want to place on something else. Use this one for the bin, the stranger, the wire, the date stamp or the ex-partner.

Does it work on a phone?

It runs, and the result will be worse than on a laptop, for a reason that has nothing to do with the model. The fill is only as good as the shape you paint, and a fingertip on a six inch screen paints a much rougher shape than a trackpad. The 26.8 MB download is the second half of it, and a phone tab gets a small slice of memory to hold a big photo and a model in at once. Everything works. For a photo that matters, use a desktop.

Is there a limit on how many photos I can do?

No. There is no account, no credit, no queue and no daily cap, because nothing you do here costs us anything. The model is downloaded to your machine once and every fill after that is your own processor doing arithmetic. The only ceiling in the tool is 40 megapixels a photo, which is there so a phone does not run out of memory rather than to sell you anything.

Something missing? Request a feature

↑↓ move↵ openesc close