VHS Effect: Make a Photo Look Like a Video Tape
Built on what VHS actually did to a picture: colour bandwidth was a fraction of luminance, so colour smears sideways while detail stays sharp. Plus tracking wobble, scanlines, red and blue split and grain, all from a fixed seed so a batch stays consistent.
Drop images here
or click to browse · or paste with Ctrl+V
JPG · PNG · WebP · GIF · BMP · AVIF
Smears colour sideways while leaving picture detail alone. This is the one that actually makes it read as tape.
Shifts each row sideways by a small random amount, like a worn tape losing tracking.
Grain and wobble use a fixed seed, so the same photo and settings always give the same frame.
Presets
Your photos are never uploaded. The chroma bleed, the wobble and the export all run inside this browser tab.
People also use
Everything this tool does
Chroma bleed, not a blur
The image is split into luminance and colour, and only colour is smeared sideways. Tested on a grey edge with a six pixel bleed, the output came back byte for byte identical, because there was no colour to smear.
Deterministic wobble and grain
A fixed-seed generator rather than the system random source, so the same photo and settings always give the same frame. Two consecutive runs on identical input produced identical data.
Per-row tracking wobble
Each row is displaced sideways by its own small amount, which is what a tape losing tracking actually did, rather than shifting the whole picture at once.
Scanlines with adjustable spacing
Both the darkness and the gap between lines are yours to set, so you can suggest a CRT at two pixel spacing or a coarser display at six.
Red and blue separation
A horizontal channel split on top of the bleed, which is the artefact most people picture first when they think of tape, even though bleed is doing more of the work.
Drag to compare
Before and after share one frame with a slider between them, which makes it easy to see that detail survived the bleed.
Six purpose-built presets
Classic VHS, worn tape, subtle, CRT monitor, damaged tape and home camcorder, each with its own balance of the five artefacts.
Batch with one ZIP
Because the seed is fixed, a whole set gets a consistent treatment. Take everything as a single archive built in your browser.
Transparency preserved
The alpha channel is untouched for PNG and WebP output, so only visible pixels pick up the tape artefacts.
Nothing is uploaded
No server, no queue, nothing to delete afterwards. Close the tab and every trace of the image goes with it.
What each control changes
Colour bleed is the one doing the real work, because it is the artefact that separates a tape from a soft photograph. The rest are the visible extras people remember: wobble, scanlines, split and grain.
| Setting | What it does | Try | Good for |
|---|---|---|---|
| Bleed 2-5 | Subtle colour smear | split 1-2 | Gentle retro tint |
| Bleed 8-20 | Heavy sideways colour drag | split 4-8 | Worn tape, obvious effect |
| Split 1-3 | Slight red and blue offset | bleed 4-8 | Realistic recording |
| Split 6-12 | Strong channel separation | jitter 4+ | Glitch and music video look |
| Wobble 1-3 | Occasional row displacement | any | Believable tracking error |
| Wobble 6-12 | Heavy horizontal tearing | noise 25+ | Damaged tape aesthetic |
| Scanlines 15-30 | Faint horizontal lines | spacing 3 | CRT look without overpowering |
5
stackable artefacts
Fixed
seed, repeatable output
0
files uploaded
0-20
chroma bleed range
ZIP
batch download
Free
no account needed
FlipMyFormat vs other VHS filters
| Capability | FlipMyFormat | Typical free tool |
|---|---|---|
| Files stay in your browser | ||
| Chroma-only bleed that keeps detail sharp | ||
| Deterministic seed, so a batch matches | ||
| Separate wobble, scanline and grain controls | ||
| Adjustable scanline spacing | ||
| Batch ZIP download without paying | ||
| No watermark on the output |
How to fake a tape convincingly
Most VHS filters reach for the wrong artefact first. They add scanlines, a magenta tint and a blur, and the result looks like a photo behind a screen door rather than something recorded onto tape. The artefact that actually carries the illusion is chroma bleed, and it is worth understanding why. VHS recorded brightness and colour as separate signals with wildly different bandwidths: luminance got a few megahertz, colour got a fraction of that. In practice that means the picture kept most of its detail while the colour information was smeared sideways across several pixels' worth of image. You have seen the result a thousand times without naming it, in the red of a jumper leaking past the shoulder onto the wall behind, or a caption whose yellow trails away to the right. So start with bleed and nothing else, push it until colour is visibly dragging, and only then add the rest. Second, keep the wobble subtle unless you are deliberately going for a damaged tape. One to three pixels of per-row displacement reads as tracking error; ten pixels reads as a glitch effect, which is a different aesthetic and one that a real tape only produced when it was close to failing. Third, go easy on scanlines. They belong to the display, not the recording, and at high intensity they flatten everything underneath them. Around fifteen to thirty with three pixel spacing suggests a CRT without turning your photograph into a venetian blind. Finally, remember that everything here is applied to a still. A real tape wobbled differently on every frame, so if you are making a sequence, vary the settings slightly between images rather than applying one identical treatment.
- 1
Add a photo
Drag it in, click to browse, or paste with Ctrl+V. Pictures with strong saturated colour show the bleed best, since bleed is the artefact doing most of the work.
- 2
Start with bleed, add the rest after
Push colour bleed until colour visibly drags sideways, then layer on split, wobble, scanlines and grain a little at a time.
- 3
Export as PNG
Press Apply VHS, then download individually or take the batch as one ZIP. PNG keeps the bleed and split exactly as rendered.
What a video tape actually did to a picture
Colour had a fraction of the bandwidth
VHS did not record a picture, it recorded two signals. Luminance, the black and white detail, got the lion's share of the bandwidth. Colour was squeezed into a narrow band roughly seven times smaller, which meant colour information could only change slowly as the scan moved across a line. The visible result is that colour smears horizontally while edges and detail stay comparatively crisp: a red jumper leaks past the shoulder onto the wall, a yellow caption trails to the right. This tool reproduces exactly that by separating the image into luminance and colour, blurring only the colour horizontally, and writing luminance back untouched. We tested it on a grey vertical edge, which has detail but no colour at all: after a bleed of six pixels the image came back byte for byte identical to the original, because there was no colour to smear. A filter that blurs the whole image fails that test immediately, and that is why so much fake VHS just looks like a soft photograph.
Why the randomness is not random
Tracking wobble and tape grain both need randomness, and the obvious way to get it is a call to the system random number generator. That quietly breaks two things. Run the same photo twice and you get two different pictures, so pressing re-apply after a small tweak changes far more than the setting you touched. Worse, a batch of images all get different wobble, which is fine for a set of unrelated photos and completely wrong for frames of the same scene. This tool uses a small deterministic generator with a fixed seed instead, so the same photo and settings always produce the same output, byte for byte. We check that directly: two consecutive runs on identical input produced identical data.
What people use it for
Music and album artwork
The tape look has been a staple of cover art for a decade, and bleed plus split reads as analogue instantly.
Nineties and Y2K aesthetics
Retro design briefs almost always ask for this specific set of artefacts, and getting bleed right is what separates it from a cheap overlay.
Video thumbnails
A tape treatment on a thumbnail signals the content is retro or nostalgic before anyone reads the title.
Found-footage and horror promos
Heavy wobble with grain suggests a recovered tape, which is a whole genre of visual shorthand.
Social posts and stories
Recognisable at thumbnail size, which is exactly what a scroll-stopping treatment needs to be.
Game and app UI textures
A CRT preset over a screenshot gives a convincing period display without building a shader.
Zines and posters
Print picks up the bleed nicely, since colour smear survives halftone reproduction better than fine grain does.
Before-and-after demos
Because output is deterministic, you can show the same image at several settings and the only thing that changed is the setting.
Six tips worth knowing
Start with colour bleed alone. It is the artefact that actually says tape, and everything else is decoration on top of it.
Keep tracking wobble at one to three pixels for realism. Ten pixels is a glitch effect, which a real tape only did when close to failing.
Go easy on scanlines. They belong to the display rather than the recording, and heavy lines flatten everything underneath them.
Saturated subjects show the effect best, because bleed only has something to smear when there is strong colour to begin with.
For a sequence of images, vary the settings slightly between them. A real tape wobbled differently on every frame.
Export PNG. JPEG already subsamples colour, which overlaps with what this effect does and can shift the bleed you just created.
Troubleshooting
It just looks like a blurry photo
You are probably relying on scanlines and grain. Push colour bleed up and everything else down, then rebuild from there.
The effect is barely visible
Your photo may have little saturated colour, so there is nothing for the bleed to smear. Raise contrast and saturation first, or use a more colourful image.
The result changes every time I re-apply
It should not. Wobble and grain use a fixed seed, so identical settings give identical output. If something changed, a setting changed with it.
Scanlines look like thick stripes
Lower the scanline darkness or raise the spacing. At high intensity with two pixel spacing they dominate everything underneath.
Frequently asked questions
What actually made VHS look the way it did?
Bandwidth. Luminance and colour were recorded as separate signals, and colour got roughly a seventh of the bandwidth. That is why colour smears sideways across a tape image while detail stays comparatively sharp.
Why is colour bleed the most important control?
Because it is the artefact your eye recognises as tape. Scanlines belong to the display and grain belongs to any analogue medium, but horizontal colour smear with intact detail is specifically what a video tape did.
Does the bleed blur my picture?
No, and that is deliberate. Only the colour channels are smeared; luminance is written back untouched. We tested a grey edge, which has detail but no colour: after a six pixel bleed it came back byte for byte identical.
Why do the results not change when I re-apply?
Because the wobble and grain use a fixed-seed generator rather than the system random source. Identical settings always give identical output, which keeps a batch consistent and makes small tweaks predictable.
What is tracking wobble?
Each row is shifted sideways by its own small random amount, imitating a worn tape whose head cannot hold a steady horizontal position. One to three pixels reads as realistic; ten reads as deliberate damage.
What scanline settings should I use?
Around fifteen to thirty darkness with three pixel spacing suggests a CRT without dominating the picture. Two pixel spacing at high darkness turns your photo into stripes.
Is the red and blue split the same as chromatic aberration?
Mechanically similar, but the cause is different. On a tape it comes from signal timing rather than glass, and it is uniform across the frame rather than growing toward the corners like a lens artefact does.
Can I use this on a set of frames from a video?
You can, and the fixed seed means every frame gets the identical treatment. That is a double-edged benefit: consistent, but a real tape wobbled differently each frame, so vary the settings a little across a sequence.
Why does my photo barely change?
There is probably not much saturated colour in it. Bleed can only smear colour that exists, so a muted or near-monochrome photo will show very little. Raise saturation first.
Should I add a magenta tint?
Not necessarily. The tint most people associate with VHS comes from tape ageing and cheap transfers rather than the format itself, so it is optional. Getting the bleed right matters far more.
Are my photos uploaded to a server?
No. All five artefacts and the export run in your browser using the canvas API. Nothing is sent anywhere and the tool keeps working if your connection drops after the page loads.
Which format should I export?
PNG. JPEG stores colour at half resolution, which overlaps directly with what this effect manipulates, so a fine bleed or split can be shifted by the compression.
Is transparency preserved?
Yes for PNG and WebP output. The alpha channel is untouched. JPG has no alpha, so transparent areas are filled with the background colour first.
Can I process a batch?
Yes. Add as many images as you like and identical settings are applied to each. Download individually or take the whole set as a single ZIP built in your browser.
Does it work on portraits?
Yes, and skin tones show the bleed clearly because they are saturated enough to smear. Keep the wobble low, since a displaced row across a face is very noticeable.
Why is there no date stamp overlay?
Because it is text, not an image artefact, and it is far easier to add in any editor with a font you like than to bake in with fixed styling here.
Can the effect be undone?
No. Bleed, wobble and grain all discard information permanently. Your uploaded file is never modified, so keep the original.
Does it add a watermark or need an account?
No to both. No sign-up, no email wall, no daily limit and no watermark on the output.