๐ผ> Scanlines
An old-CRT overlay, horizontal or vertical
- image
- image
The strobed-line texture of an old CRT monitor or a low-quality broadcast signal, dropped onto an image as an overlay. It's a one-trick node, but it's the exact trick people reach for when they're chasing a retro, synthwave, or damaged-tape look.
How it works
direction picks whether the lines run horizontal (the classic old-TV scanline look) or vertical (closer to an old LCD or plasma pixel-column artifact). intensity and line_thickness control how dark and how wide the lines are. It stacks naturally with this pack's RGB Shift and Bloom nodes for a full retro-broadcast pass - scanlines for the texture, RGB Shift for the channel misalignment, Bloom for the blown-out glow a cheap CRT would produce.
It's a purely cosmetic overlay, not a simulation - there's no attempt to model actual interlacing, phosphor decay, or signal noise the way a dedicated CRT-shader plugin might. That's the right trade for a ComfyUI node: it's fast, it's predictable, and it does the one visual cue most people actually associate with "old screen" without dragging in a heavier effects pipeline. If you need a more physically accurate CRT simulation for a serious video project, this isn't that tool - but for stills and quick stylistic passes inside a generation workflow, it's exactly the right amount of effort.
The inputs and outputs that matter
image(IMAGE) - required.intensity(INT, 0โ100, default 15) - how visible the lines are.line_thickness(INT, 0โ100, default 15) - how wide they are.direction- enum,horizontalorvertical.imageout.
How to install it
Via ComfyUI Manager: search "yanc" or "ComfyUI_yanc" and install, then restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ALatentPlace/ComfyUI_yanc
then restart ComfyUI. No extra dependencies or model downloads.
Common issues & troubleshooting
The effect is heavier than expected right out of the box. Unlike Bloom, which defaults to fully off, both intensity and line_thickness here default to 15 out of a 0โ100 range - so the effect is already visible the moment you add the node. If you wanted something barely-there, back off one or both values rather than assuming the default is neutral.
Cranking both sliders toward 100 turns the image into mostly black bars. That's expected at the high end - it's a legitimate "deliberately trashed" look if that's what you're going for, but it's easy to overshoot past "stylized" into "unreadable" without meaning to. Move in smaller increments than you'd expect near the top of the range.
Horizontal vs vertical looks less different than you expected on a square image. The distinction is most obvious on rectangular, screen-shaped compositions; on a near-square image the two directions read more similarly. If the effect feels ambiguous, try it on a wider or taller crop.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | โ | |
| intensity | INT | 150โ100 | โ |
| line_thickness | INT | 150โ100 | โ |
| direction | COMBO | 2 options: horizontal, vertical |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | โ |