The Shirt That Ate the Frame
You're watching someone's wedding video, shot on a fairly recent phone, and the groom's father is wearing a finely checked shirt. Around his chest, the fabric shimmers, pulses, almost breathes. A rainbow wave crawls across the weave. Nobody in the room saw it with their own eyes. The camera invented it entirely.
This isn't a cheap-phone problem. It happens on flagships. It's called moiré, and once you understand the mechanism, you'll never unsee it.
Two Grids Fighting Each Other
Every digital camera sensor is a grid of tiny photosites, millions of them, packed in rows and columns. Patterned fabric is also a grid: woven threads crossing at regular intervals. When two regular grids overlap at a slight angle or at a similar scale, they produce a third, phantom pattern. Same optical principle that makes two layers of window screen ripple strangely when you rotate one slightly.
The math is blunt. If your sensor samples an image at a certain spatial frequency and the fabric repeats at a similar frequency, the two interfere. The artifact oscillates at the difference between those frequencies, which is why a tight herringbone blazer produces slow, rolling waves rather than static noise. The pattern isn't in the fabric. It's in the collision.
Still cameras have managed this for years with an optical low-pass filter (OLPF), a thin element in front of the sensor that gently blurs fine detail before it reaches the photosites. Softer incoming signal, fewer frequency clashes. The trade-off is a slight reduction in overall sharpness, and many phone manufacturers have quietly removed or weakened the OLPF to win sharpness benchmarks. Sharper sensor, better marketing number, genuinely worse behavior around fine patterns. That's not a neutral engineering choice; it's a choice that flatters the spec sheet at the expense of anyone who's ever filmed a man in a checked shirt.
Video Makes Everything Worse
Still images have it bad. Video has it catastrophically worse, for two compounding reasons.
Movement, first. A person talking on camera shifts slightly with every breath, every gesture. The fabric moves in small increments relative to the sensor. Each frame, the two grids realign at a fractionally different angle, so the moiré pattern changes shape between frames. What was a static artifact in a photograph becomes an animated shimmer, and the human eye is acutely sensitive to motion. A faint pattern you might not notice frozen is impossible to ignore when it's crawling.
Then there's compression. Your phone doesn't store raw sensor data for video; it would eat storage at a ruinous rate. Instead it uses a codec (H.264 or H.265 on most phones) that encodes only the differences between frames. Efficient for normal footage, because most of the frame stays the same. But moiré is the opposite: a region that looks completely different every single frame, even though the shirt hasn't moved. The codec sees that churning block of pixels and does what any overwhelmed system does. It panics. It allocates extra data to the region, smears it, blocks it, renders it as chunky compression artifacts. The shimmer becomes blocky. The fabric looks like a low-resolution JPEG of itself, pulsing.
Here's a worked scenario worth keeping in your head. A travel vlogger films a ten-minute interview. Her subject wears a dark navy grid-check shirt, checks roughly 4mm apart. The footage looks fine in the viewfinder preview, which renders at a lower resolution. She exports the file and opens it on a large screen: there's a six-inch square on the chest that looks like it belongs in a video from fifteen years ago, blocky and strobing. The rest of the frame is sharp. Just that shirt.
The preview lied because the phone's display is small enough to compress the artifact into invisibility. The export told the truth.
What Phones Actually Try to Do About It
Modern computational photography pipelines do fight moiré in real time. The phone's image signal processor (ISP) runs pattern-detection algorithms that identify suspicious high-frequency repeating regions and apply localized softening. Google's Pixel line has been notably aggressive about this; Apple applies similar processing in the iPhone's video pipeline.
The problem is structural. Aggressive moiré suppression and high sharpness are fundamentally in tension, and no amount of clever software fully resolves that. If you soften the region enough to kill the artifact, you also soften the fabric texture, the buttons, the pocket stitching. The shirt starts to look like it was painted on. Some phones choose the shimmer. Others choose the smear. Neither is the shirt.
Pro video apps like Filmic Pro let you dial in a flat color profile and reduce sharpening, which reduces (though doesn't eliminate) the codec's struggle with moiré regions. It doesn't remove the sensor-level interference, but a flatter signal gives the codec less to catastrophize about.
What People Misread About This Problem
The most common assumption is that moiré is a resolution problem: get a higher-megapixel sensor and it disappears. Not quite. Resolution changes the scale at which interference occurs, not whether it occurs. A 200-megapixel sensor will produce moiré with finer fabrics than a 12-megapixel one, but any regular grid can still clash with any other. The fabric that was safe at 12MP might be catastrophic at 200MP if the check size now falls right at the sensor's new frequency sweet spot.
The other misread: zoom lenses solve it. Optical zoom changes the apparent size of the pattern as the sensor sees it, which can shift you out of the interference frequency, and zooming in on a clashing shirt sometimes does reduce moiré. But it's not reliable. You're essentially hoping the new scale doesn't clash, and sometimes it does anyway, just with a different artifact character. Think of it less as a fix and more as a roll of the dice with better odds.
Found bad moiré in your own footage? Check whether you were shooting at the widest field of view. Nudging even slightly toward 1.5x or 2x optical zoom is worth trying next time.
The Honest Practical Answer
If you're filming someone and you have any say in wardrobe, steer them toward solid colors, large bold patterns, or coarse textures. Tight checks, narrow stripes, herringbone, fine houndstooth: classic offenders, every one of them. A chunky cable-knit sweater is fine. A shirt with 3mm stripes is not.
And if you can't change the clothing? Shoot in the best light available (brighter scenes mean less noise, which gives the codec an easier baseline), use whatever optical zoom your phone offers to shift the frequency relationship, and if you're editing afterward, a gentle blur pass applied only to the problem region in post can reduce the shimmer without destroying the whole frame.
The real question for any phone manufacturer who's made the OLPF thinner in the name of sharpness: who, exactly, is this for. The physics of two grids interfering isn't going anywhere. Computational tricks are getting better, but the sensor is still a grid, fabric is still a grid, and some days those two grids just hate each other. Professional film sets have wardrobe departments that exist, partly, for this exact reason.
Your phone just has no one to blame it on but itself.