9 Answers
Lately I’ve been doing quick retro edits on my phone, so I rely on lightweight tricks that still look convincing. A PNG overlay with thin black bars repeated across the height works wonders: throw it on top of your footage in any mobile editor, reduce opacity to somewhere between 15 and 35 percent, and pick Multiply or Overlay depending on how contrasty your shot is. If the app supports it, animate a tiny vertical shift every few frames to fake that scanline flicker.
Avoid pattern sizes that create moiré when you downscale; test at final resolution and, if possible, blur the line layer a hair to stop hard edges from aliasing. For a more authentic CRT vibe, add a subtle vignette and a touch of color bleed around bright edges. It’s fast, cheap, and curiously satisfying — nothing like a few simple stripes to give a scene that warm, nostalgic edge I keep coming back to.
Mixing colors and textures during a grade taught me that scanlines are as much about interaction with the image as they are about the lines themselves. In DaVinci Resolve I often build them in Fusion: create a fast noise or grid node, mask it into thin horizontal bands, then merge on top with Multiply or Soft Light. Key things I watch for are the scanline spacing relative to resolution (4k tolerates denser lines than 720p) and how the blend affects highlights — you don’t want to crush speculars. For motion pictures, alternate the vertical offset every frame or every other frame to simulate interlaced display behavior; it helps to animate the offset subtly so the effect breathes with camera shake.
In Premiere I’ll import a PNG strip and use the blend mode with reduced opacity; in After Effects I add a slight luminance-based alpha so the brightest areas keep some shine. Finally, treat scanlines like seasoning: enhance with grain, soft glow, and a touch of color bleed rather than relying on them alone — that layering makes scenes richer and more cinematic in my workflow.
For quick mobile or social edits, I use apps and shader packs that do the heavy lifting but keep control over intensity. On my phone I’ll layer a scanline PNG in a photo editor or use an app with retro filters, then nudge opacity to 10–25% so the image keeps detail. On desktop, plugins like Magic Bullet or specific scanline packs for Resolve/After Effects speed things up — they give warble, flicker, and film grain alongside the lines, which saves time.
A few practical tips: keep line thickness proportional to resolution (1–3px for 1080p, thicker for 4K), avoid 100% opacity unless you want a stylized silhouette, and sync any flicker rhythmically with scene cuts so it doesn’t distract. Lastly, match color grading to the era you’re evoking — cool blues for noir-ish sci-fi like 'Blade Runner', warmer tones and bloom for retro anime vibes like 'Akira'. I usually end up dialing things in while sipping tea, and when it clicks it just feels right.
I get a little giddy when a flat frame gets that old-school shimmer, so here’s how I usually add scanlines and make them feel intentional rather than gimmicky.
For anime-style stills or cel-shaded shots I make a repeating horizontal pattern: in Photoshop I create a new doc the same width as my shot, paint a 1–2 px solid line, leave a gap of 4–12 px (depending on resolution), then define it as a pattern. Put that pattern on a layer above the footage, set the blend mode to multiply or soft light, and pull opacity down to around 10–30%. For a moving scene I export the pattern as a PNG and import it into After Effects as a texture. Apply the Venetian Blinds effect (direction 0) or simply animate a vertical offset so the lines gently scan; add a tiny per-frame jitter to simulate phosphor flicker.
If you want filmier, less clinical scanlines, soften the edges with a small Gaussian blur, add film grain and a subtle vignette, and include chromatic separation or bloom on highlights. For live-action with camera moves, track the shot and corner-pin the scanline layer so the lines stick to the scene’s perspective. I usually finish by checking on different displays — what looks great on my monitor can crush midtones on a phone — and tweak opacity accordingly. It’s a simple overlay, but combined with grain and motion it really sells the retro vibe for me.
Ever tried adding scanlines and felt overwhelmed by plugins and settings? I get that — I used to overdo it until I learned to think of scanlines like a texture and an attitude rather than a one-click effect.
Start by creating a scanline texture: a PNG with transparent horizontal lines (1–3px thick, spacing 4–8px works for 1080p). In Photoshop or GIMP I make a small repeating tile (height maybe 16–32px), fill alternating rows with black at low opacity (10–40%), then export as a seamless PNG. In any NLE or compositor (Premiere, After Effects, DaVinci Resolve, Blender), layer that PNG over your footage and try blend modes — Multiply, Overlay, and Soft Light all change the mood; lower opacity until the image reads cleanly.
To sell the effect, add subtle motion and analog flaws: animate a tiny vertical offset or use a 'Venetian Blind' effect so the lines drift; add film grain, slight jitter, chromatic aberration, and a displacement map to curve the frame (CRT curvature). For film scenes, combine scanlines with a faint halation, gate weave, and pulldown artifacts (3:2 pulldown) to match older telecine. I love how a gentle touch can make digital footage feel lived-in — it’s like adding a warm filter of nostalgia that still respects the picture.
Technical folks tend to ask for precise playback and batch-processing options, so here’s a workflow I’ve used for both single shots and whole reels. First, create a tiling scanline texture (PNG with transparency). For batch processing with ffmpeg, import the texture and blend it over the video with the 'blend' filter. For example:
ffmpeg -i input.mp4 -i scanlines.png -filter_complex "[0:v][1:v]blend=all_mode='multiply':all_opacity=0.25,format=yuv420p" -c:a copy output.mp4
That places your scanlines over the footage at 25% opacity. If you want slight vertical movement to simulate jitter, you can use an overlay expression to offset the texture by frame number, or pre-render an animated PNG/WebM of the scanlines and overlay that instead. For a real-time solution (live streams or gameplay), use OBS and a PNG overlay with a small vertical scroll filter or a shader filter plugin. Emulators and game engines often have built-in CRT shaders ('CRT-Geom', 'CRT-Royale') which handle curvature, bloom, and phosphor blending in one pass.
Finally, pair scanlines with grain, tiny chromatic offsets, and correct gamma to avoid crushed blacks. It’s surprisingly rewarding seeing everything come together — I always feel a little giddy when the texture finally feels right.
If you want a quick recipe that works in most editors, here’s what I actually do when I want those old-school scanlines fast. I make a small scanline PNG (2px black lines, 6px spacing, about 20% opacity), then import it into Premiere or DaVinci Resolve and place it over the whole timeline. Use the blend mode 'Multiply' or 'Overlay' and drop the opacity to taste — usually 10–30% depending on the shot. If the lines look too sharp on faces, add a tiny Gaussian blur to the texture or reduce contrast.
For motion, I keyframe a subtle vertical or horizontal scroll so the lines drift a bit, or add a tiny 'wiggle' to simulate unstable CRT scanning. If you use After Effects, try the built-in 'Venetian Blinds' effect (set high transition completion for thin bars) or generate lines with a Grid/WaveWarp node for organic warble. Don’t forget to pair scanlines with color grading: lower overall saturation a touch, add a soft teal/orange split, and layer film grain — that combination sells the illusion. I enjoy tweaking until the scanlines feel like they belong rather than slapped on, and that smooths out the vibe every time.
I tinker with shaders and streaming overlays a lot, so my approach is more code-friendly and realtime-oriented. If you want scanlines in a game or a live compositor, the GPU path is my favorite: compute row intensity from pixel y, then apply a multiplier like 1.0 - smoothstep(lineCenter - thickness, lineCenter + thickness, fract(y/spacing)*spacing) and mix that with the base color. To make them alive, add a tiny time-based jitter so every frame the lines shift by a fraction of a pixel, and add a subtle sine-based brightness wave across the screen to emulate power fluctuation.
For non-programmers, FFmpeg is a surprisingly quick tool: create a transparent PNG of repeated horizontal lines at your target resolution, then overlay it with multiply blending using a command like ffmpeg -i input.mp4 -i scanlines.png -filter_complex '[0:v][1:v]overlay=0:0,blend=all_mode=multiply:all_opacity=0.25' -c:a copy out.mp4. In Blender or Unity you can use the same image in a UI overlay or as a screen-space shader. Remember to scale the pattern so lines remain a consistent visual size across different resolutions and to pair scanlines with grain and slight chromatic aberration for that authentic old-display feel — I love how it suddenly makes everything feel tactile.
Late-night editing sessions taught me the simplest, most satisfying approach: make a tiny repeating pattern and blend it. In GIMP or Photoshop I create a 16px-high tile with alternating semi-transparent black rows, save as PNG, then use 'Pattern Overlay' or place the PNG on top of the footage in Premiere/Resolve. Blend mode 'Multiply' at 15–25% opacity is my go-to because it darkens without crushing midtones.
If I need a more analog feel, I offset odd frames by one pixel vertically or apply a quick field separation to mimic interlaced scanning; for games I sometimes use a GLSL shader (or 'CRT' shader packs in emulators) to get curvature and phosphor bloom. It’s a small trick that adds a surprising amount of character — I always smile when a flat scene suddenly feels tactile.