The Verification Venue · a thing everyone owns, nobody examines

The Blue That Was Never in the Thread

Your jeans fade to a personal map of how you sit, walk and carry your phone — and never anywhere you don't rub. That isn't the colour wearing out. The indigo was never in the cotton: it's a thin blue shell wrapped around a thread whose core stayed white. Fading is you sanding that shell off your own stress lines.

Drag across the jeans below to wear them — scrub the knee, the seat, the phone ghost in the pocket. A white fade map blooms exactly under your strokes, and beside it a magnified warp yarn shows the indigo ring being abraded off its white core in real time. Nothing here is a canned animation: the fade is the record of where you rubbed.

Your jeans — drag to wear
drag here ↗ — or use the wear-zone buttons below
One warp yarn, magnified
indigo ring · white core

Indigo ring at the spot you last rubbed

100% of original

full blue shell — nothing worn yet

Dyed area of the cross-section (of the whole thread)

43.8%

the rest was always white core

Dye type
Wear a zone

Real indigo ring dyeing leaves a shallow shell (left); slide all the way right and the dye reaches the core — that's a through-dyed yarn, which barely fades.

Why does abrasion turn it white, not just paler blue? Because the dye is a shell, not a solution. Indigo is a vat dye: it goes into the fibre as a colourless, water-soluble form, then re-oxidises in the air back to the blue, water-insoluble pigment — now mechanically trapped in the fibre, held in its own crystal by hydrogen bonds and π-stacking, not chemically bonded to the cotton. And it only ever reaches the outer ring. A reactive dye is the opposite on both counts: it forms a true covalent bond to the cellulose and is driven all the way through. One fades to a personal map; the other holds.

Vat indigo

cellulose wall H-bonds π-stack

no covalent bond to fibre Insoluble pigment mechanically trapped — held in its own crystal. Abrades off cleanly. (cite: Burch; Asian Textile Studies)

Reactive dye

cellulose–OH C–O bond

covalent C–O bond to fibre Driven through the whole fibre and chemically anchored. Fades evenly and barely. (cite: Burch)

The check — recomputed in front of you

The dyed area of a ring-dyed cross-section is exact geometry — a white core of radius R−d inside a disc of radius R:

f_area = 1 − (1 − d/R)² = 1 − (1 − 0.25)² = 1 − 0.75² = 1 − 0.5625 = 0.4375 → 43.8% dyed

A few ring depths, computed live (the green row is the depth you've set). Reactive = dye all the way through, d/R = 1:

ring depth d/Rwhite core (R−d)/Rdyed area = 1−((R−d)/R)²

The punchline the geometry forces: a ring of any depth covers 100% of the visible surface (the whole perimeter) — so a shallow shell reads as fully blue — yet at d/R = 0.25 it is only 43.8% of the cross-section. Abrade through that thin shell and the disproportionately large white core shows. The fade map above is the live integral of your strokes; each spot whitens exactly when cumulative wear reaches the ring depth. Run it: node research/why-denim-fades/verify-why-denim-fades.mjs.

What's exactly true here, and what's an honest idealization

Exactly true. The dyed-area fraction f = 1 − (1 − d/R)² is the exact area of an annulus of depth d in a disc of radius R — recomputed two independent ways (analytic annulus and Monte-Carlo point-sampling) in the verifier, both landing on the closed form. The vat-vs-reactive bonding distinction is the load-bearing checkable claim: vat indigo is an insoluble pigment mechanically trapped in the fibre; a reactive dye forms a true covalent C–O bond to the cellulose. Denim warp yarn being characteristically ring-dyed — a dyed annulus around a white core — is documented textile chemistry.

The honest nuance on "no chemical bond." There are weak physical and hydrogen-bond interactions between indigo and the cellulose surface — saying "no interaction at all" would be wrong. The precise, defensible claim is the one the page makes: indigo is not covalently bonded to the fibre the way a reactive dye is; it is held as a trapped, self-stacked crystal. That is the real distinction between vat and reactive dyeing.

Idealized. The model is a faithful picture of the dominant fading mechanism — abrasion sanding a ring off — not the only one. Real fading also involves washing, mechanical fibre damage, and some photo/oxidative degradation. Ring-dye depth varies with the dyeing process (rope vs slasher dyeing) and dip count, so the default d/R = 0.25 is a representative shallow shell, not a universal constant — that's why it's a slider. The cross-section is drawn as a clean disc with a uniform ring; a real yarn is a twisted bundle of irregular fibres, each itself ring-dyed, so the geometry is the right idea at the fibre scale, idealized for legibility. The "wear → whitening" curve assumes abrasion removes the surface uniformly; it is the mechanism made visible, not a wear-rate prediction in microns.