Text that stays put is straightforward. Text that moves is where most removal attempts fall apart — you process the clip, and half the text is gone while the rest sits there untouched.
Why a fixed region fails
Removal works by defining an area to reconstruct. If the text is somewhere else in frame at a given moment, that area simply reconstructs background that was already fine, and the text remains.
Text moves in several distinct ways, and they’re worth telling apart:
- Word-by-word animation — each word pops in individually. The current TikTok and Reels house style, and the most common case.
- Scale animation — words appear large and settle, or emphasise on the beat.
- Positional drift — the caption block moves around the frame to avoid covering the subject.
- Scrolling — credits or a ticker travelling continuously.
- Karaoke highlighting — the block stays put but the highlighted word moves through it.
That last one is a useful exception: the text block isn’t moving, only the colour emphasis. A single region covering the block handles it, no segmenting needed.
The technique that works
Don’t track individual words. Cover the full travel area.
Define one removal region encompassing everywhere the text ever appears within a segment, and apply it across that whole segment.
You’re reconstructing more of the frame than strictly necessary. Where that extra area is ordinary background — a wall, a body, a room, blurred bokeh — it costs you nothing, because reconstruction there is just as good as leaving it alone would have been.
This converts a fiddly tracking problem into a simple one. Split into segments only where the text genuinely relocates to a different part of the frame.
When to do it properly instead: if the text travels across something that reconstructs badly — a face, a sign, a screen, readable text — then covering the whole travel area means reconstructing all of that badly. That’s the one case where tighter per-segment regions earn the extra effort.
Judging the trade
| Text travels over… | Cover whole area? | Why |
|---|---|---|
| Wall, sky, floor, blurred background | Yes | Reconstruction is invisible either way |
| A person’s body or clothing | Yes | Very good results |
| Busy scene with camera motion | Yes | Motion hides small errors |
| A face | No — tighten regions | Faces reconstruct badly |
| A sign or screen | No — tighten regions | Text becomes gibberish |
| Most of the frame | Reconsider | Too little context left |
Scrolling text is the hard case
Scrolling credits or a news ticker typically pass across most of the frame over the clip’s duration. Cover the full travel area and you’re reconstructing nearly everything.
That works if the background is simple and consistent — a plain colour, a static gradient. It falls apart over detailed footage, because you’ve removed most of the context the model needs.
For scrolling text over complex footage, the honest answer is that results will be poor. Cropping, or accepting the text, is often the better call.
The shimmer problem
Moving text makes this worse, so it’s worth flagging specifically.
Each frame is reconstructed independently unless the tool enforces temporal consistency. With a large removal region — which is what the cover-the-travel-area approach produces — you now have a big patch of independently generated content, and any frame-to-frame variation is proportionally more visible.
Pause on any frame and it looks perfect. Play it and the region crawls.
Tools that condition each frame on its neighbours keep the fill stable. Tools that run a photo inpainter per frame don’t. Always review full screen at normal speed — it’s invisible in a still, which is why no marketing page shows it.
Steps
- Watch the clip and note where the text travels.
- Split into segments only where it relocates meaningfully.
- Per segment, define one region covering the full travel area, including strokes and shadows.
- Tighten regions only where the text crosses faces or readable text.
- Process, then review full screen in motion — check for shimmer and for text the region missed.
- Export at maximum bitrate.
Check the easier routes first
Your own project file? Hide the text layer and re-export. Lossless, instant, perfect — no reconstruction at all.
Soft-coded? If it toggles off in a player, it’s a separate track. Strip it. See remove subtitles from video.
Both are worth thirty seconds of checking before any processing.
On iPhone
MarkOff supports per-segment removal areas, which is exactly what this needs — define a region for each stretch where the text lives in a particular part of the frame, and coverage holds throughout.
Video is processed on-device, with no blur step. See remove watermark without blur.
The same segment approach handles moving watermarks and moving objects.
Whose text is it?
Removing animated captions from your own video is uncomplicated.
On someone else’s, the text is sometimes the work — translation, commentary, or captioning that took real effort. Stripping it to repost removes that contribution along with the pixels.