The Glitch family — corruption you can control

Twelve ways to break an image on purpose — real DCT compression, real pixel sorting, real datamosh — computed live on your GPU, never faked with a preset.

A photo of a person in a VR headset broken apart by V3KTR's Glitch family — chromatic RGB fringing, scan tear and datamosh blocks, with the word GLITCH across it

Glitch art usually means one of two things: a preset that stamps a fixed "VHS" overlay on top of your picture, or a happy accident you can't reproduce. V3KTR's Glitch family is neither. Every effect here is the actual algorithm — real datamosh corruption, a real pixel sort, a real JPEG compressor pushed until it falls apart — computed live on your GPU and driven by parameters you set. As the family's own line puts it: and mean it — controllable, not happy accidents.

The images on this page are a single photograph — someone in a VR headset — run through the family at random, over and over. Same source, a dozen different ways to break it. Here's what each one is actually doing.

Broadcast and tape: the signal is failing

Four effects model a transmission coming apart, and they do it by reproducing the failure, not painting a picture of it.

Scan Glitch slips horizontal bands sideways with per-channel RGB tears, occasional sync-tears and rows of bright corruption noise — a frame that has lost horizontal lock. Signal Break goes the whole way: layered sync tear, a frozen roll bar, RF multipath ghosting, tape dropout, head-switch noise and an SNR that collapses to snow. It's an entire broken-transmission stack in one effect — and on a still, the roll is a single honest frozen frame, not a faked animation.

Signal Break and Scan Glitch: sync tear, head-switch noise and RGB channel slip
Signal Break — the transmission coming apart

Databend is the datamosh one. It corrupts on macroblock boundaries the way a damaged video buffer does: blocks smear along their motion vectors, colour-tear from a channel byte-shift, or collapse to a flat DC block, with optional quantise banding over the top. Displace Tear is its structural cousin — slice, block and row displacement with wrap-or-clamp seams and optional per-segment channel recolour. Where Databend reads as data corruption, Displace Tear reads as the image physically sheared apart.

Databend macroblocks smear and byte-shift while Displace Tear shears the frame on hard seams
Databend + Displace Tear — corruption on block boundaries

Optics and sorting

Chromatic Ab. is the clean one: a symmetric RGB channel spread along an axis with radial falloff — an optical lens fringe, not corruption. Pixel Sort is a true per-span insertion sort — it orders pixels along rows or columns within tonal spans bounded by luma thresholds, so the streaks follow the picture's own light instead of being smeared on top of it. Pixel Stretch is a slit-scan pull: pixels dragged from a movable source line along an axis, with a luminance gate deciding which regions streak. Moiré beats rotated line, dot or wave gratings against each other into interference, and lets the image modulate their frequency and phase so the shimmer bends around the subject.

The two that run deepest

The family flags two effects as going further than the rest — and they're the reason "real, not faked" isn't just a claim.

Compression is a genuine JPEG / DCT pipeline. It converts RGB to YCbCr, runs a forward 8×8 discrete cosine transform, quantises against real JPEG quantisation tables scaled by a quality control, inverse-transforms, and offers selectable chroma subsampling and ringing. Drop the quality and you get real blocking, real ringing, real colour bleed — because it is real compression, failing the way the format actually fails. It is not a "JPEG-look" texture laid over the image.

Compression: a real 8x8 DCT pipeline quantised until the blocks and ringing show
Compression — real DCT artifacts, not a texture

Image as Audio is the "ran it through Audacity" look, done honestly. It flattens the image row-major into a one-dimensional stream and runs audio filters across it — echo, amplify with overflow-wrap, reverse, fade. The overflow-wrap is the part that tears colour: push the gain past the ceiling and the values wrap, exactly as a clipping waveform would. It's databending by treating pixels as samples.

Image as Audio flattens the picture to a waveform and overdrives it
Image as Audio — pixels treated as samples

Physical break

Melt is an honest smear on a single still: iterative backward advection on feedback buffers — seed, advect along a flow field with colour-bleed and decay, render. It's internal iteration, not cross-frame datamosh, so one image melts on its own terms. Depth Shatter breaks the frame into depth-based shards, displacing the layer by an amplified, noisy depth gradient — stack it after a mark effect like ASCII and it scatters the marks, while chroma splits the channels and edge-focus concentrates the break on the depth discontinuities.

Melt drags the frame along a flow field with backward advection
Melt — advection on feedback buffers

Stack them, then roll the dice

None of these is a one-shot filter. They're layers: put Chromatic Ab. under a Pixel Sort under a Databend, set blend modes, mask where each one bites, and the order changes everything. The runs on this page came from the app's own Random — full generator pointed at the Glitch family — every image is a different seed, the whole stack applied at once, rendered in real time on the GPU.

Chromatic aberration, pixel sort and databend stacked into a single random roll
The whole family stacked in one roll

That's the difference from a filter pack. There's no fixed "glitch" here — there are a dozen real algorithms, every parameter open, running live in a browser tab on your own hardware. No plugins, no account, no watermark. Bring an image and break it properly.

Roll after roll

Every frame below is that one photograph, rolled again — the same Random — full pass over the Glitch family, a different seed each time. Landscape runs first, then the portrait crop a phone would actually see. Same source, a different failure every roll; click any one to see it full size.

A near-clean roll: the person in the VR headset still reads, hands raised, the word GLITCH crisp across the middle
One roll, the whole stack
RGB chromatic split over a dark frame
A dense blue scanline break
Green and magenta motion smear
A roll flooded red with datamosh blocks
Pixel-sorted and pixelated, the mark set in italic
Teal scanlines dragged across the subject
An orange displacement tear shearing the frame
A blue melt streak pulling the frame sideways
Green databend blocks breaking the frame apart

One frame rolls almost clean, the next tears itself apart — same family, same source, different dice.

A harder roll: red and green datamosh blocks tearing across the raised hand
The same frame, a harder roll

Now the portrait crop — the frame the phone actually sees — put through the same family.

Portrait roll: cyan and green pixel blocks over the subject
Portrait roll: clean blue with a crisp GLITCH mark
Portrait roll: a cyan burst of light above the subject
Portrait roll: magenta and green datamosh bands
Portrait roll: green pixel corruption across the top
Portrait roll: a near-monochrome green wash
Portrait roll: the subject clear, one hand raised
Portrait roll: RGB speckle noise scattered across the frame
Portrait roll: concentric moiré rings in magenta

/ Get new effects in your inbox

We'll email you when new effects land. Nothing else, and you can leave any time.

Checking this browser…

Compatibility report →