Remove a watermark from a video without blurring it

Answer in the first paragraph Measured on this machine Honest about the cost

There are exactly three ways to end up with no blur box, and only one of them leaves no trace at all. Crop the marked edge off — no fill, no patch, but you lose that strip of picture. Inpaint the region instead of smearing it — no blur, but the fill is invented from the pixels around it. Or re-export from the project, which is the only route where nothing was ever damaged.

What does not exist: keeping the whole frame and getting the original pixels back. They were overwritten the moment the mark was composited onto the frames. So the real question is not "which tool avoids the blur" but "which of these three costs am I willing to pay" — and for most people the answer is the third one, because they still have the project file.

THREE ROUTES TO NO BLUR BOX, AND WHAT EACH ONE COSTS Scored against a clean render of the same clip with no mark at all. ROUTE VS A CLEAN RENDER FILE WHAT YOU GIVE UP Marked original 23.55 dB 102,142 bytes nothing yet Delogo / inpaint 33.63 dB 93,318 bytes every pixel re-encoded Crop the edge off no patch at all 87,617 bytes 320x204, 36 rows gone A mark that moves: a fixed box left it visible in 63 of 72 frames. Nothing damaged: re-export from the project.

Why so many tools reach for blur

Blurring is cheap. It is one filter over one rectangle, it needs no tracking, no model and no understanding of what is in the picture, and it works identically on every frame. That is why it is the default in free tools and why "without blur" is such a common thing to type into a search box.

The tell is easy to spot in any processed video: the blurred rectangle sits perfectly still while everything inside it keeps moving. That rectangle was never part of your footage. It is a patch someone drew on top.

The three routes, side by side

RouteIs there a blur box?What you actually getCost
Crop the marked edgeNoReal, untouched pixelsA smaller frame
Inpaint the regionNoA plausible reconstructionThe region is invented, not restored
Re-export the projectNoThe original framesNone — if you still have the project
Blur (what you are trying to avoid)YesA destroyed rectangleEverything inside the box

The top three rows are the answer to this page's question. The last row is what you get by default from a free tool. The three layers a mark can live in →

What inpainting measured, versus blurring

ffmpeg's delogo is the inpainting case rather than the blur case, which is worth knowing before you dismiss it: it fills the rectangle by interpolating from the pixels around it, not by smearing what is inside. On this site's test clip, scored against a clean render of the same clip with no mark at all:

marked input vs clean     PSNR  23.55 dB
delogo output vs clean    PSNR  33.63 dB

delogo + re-encode        102142 -> 93318 bytes

33.63 dB is a much better picture than 23.55 dB, and at normal viewing distance over a flat background it can pass without comment. But read the second number: the file also went from 102,142 to 93,318 bytes, because the filter requires a re-encode, and that re-encode is paid on every pixel in the frame, not only the ones under the mark. A lossless edit would be byte-identical. This is not.

So inpainting is not a restoration, it is a better-looking substitution. If the area behind the mark is flat, it works well. If it is detailed, or moving, the fill reads as a soft patch — which is a different artifact from a blur box, and often a less obvious one, but it is still an artifact.

A blur is an average, and an average keeps the mark

Blurring is the one route that does not change how much the rectangle stands out, only how sharp its edges are. That is not an opinion about how blur looks; it is what a box blur does. Each pixel is replaced by the mean of its neighbourhood, so the mean of the whole rectangle is the one quantity the filter cannot touch. Measured on a 320x240 clip, 72 frames, with a 64x36 mark burned into the bottom-right corner, and scored against a clean render of the same clip with no mark at all:

MethodBrightness left in the boxStructure left in the box
Marked, unprocessed+42.34430%
Blur, radius 6+42.43412%
Blur, radius 16+42.53181%
Delogo (inpaint)-0.2588%
Control: blur radius 16, no mark in the clip+0.0553%

Brightness is the mean luma inside the mark's rectangle minus the same rectangle in the clean render, in levels out of 255. Structure is the mean absolute gradient inside that rectangle, as a share of the clean render's. The mark adds 42.34 levels and over four times the local detail of an unmarked frame, which is why it reads as a white plate.

Then the blur runs. Radius 16 removes 58 percent of the box's internal structure, from 430 to 181 percent of the clean frame, and leaves the brightness at 42.53 of the 42.34 the mark added. That is not a rounding accident, it is the definition of the operation: an average of a bright rectangle is still bright. The edges are gone, the glow is not, and the result is a soft pale rectangle sitting exactly where the logo used to be. Radius 6 is worse on both counts, because it barely smooths anything.

Delogo is the comparison that makes the point. It fills the rectangle by interpolating from the pixels just outside it, so the rectangle's average comes back to the background's: -0.25 levels, which is inside the noise of the encode. Same box, same re-encode, one method leaves a patch and the other does not.

The control row is what makes the other four readable. Applying the identical blur to a clip that has no mark moves the offset by +0.05 levels, so the 42.34, 42.43 and 42.53 above are measuring the mark, not the filter. The same control row is also the honest answer to what a blur costs the picture: on a frame with real content inside that rectangle, radius 6 throws away 27.5 percent of its detail and radius 16 throws away 47.2 percent. A blur box is not a neutral patch that happens to be ugly; it is a hole with soft edges.

One more thing the numbers give you is a way to find the box in someone else's video. Take a two-pixel band along the rectangle's edge and compare it to the same band in an unmarked frame: the marked clip reads +50.46 levels there, radius 6 reads +46.68, radius 16 still reads +28.20, and delogo reads -0.01. The patch has an outline the rest of the frame does not have, and the outline survives every radius. That is the measurable version of the tell this page described earlier, and it is why a blur box is findable without knowing where the mark was.

What the numbers do not support is the usual explanation for why tools blur. Measured here, the filter's own cost is below the resolution of the measurement: the encoder runs at 2.9 ms per frame and the spread between two runs of the same command is larger than the difference between blur at radius 6, blur at radius 16 and delogo. Blurring is cheap to write, not cheap to run, and no machine is choosing it for the clock. It is chosen because it needs no tracking, no model and no idea what is behind the mark.

A BLUR KEEPS THE MARK'S AVERAGE, AND ITS OUTLINE Luma levels left inside the 64x36 box, against a clean render of the same clip. BRIGHTNESS LEFT DETAIL LEFT 0 20 40 Marked, unprocessed +42.34 430% Blur, radius 6 +42.43 412% Blur, radius 16 +42.53 181% Delogo (inpaint) -0.25 88% Control: the same blur on a clip with no mark moves the offset by +0.05, so the bars above measure the mark, not the filter.

Cropping: the only route with no patch at all

Cropping deletes the marked edge instead of filling it, so there is nothing to see. Every pixel you keep came from the original encode. Measured on the same test clip, cutting the marked bottom strip took the video from 320x240 to 320x204 at 87,617 bytes: the mark was gone, and so were 36 rows of picture.

Scaled up, trimming a 90 pixel strip off a 1080p export gives up roughly 8 percent of the frame height, and your deliverable is no longer 1920x1080. If the mark sits in a strip you were willing to lose, cropping beats every fill method on this page, because the result contains no invented pixels at all.

The catch nobody mentions: a mark that moves

Everything above assumes the mark sits still. A moving mark defeats a fixed rectangle regardless of whether that rectangle is blurred or inpainted. Measured here on a clip whose only bright feature is the mark itself:

nothing burned in               0 / 72 frames
mark travelling                72 / 72 frames
mark travelling, after delogo   63 / 72 frames

63 of 72. The nine frames the box handled were the ones where the mark had not moved out yet. A fixed region cannot follow a moving target, which is the design reason a moving watermark exists. If your mark animates, the choice is no longer blur versus inpaint — it is whether you are willing to track it frame by frame in a real editor, which is editing work rather than a one-click fix.

And the honest framing for that work: a tracked patch is still a reconstruction. Tracking fixes where the fill goes, not what goes in it.

Decide in this order

This site's scope, stated plainly: the cleaner here handles text and still images. It does not process video files, and there is no "no-blur" tool being sold here. What you get is the decision tree above, which is the part that decides whether any tool can actually help. What the browser tool does and does not touch →

Frequently asked questions

Why do free watermark removers blur the video?

Because blurring is the cheapest way to make a region unreadable, and it is the same operation whether the mark is there or not. A blur box destroys whatever is inside it, which is fine for a logo and ruinous for everything else in that rectangle. Tools reach for it because it needs no tracking, no model and no understanding of the picture — it is one filter over one region. The giveaway is that the box stays perfectly still while the video inside it keeps moving.

Can a watermark be removed without any blur?

Yes, three ways, and they are not equally good. Cropping removes the marked edge entirely, so there is no patch of any kind, at the cost of a smaller frame. Inpainting fills the region from surrounding pixels instead of smearing it, so there is no blur box, at the cost of a reconstruction that is a guess. And re-exporting from the source project avoids touching the frames at all, which is the only route that leaves literally no trace. What is not available is keeping the full frame and getting the original pixels back.

Is inpainting better than blurring a watermark?

Yes for how it looks, no for what it claims. A blur is visibly a blur, and viewers read it as edited. Inpainting fills the region with a plausible continuation of the background, so at normal viewing distance it can pass unnoticed, especially over flat or repetitive areas. But it is still a reconstruction: the pixels that were under the mark were overwritten when the mark was composited, so the fill is invented from the pixels around it. On this site's own test clip, inpainting over a still mark measured 33.63 dB against a clean render, against 23.55 dB for the marked original — much better, and still not the original.

Does cropping avoid the blur entirely?

It avoids any patch, yes. Cropping deletes the marked edge rather than filling it, so every pixel you keep is a real pixel from the original encode. The cost is the frame itself: on this site's test clip, cutting the marked bottom strip took the video from 320x240 to 320x204, and on a 1080p export a 90 pixel strip is roughly 8 percent of the frame height. If the mark sits in a strip you can spare, cropping looks better than any fill, because there is nothing to see.

What is the only way to get a completely clean result?

Go upstream. If the mark was added by an editor's export — a trial stamp, an end-card, an unlicensed stock element — then the project file still holds clean frames, and rendering it again under the right licence or with that element swapped produces a video with no repair trace at all. That is a different category from every tool in this space, because nothing was damaged in the first place. It is why the CapCut, Filmora, Canva and Resolve pages on this site all start with the source rather than the file.