Paint what stays. Everything else becomes a one-pixel alpha checkerboard — invisible on X's white timeline, fully there once someone taps the photo.
One finger paints · two fingers pinch to zoom and pan
⌘/Ctrl + scroll to zoom · [ ] resize the brush · ⌘/Ctrl + Z to undo
Browsers write bulkier PNGs than dedicated encoders, and X rejects anything over 5 MB. Trimming colour depth is the cheapest way back under the line — the hidden half is dithered and then halved against black, so banding rarely survives to be seen.
The mechanism
Alpha is binary — every pixel is either fully there or fully gone. Your painted region stays solid. Everywhere else, every other pixel is punched out on the (x + y) % 2 === 0 lattice, so the photo is only half-present and takes 50% of its colour from whatever sits behind it.
X puts images on a white card inline but a black backdrop in the photo viewer. Same pixels, opposite ground: pale haze one moment, a real photo the next.
RGB under the transparent pixels is zeroed, which is what keeps the file small — identical bytes compress away.
Why the thumbnail goes blank
X pre-builds resized copies. The small and medium ones are resized with a smoothing filter and then flattened back to binary transparency — none of X's variants contain a single partial-alpha pixel. A 50% checkerboard averages to alpha ≈ 127.5, which lands just under the cutoff, so it isn't dimmed, it's deleted. Only fully-solid regions clear the bar. Measured on the tweet that started this:
| Variant | Size | Transparent |
|---|---|---|
| small | 414×679 | 88.4% |
| medium | 731×1200 | 88.7% |
| large | 1248×2048 | 44.5% |
| orig | 1482×2432 | 44.5% |
The timeline loads small; the viewer loads large, which keeps the pattern. That gap is the whole effect — preview 1 reproduces it with the same resize-then-threshold, matching the real variant to within 0.2%.
Because the cutoff is about the average alpha, not the pixel grid, it doesn't matter what dimensions you pick — as long as you stay above 1200, where medium stops being a downscale.
Posting it
One caveat worth knowing: this is built for light mode. Anyone browsing X in dark mode has a near-black timeline already, so they see the full photo inline and never get the reveal.