Long Press to Change Image

Brush over the secret — it vanishes in the X feed and reveals on long press

Your files never leave your browser

Drop the reveal image here or click to browse

The full artwork people see after long-pressing · JPEG, PNG, WebP

Upload the image people should see after the reveal.

T
ALL TOOLS · THE CATALOG
69 single-purpose utilities · runs local
Browse all →
All tools process files entirely in your browser · Your data never leaves your device

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

Post a "Long press to change?" reveal that farms replies and screenshots on X
Hide a punchline, plot twist, or second panel inside a comic or illustration
Tease artwork or a product shot that only shows on interaction
Make before/after images where the after only appears on long press
Hide spoilers in fan art so only people who choose to reveal them see them

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.

ViewerIn the timelineAfter tap / long press
Light-mode userBrushed areas are blank whiteHidden art appears over the black viewer
Dark-mode userHidden art already visible — the feed itself is darkSame image, no surprise
Anyone, if X re-encoded to JPEGFlattened image, trick destroyedNo reveal — this is why Mesh mode exports PNG8 and why you must post from desktop web