AFTERHOURS
INSTRUCTIONAL

How to Make iPhone Videos Look Like VHS

The VHS look isn't grain. It's a specific composite-signal chain — chroma bleed, luma smear, cross-colour rainbow crawl, and a head-switch tear at the bottom of every frame. Here's how to get it on iPhone.

Peter GarciaPublished Reviewed 5 min read
Tungsten interior with SDTV-era colour.
Tungsten interior with SDTV-era colour.

What VHS actually was

VHS was a consumer video tape format introduced in 1976. VHS-C (the compact cassette used in camcorders) came in 1982. By the late 1980s VHS was the dominant home-video format worldwide, and by the early 1990s VHS-C camcorders were how families recorded birthdays.

The look wasn't a filter. It came from real properties of the signal chain:

  • Composite video encoding. Colour was modulated onto a chroma subcarrier (3.58 MHz in NTSC) and mixed with luma into a single composite signal.
  • YIQ colour space. RGB got remapped to Y (luma), I (in-phase chroma), Q (quadrature chroma). The chroma channel was bandwidth-limited harder than luma — meaning colour edges bled softer than brightness edges.
  • Luma smear. The recording head had finite bandwidth. Fast luma transitions smeared horizontally.
  • QAM demodulation artifacts. At playback, chroma got extracted by demodulating the subcarrier. Fine detail patterns (herringbone, tight stripes) hit frequencies that produced cross-colour — false chroma appearing on top of monochrome detail (the "rainbow crawl" everyone remembers).
  • Dot crawl. Sharp colour boundaries produced diagonal crawling patterns from the composite mixing.
  • Head-switch tear. VHS uses a rotating drum with two heads. At the exact bottom of every frame, the drum switches heads, and the signal briefly loses sync — producing a distinctive horizontal tear band. It's the single most identifiable VHS artifact.
  • Tracking errors. If tracking was off, the picture would drift and tear intermittently.
  • Time-base instability. The tape moved past the head at slightly variable speed, so timing wobbled slightly.
  • Composite noise. Analogue signal always had noise floor. Roughly 5% at baseline.

VHS vs. MiniDV — do not confuse them

This is the single biggest mistake in the vintage-camera-app category, and it's the reason Why Vintage Camera Apps Often Look Fake exists as a guide.

VHS and MiniDV came from completely different signal chains. Layering VHS defects on MiniDV footage (or vice versa) reads as obviously fake to anyone who grew up watching either format.

Afterhours' VHS-83 simulation deliberately disables the digital-tape stage whenever it renders. From the internal doc: "the two systems must never stack." If you want VHS, use VHS-83. If you want MiniDV, use HDV-2000 or DV-90 — see the MiniDV guide. Don't try to stack them.

The fast method — VHS-83

Open Afterhours, pick VHS-83, press record. That's the whole workflow.

VHS-83 is a straight port of ntsc-rs v0.9.0 (MIT/Apache/ISC licensed). The signal chain runs in a single SkSL fragment pass, live in the viewfinder before capture:

  1. RGB → FCC YIQ colour space conversion. Real signal math, not a colour filter.
  2. Chroma bandlimit. Softens colour edges.
  3. Luma smear with a τ2.32-tap filter. Bright detail pulls sideways.
  4. Preemphasis. Matches the original recording chain.
  5. QAM demodulation producing cross-colour rainbow crawl on fine detail.
  6. Dot crawl on sharp lines.
  7. 5% composite noise.
  8. Snow.
  9. Head-switch tear band at the bottom of every frame.

Fixed SD 4:3 framing — 480 vertical lines fall out of the low-res grid, matching real VHS resolution. Both photo and video modes. Video runs 30fps with a 60-second clip cap.

Controls:

  • TAPE controls: SMEAR (luma smear intensity), RAINBOW (cross-colour crawl), TRACKING (sync errors)
  • GRAIN (composite noise level)
  • EXPOSURE, SHUTTER, TINT
  • TIMESTAMP (on/off) and HUD overlays

The manual method

If you want to build VHS in an editor rather than at capture:

  1. Downscale. Export at 640×480, then rescale up. Real resolution loss.
  2. Convert to YIQ colour space. Most NLEs don't ship YIQ conversion natively — you'll need a plugin or a colour-space step through a working space that approximates it.
  3. Bandlimit chroma harder than luma. The core visual signature of VHS.
  4. Add luma smear. Horizontal blur weighted toward brightness transitions.
  5. Add cross-colour on fine detail. This is the hard one. Overlay filters can't do it selectively; you need a real signal chain.
  6. Draw a head-switch tear. One horizontal band at the exact bottom of every frame — not overlaid on the timeline but part of every rendered frame.
  7. Interlace. VHS is interlaced. Progressive-only footage will read as modern.
  8. Grade. Gentle tungsten warm shift, mild pedestal lift ("a cheap tube never showed true black"), reduced saturation on bright chroma.
  9. Audio. VHS Hi-Fi was surprisingly clean; standard linear audio was thinner. Match to the source you're mimicking.

The manual method is 1-2 hours per clip with plugins. VHS-83 is one tap.

How to shoot with VHS-83

  • Point at fine detail for the rainbow crawl. Herringbone, brick walls, thin stripes, striped ties — these light up the QAM demod artifacts most visibly.
  • Include motion. Static scenes hide dropout and tracking errors. Moving subjects surface them.
  • 4:3 composition. The framing is fixed. Compose for the box.
  • Interior tungsten lighting works best. Warm subjects rendered through VHS colour math look period-authentic.
  • Include a light source in the frame — a lamp, a monitor, a screen. Head-switch tear and dropout react to bright horizontal bands.
  • TAPE controls. Turn SMEAR up for the low-fidelity look, down for a cleaner 1993 signal. RAINBOW brings out fine-detail cross-colour. TRACKING adds intermittent sync errors.

When VHS overlays look fake

Every one of these is a common tell:

  • Rainbow crawl everywhere. Real cross-colour only appears on fine detail. If it's on skin, sky, and walls, it's an overlay.
  • Head-switch tear at random positions. Real tears are at the exact bottom scanline of every frame — same line, every frame. Overlay filters put them at random Y positions.
  • VHS artifacts + MiniDV artifacts stacked. The single most common mistake in the category. See above.
  • HD 16:9 with VHS crawl. Wrong resolution for the format. If you shot HD, you shot HD.
  • Modern audio. iPhone microphones are wideband and clean. Untouched audio ruins the era illusion.
  • Fake timestamps. Real VHS-C camcorders stamped MM.DD.YYYY or DD.MM.YYYY in specific fonts. Verdana with drop shadow is not a period font.

Audio and titling

If you're going for authentic VHS video:

  • Audio bandlimit: roughly 40-16000 Hz for VHS Hi-Fi, narrower (100-8000 Hz) for standard linear audio.
  • Mains hum at 60 Hz (NTSC regions) or 50 Hz (PAL regions) at low volume in the noise floor.
  • Titles: hand-drawn on paper photographed with the same camera, or via a camera character generator that burned into the signal. Never crisp anti-aliased Helvetica.
  • Music: era-appropriate. VHS-C camcorders picked up whatever was playing in the room.

Related reading

Frequently asked questions

What's the fastest way to get a VHS look on iPhone?

Use [VHS-83](/cameras/vhs-83) in Afterhours Camera. It's a direct port of ntsc-rs v0.9.0 — the same composite-video math a real VCR performed. RGB gets remapped to FCC YIQ, chroma bandlimited, luma smeared with a τ2.32-tap filter, QAM demodulated. The signal chain runs live in the viewfinder before you press record. Video or photo, SD 4:3.

Why can't a LUT recreate VHS?

Because most of what VHS is happens outside the colour space. A LUT can reproduce the colour of VHS — the YIQ chroma bleed, the pale warmth, the way saturated reds pool. It cannot reproduce the head-switch tear (a spatial artifact tied to frame boundaries), dot crawl on fine detail (a demodulation artifact), or tracking errors from a rotating drum reading a moving tape. Those live in the signal chain, not the colour space.

What's the difference between VHS and MiniDV artifacts?

Completely different signal chains.

VHS: analogue composite. YIQ chroma bleed. Luma smear. Cross-colour rainbow crawl on fine detail. Dot crawl on sharp lines. Head-switch tear at the bottom of every frame. Composite noise. Tracking errors.

MiniDV: digital tape. GOP macroblocking under motion. Chroma smear from 4:1:1 subsampling. Occasional dropout smear. Clean signal until it drops.

Do not stack them. Real footage was one or the other. VHS-83 explicitly disables the digital-tape stage — the internal doc puts a rule on it: "the two systems must never stack."

Why is VHS-83 fixed at SD 4:3?

Because that's what VHS was. VHS-C consumer camcorders recorded roughly 240 vertical lines of resolution, upscaled to SD 4:3 on playback. VHS-83 samples on a low-res grid so 480 lines fall out of it. Shooting HD 16:9 with VHS artifacts on top would look wrong — the resolution doesn't match the format.

How is VHS-83 different from a 'VHS filter' in another app?

VHS-83 runs the composite-signal chain. Most VHS filters overlay noise and dust textures on top of a finished frame.

Practical difference: VHS-83's rainbow crawl appears only on fine detail (herringbone, brick, thin stripes) because it comes from QAM demodulation of the specific frequencies those patterns produce. Overlay filters have crawl everywhere or nowhere. Same for head-switch tear — VHS-83's is at the exact bottom scanline; overlays put it wherever the designer felt like.

Can I shoot VHS-83 in colour or black-and-white?

Colour by default. B&W mode isn't part of the current VHS-83 controls — you can reduce saturation via the standard camera dials but the composite signal chain assumes colour input.

AUTHOR

Peter Garcia is the founder of Bricks & Canvas and the developer of Afterhours Camera. He writes about camera simulation, film aesthetics, iPhone photography, and vintage-capture formats. Corrections and questions: bricksandcanvas@gmail.com. More: About Afterhours Camera.

PUBLISHER

Published by Afterhours Camera. Written by Peter Garcia. Corrections and questions: bricksandcanvas@gmail.com.