How to restore old film footage on a Mac
Scanned reels and old tape captures arrive with two problems that have nothing to do with resolution: dirt that flashes for a single frame, and a brightness flicker that makes the whole picture breathe. Here's how to fix both on your Mac, 100% offline — and, just as important, what a program like this honestly can't fix.
What's actually wrong with old footage
It helps to separate the faults, because they need completely different treatment:
- Single-frame dust and blotches. A speck of dirt on the gate or the scanner glass shows up in one frame and is gone the next. This is the most common defect on a film transfer, and it's the one that can be fixed safely — the frames on either side show what belongs there.
- Brightness flicker. Frame-to-frame exposure wobble from the original camera, the lamp, or the scanner. The picture pulses even though nothing in the shot changed.
- Vertical scratches. A tramline running down the film for hundreds of frames. This one is different in kind — see below.
- Softness and low resolution. A separate job, and the one an upscaler is for.
A real example: 35mm combat film from 1945
Rather than a staged sample, here is a public-domain archival transfer with all the usual faults — a soft 556×412 scan, heavy grain, and the compression of a copy that has been passed around for decades. On the left is that file scaled up the way any video player would scale it. On the right is the same two seconds through Crisp.
Source: San Pietro (1945), U.S. Army Signal Corps — public domain. Restored with Enhance at 2× with both old-film repairs on: 50 frames in 3.8 seconds on an M1 Ultra. That is the fast lane, not the slow generative one — Max rebuilds more detail and takes about 25 seconds per frame instead.
Two things in that clip are worth pointing out, because they are the honest boundary of what happened. The grain and the single-frame dirt are gone, and the edges of the helmet and collar are cleaner. What you are not seeing is invented detail: the fast lane removes what should not be there rather than imagining what should. Faces stay the faces that were photographed.
The clip is also black and white, which is its own trap. General-purpose upscalers are trained on colour photographs, and handed a neutral grey frame they tend to hand back a faintly warm one. We measured ours doing exactly that — about six levels of blue pulled out of every frame — and now detect a monochrome source and hold the output to it. Your black-and-white footage comes back black and white, not quietly sepia.
The same two seconds through Max
Here is the identical shot through the generative Max tier, so you can see what the slow lane buys and decide whether you want it:
Same source, same two seconds, same 2× output size. Max took about 25 seconds per frame — roughly 20 minutes for these 50 frames, against 3.8 seconds for the Enhance version above.
The difference is real: the helmet rim, the eyes and the collar come back as defined edges rather than cleaned-up mush. So does the cost, which is why both lanes exist rather than one.
And for archival work there is a caveat worth stating plainly. Max is generative. Where Enhance removes what should not be there, Max reconstructs what a plausible sharper frame would look like — and "plausible" is not the same as "photographed". On a family video that is exactly what you want. On historical footage, on evidence, or on anything a viewer will read as a record of what was actually in front of the lens, that distinction matters, and the honest choice is often the fast lane. We would rather tell you that than sell you the more impressive-looking button.
Clean it up in Crisp
Drop the clip in
Open Crisp and drag your transfer onto the window. It never leaves your Mac.
Turn on the old-film repairs
Under Old film there are two tick boxes: Remove dust & blotches and Steady the brightness. Use either alone or both together — they're independent.
Pick a preset
Enhance is the everyday choice. Max quality rebuilds detail generatively and outputs up to 1080p. Both honour the two repairs.
Export
The restored file lands beside the original — same length, audio still in sync.
What we measured
Every restoration tool sounds convincing in a sentence, so here are the actual test results, including the case that's supposed to fail:
| Test | Result | Why this one |
|---|---|---|
| Dirt present in a single frame | 95–100% removed | The defect we're targeting. Measured twice: on real film frames, and again on a synthetic clip with specks planted at known coordinates so the removal could be counted rather than judged. |
| A mark deliberately held for three frames | Survives | The control. A filter that removed this too would also erase small real things — a bird, a spark, a distant light. |
| Frame-to-frame brightness jitter | Cut by ~88% | The flicker you actually see. |
| A deliberate fade in the same clip | Survives | The control. Intentional brightness changes must be left alone. |
| Clip length and audio sync | Unchanged | Frames in equals frames out — checked down to one- and two-frame clips. |
The two "survives" rows are the point. Anyone can delete detail; the difficulty is removing dirt while leaving the picture intact, so we test the opposite case every time.
What the dust pass costs, and when not to use it
The rows above say what it removes. This is the other half, which restoration tools rarely publish: what it does to footage that was not dirty.
The dust pass works by comparing each frame with its neighbours and taking the middle value, so a speck that appears in one frame and not the ones either side gets outvoted. That is also its cost — anything that legitimately changes fast between frames is, briefly, in the same position as a speck. We ran the pass over a clean, undamaged, deliberately high-motion clip and measured what came back: about 5% less fine detail (1045 → 998 on the same edge-detail measure used elsewhere on this site), with the loss concentrated at fast-moving edges. Brightness stability and banding were unchanged.
So the honest instruction is: run it on footage that actually has dust, and leave it off otherwise. On a dusty 8mm reel, removing every speck is worth 5% of edge detail many times over. On a clean transfer it is a small, pointless trade, and Crisp does not apply it unless you ask for it. That is also why it is a separate choice rather than part of a general “restore” button — a tool that silently ran it on everything would be quietly costing people detail on clips that never needed it.
What this won't do: persistent vertical scratches
Crisp does not remove long vertical scratches, and we'd rather say so than sell you a disappointment.
The reason is worth understanding, because it applies to every automatic tool. Removing a scratch is not the hard part — recognising one is. A tramline that runs down hundreds of frames is, to a filter, indistinguishable from a thin bright vertical thing that genuinely belongs in the shot: a railing, a mast, a window frame, a strip light. We tested this directly, and detection is the wall, not reconstruction. A tool that removes scratches unattended will sooner or later erase something real, in a way you won't notice until you look closely at a shot you cared about.
This is why scratch removal in professional workflows is a supervised, per-scratch job rather than a checkbox. If your footage has them, that's the honest route.
Why doing it offline matters here
- It's usually family footage. Home movies and old reels are exactly the material you don't want to hand to an upload queue.
- No size cap, no queue. A long transfer runs locally at whatever length it is.
- Nothing expires. No account, no subscription, no server that has to still exist next year.
- Stack it. Clean the dirt, steady the brightness, then upscale — one pass, on-device.
Clean up your old footage — offline
Free to try on your Mac. Remove single-frame film dirt and steady old-film flicker without uploading a thing.
Download Crisp for MacApple Silicon · macOS 26+ · Notarized
Restoring old film, in detail
Can Crisp remove dust and specks from old film?
Yes — for dirt that sits in a single frame, which is the common case on a transfer. Single-frame specks were cleared in our tests, while a deliberate three-frame mark was left alone. That second result is what stops the filter eating real detail.
Can it remove vertical scratches?
No, and it doesn't claim to. See the section above — the obstacle is telling a scratch apart from a thin object that belongs in the shot.
Will fixing flicker flatten a deliberate fade?
No. The fix targets frame-to-frame exposure jitter and leaves intentional changes alone; a deliberate fade keeps its range in our tests.
Does restoring shorten the clip?
No. Frames in equals frames out and the audio stays in sync — including on clips only one or two frames long.
Does it work with Max quality?
Yes. Both repairs apply on every upscale preset, Max included.
Is my footage uploaded anywhere?
No — it's all done on your Mac, so there's no upload, no queue and no size cap.
Related guides
Fix blurry video · Add film grain · Deinterlace old video · Colour grade
Background: how to tell grain from noise.
Background: why old transfers can look green.
Background: which tape faults software cannot recover.