Long Press to Change Image — Hidden Image Maker
Create the trick image going viral on X: it looks partly blank in the timeline, then the hidden artwork appears when someone taps or long-presses it. Upload your image, brush over what should stay secret, hold the preview to test the reveal, and download a ready-to-post PNG — all in your browser.
Private by design. Masking, the per-pixel alpha math, and PNG encoding all run in your browser via canvas — your image is never uploaded to a server.
How to make a long-press hidden image for X
- Upload your reveal image. Drop the finished artwork — the version people should see after long-pressing. Any AI image generator or drawing works as a source.
- Brush over the secret. Paint the parts you want hidden in the normal feed view. Brushed areas turn blank white in the timeline and only appear over the dark viewer.
- Hold to preview. Press and hold the preview panel to simulate the long-press reveal, exactly as X will render it. Release to jump back to the feed view.
- Download and post the PNG. Download the special PNG and post it from X on the desktop web with a caption like "Long press to change?". The mobile app converts uploads to JPEG, which destroys the trick.
Use Cases
Frequently Asked Questions
How does the trick actually work?
X shows images on a white background in the light-mode feed and on a near-black background in the expanded viewer and long-press preview. The default Mesh mode hides your brushed areas as a 1px checkerboard of fully-transparent and fully-opaque brightness-boosted pixels: when X downscales the image for the timeline, the checker blends with the background — washed out over white, your artwork over black. One PNG, two appearances.
Why must the file stay a PNG?
The whole trick lives in the alpha channel, and JPEG has no alpha. Mesh mode exports a 256-color PNG8 with binary transparency — the encoding that survives X's re-encoding pipeline — and posting from X on the desktop web is essential: the mobile app forces JPEG conversion and flattens the trick.
Do dark-mode users see the secret immediately?
Yes. Their timeline background is already dark, so the hidden layer is visible in the feed. That is part of the meme — light-mode users have to long-press while dark-mode users are in on it from the start.
What are the Mesh and Classic modes?
Mesh (recommended) is the encoding proven to survive X: a binary-alpha checkerboard, brightness-boosted and normalized to 2432px, exported as PNG8. The two Classic modes use smooth per-pixel alpha math — "invisible" hides as white ink with a grayscale reveal, "color reveal" keeps exact colors on black with a faint ghost on white. Classic is cleaner but X's re-encoding can flatten it; use it for platforms that serve files untouched.
Is my image uploaded to a server?
No. The masking, per-pixel math, and PNG encoding all run in your browser via canvas. The image never leaves your device.
Does it work outside X?
Anywhere an image is shown on a light surface in one place and a dark surface in another — for example chat apps with dark image viewers. It is tuned for X, where the light feed and black long-press viewer make the switch reliable.
How this viral trick works
Every image on X sits on the app’s background: white in the light-mode timeline, near-black in the expanded viewer and the long-press preview. A fully opaque image looks identical in both places — but a semi-transparent pixel doesn’t have one fixed appearance. The screen shows a blend:
displayed = pixel color × alpha + background × (1 − alpha)
That equation is the principle — but the naive version of the trick (smooth semi-transparent pixels) tends to die in X’s upload pipeline, which re-encodes and quantizes images. The encoding that actually survives, and the one this tool’s default Mesh mode uses, hides your artwork as a 1-pixel checkerboard: alternating fully-transparent and fully-opaque pixels, with the opaque half brightness-boosted 1.5×. Binary alpha survives palette quantization where smooth alpha doesn’t. When X downscales the 2432px file into a timeline thumbnail, the checker averages with whatever is behind it — a washed-out ghost over the light feed, your artwork over the black viewer. One PNG, two images, zero JavaScript.
The two classic modes solve the blend equation per pixel instead: “invisible” re-encodes hidden areas as white ink (color white, alpha = brightness — perfectly invisible on white, grayscale reveal on black), and “color reveal” sets alpha to the brightest channel so black-background colors reproduce exactly at the cost of a faint ghost tint on white. They are mathematically cleaner and great for platforms that serve your file untouched — but on X, Mesh is the one built to survive.
Survival is the whole game: the trick lives in the alpha channel, and JPEG has no alpha. Mesh mode therefore exports a 256-color palette PNG (PNG8) normalized to 2432px on the long side — the combination the viral Japanese posts converged on. Post from X on the desktop web: the mobile app converts uploads to JPEG and flattens the trick. And after posting, give the mobile feed a minute or two — X’s image variants propagate with a short delay. If a repost no longer reveals, somewhere along the way the file was flattened.
Who sees what on X
The same PNG renders differently depending on the background X puts behind it. This table is the whole trick in one view — design your image knowing every cell will happen to someone.
| Viewer | In the timeline | After tap / long press |
|---|---|---|
| Light-mode user | Brushed areas are blank white | Hidden art appears over the black viewer |
| Dark-mode user | Hidden art already visible — the feed itself is dark | Same image, no surprise |
| Anyone, if X re-encoded to JPEG | Flattened image, trick destroyed | No reveal — this is why Mesh mode exports PNG8 and why you must post from desktop web |
- Post from X on the desktop web: the mobile app converts uploads to JPEG, which strips the alpha channel and kills the effect.
- After posting, the mobile feed can take 1–2 minutes to serve the new image variants — long-press your own post to verify before sharing it around. If the reveal is gone, X flattened the file.