Show HN: The text disappears when you screenshot it

387 pointsposted 12 hours ago
by zikero

126 Comments

axiolite

8 hours ago

You can take TWO screenshots, moments apart, open in GIMP, paste one over the other and choose any one of these laying modes:

Lighten, Screen, Addition, Darken, Multiply, Linear burn, Hard Mix, Difference, Exclusion, Subtract, Grain Extract, Grain Merge, or Luminance.

https://ibb.co/DDQBJDKR

cloudbonsai

6 hours ago

> You can take TWO screenshots, moments apart, open in GIMP, paste one over the other and choose any one of these laying modes:

You actually don't need any image editing skill. Here is a browser-only solution:

1. Take two screenshots.

2. Open these screenshots in two separate tabs on your browser.

3. Switch between tabs very, very quickly (use CTRL-Tab)

Source: tested on Firefox

gus_massa

3 hours ago

Is it possible to modify the webpage to make the pattern of the text go down and the pattern of the background do up?

postalcoder

5 hours ago

Out of sheer curiosity, I put three screenshots of the noise into Claude Opus 4.1, Gemini 2.5 Pro, and GPT 5, all with thinking enabled with the prompt “what does the screen say?”.

Opus 4.1 flagged the message due to prompt injection risk, Gemini made a bad guess, and GPT 5 got it by using the code interpreter.

I thought it was amusing. Claude’s (non) response got me thinking - first, it was very on brand, second, that the content filter was right - pasting images of seemingly random noise into a sensitive environment is a terrible idea.

burstmode

40 minutes ago

> pasting images of seemingly random noise into a sensitive environment is a terrible idea.

Only if your rendering libraries are crap.

dansmith1919

34 minutes ago

I think they mean prompt injection rather than some malformed image to trigger a security bug in the processing library

sunrunner

6 hours ago

Neat idea.

A friend of mine made a similar animated GIF type captcha a few years ago but based on multiple scrolling horizontal bars that would each reveal their portion of the underlying image including letters, and made a (friendly) bet that it should be pretty hard to solve.

Grabbing the entire set of frames and greyscaling them, doing an average over all of them and then applying a few minor fixups like thresholding and contrast adjustment worked easily enough as the letters were reveleaed in more frames than not (I don't think that would affect the difficulty much though if it were any diffierent). After that the rest of the image was pretty amenable to character recognition.

flux3125

2 hours ago

But then that would be a video, not a screenshot

jdiff

an hour ago

Layered images do not a video make. Sequential images distributed over time do.

bobmcnamara

3 hours ago

Computer vision mode: and each screenshot together.

amelius

5 hours ago

Yeah if this became popular, we'd have another Show HN for a tool that automated that.

LadyCailin

7 hours ago

Or just copy the text from the url. Not very secure, really. :D

mike_hearn

7 hours ago

Or just ... record a video of the screen.

landgenoot

20 minutes ago

I think there are usecases for this.

Some countries switched to identity apps instead of plastic identity cards. You could make sensitive data non-screenshottable and non-photographable.

A modern variant to the passport anti identity fraud cover: https://merk.anwb.nl/transform/a9b4e52a-9ba1-414b-b199-29085...

The hotel you are checking in doesn't need to know your DOB, length, SSN, birth place, validity and document number. But they will demand a photo of the ID anyway.

xnx

10 hours ago

This game disappears if you pause it: https://youtube.com/watch?v=Bg3RAI8uyVw

krzat

10 minutes ago

Interesting that the perception of objects/text does not disappear immediately, there is smooth fade out.

robertlagrant

5 hours ago

Yes - I was thinking of this. It solves various complicated problems such as rendering distance information in this format.

sunrunner

5 hours ago

This is great. The sphere example looks especially pleasing. It also reminds me of the game The Voidness.

nomilk

7 hours ago

First time seeing this, makes me smile involuntarily.

NKosmatos

an hour ago

Nice one, the good (great?) thing is that you can save this as a plain old html and you've got the whole code :-) It hasn't got any type of license included or any other info as comments, so perhaps the creator or the OP can let us know.

pmontra

4 hours ago

If anybody implements that to antiscrenshot some sensitive data, somebody else will use another phone, a tablet or a camera to record a video of it. Nice idea though.

gwbas1c

an hour ago

It's just adding friction: Someone determined will figure out a way to get the text.

Sometimes friction is enough.

jonathaneunice

an hour ago

Or the same one.

While a screencap image hides the message, a screencap video shows it perfectly well.

Syntonicles

10 hours ago

I first saw this effect in a video from Branta Games.

https://www.youtube.com/watch?v=Bg3RAI8uyVw

The effect is disrupted by introducing rendering artifacts, by watching the video in 144p or in this case by zooming out.

I'd love to know the name of this effect, so I can read more about the fMRI studies that make use of it.

What I've found so far:

Random Dot Kinematogram

Perceptual Organization from Motion (video of Flounder camouflage)

https://www.youtube.com/watch?v=2VO10eDIyiE

Aeolun

5 hours ago

This should have an epilepsy warning. Or something of that kind. It certainly made me feel sick.

injidup

4 hours ago

This is more a curious question for those affected by epilepsy. If you know you are triggered by such things how long an exposure is required to trigger an effect. Are you able notice that media may be triggering and simply close it or is exposure and triggering almost instantaneous?

a3w

4 hours ago

I saw the game using this rendering weeks ago, looked okay. Now I saw a font and tried to hold on to the edges while reading it, and yes, somehow this made me more (sea) sick. Strange.

Perhaps faces would be strongest in terms of reaction.

dorianmonnier

5 hours ago

Oh yes please add a warning. My brain is burning right now!

jszymborski

32 minutes ago

This would make for a great effect for a technothriller. Like a cyber ransom or something like that.

shannifin

10 hours ago

Others have mentioned Branta Games, but I first saw the effect here: https://youtu.be/TdTMeNXCnTs

cubefox

2 hours ago

This one is actually more sophisticated because it doesn't rely on scrolling pixels like the OP. So the object doesn't just disappear in screenshots, but also when the animation stops moving! So you can't actually display text that stands still, like the "hello" in the OP.

optionalsquid

an hour ago

I'm not sure I follow. Couldn't you display text that stands still by (re)drawing the outline of the text repeatedly? It would essentially be a two frame animation

cubefox

16 minutes ago

I believe the algorithm in the video works by flipping the pixel color when the pixel changes from foreground (some shape) to background, or from background to foreground. If the shape doesn't move, there is no such change, so the object disappears.

In the OP the foreground pixels continuously change (scrolling in this case) while the background doesn't change. That's a different method of separating background and foreground.

zem

5 hours ago

thanks, that's also the best explained one!

kemayo

11 hours ago

This makes me feel motion-sick, which is kind of impressive because I'm normally not easily susceptible to that.

dylan604

11 hours ago

My eyes went straight into seeing 3D image mode. It's the easiest one I've seen yet! /s

hnlmorg

3 hours ago

Hello fellow person from the 90s. mine eyes did the same too.

RedShift1

9 hours ago

Heh my eyes felt like they started bleeding

quietfox

7 hours ago

"The text disappears..." And my eyesight with it

dylan604

11 hours ago

Has anyone tried a long exposure to see if the motion smears into something discernible? Obviously harder to expose a bright screen without some ND since the shutter speed is the phone's main exposure control

lodovic

9 hours ago

If you zoom out to 25 % the text is clearly visible and screenshottable.

EvgeniyZh

7 hours ago

Probably the lower frequencies of noise are not matched? Not sure if the frequencies of the order of movement frequency can actually be matched

dasil003

9 hours ago

How do you take a “long exposure” screenshot? Isn’t every screenshot a perfect digital copy of a single frame or a full on video?

dylan604

9 hours ago

Clearly, I meant using a camera, and I'm guessing you knew that too

dice

9 hours ago

Not the parent but that was not at all clear to me. I immediately thought of taking multiple successive instantaneous screenshots and then stacking them. I'm not sure I would have thought of using a camera within a few minutes to an hour, it's not a tool I would ever reach for normally.

catlifeonmars

8 hours ago

I just did this with 50% transparency. It works

viccis

8 hours ago

Also not the parent but how the hell did you not understand what "long exposure" means ffs

rkomorn

8 hours ago

Because the context is about screenshots and context matters

"ffs".

andai

4 hours ago

Neat! I've seen stuff like this that works as a magic eye thing. So you cross your eyes (or make them parallel, depending on the type of image) and it makes a 3d animation appear in front of the page.

cal85

2 hours ago

I’d like to see an example!

oniony

5 hours ago

I don't see any text: just a scrolling down screen of random black/white pixels.

rnhmjoj

4 hours ago

It seems to depend on reading pixels from a canvas. This is commonly used for fingerprinting users on the web, so you have to disable some privacy plugins.

creata

3 hours ago

Fun!

I always wanted to make text that couldn't be recorded with a video recorder, but that doesn't seem possible.

Maybe if you knew the exact framerate that the camera was recording at, you could do the same trick, but I don't think cameras are that consistent.

jiehong

3 hours ago

I have to admit it's a pretty cool idea.

At first I was worried that there was a (stupid) API in web browsers just like on mobiles to prevent users from screenshotting something by blanking the screen in the screenshot.

wink

6 hours ago

Doesn't even show anything on LibreWolf, probably disabled WebGL as usual. I thought it was a nice error screen, but apparently it was intended, just without the text :P

creatonez

5 hours ago

Seems to work if you disable canvas fingerprinting protection.

p0w3n3d

4 hours ago

This idea has made me think of another subject - would it be possible to overload a face / car plate scanning camera by using a pattern, like qr code for exampl? Or a jacket made of qr codes?

benob

an hour ago

a good benchmark for video understanding in IA

zikero

10 hours ago

Another idea I had with this concept is to make an LLM-proof captcha. Maybe humans can detect the characters in the 'motion' itself, which could be unique to us?

- The captcha would be generated like this on a headless browser, and recorded as a video, which is then served to the user.

- We can make the background also move in random directions, to prevent just detecting which pixels are changing and drawing an outline.

- I tried also having the text itself move (bounce like the DVD logo). Somehow makes it even more readable.

I definitely know nothing about how LLMs interpret video, or optics, so please let me know if this is dumb.

xandrius

5 hours ago

I don't think we need more capable people thinking of silly captchas.

pwdisswordfishz

3 hours ago

Take N screenshots, XOR them pairwise, OR the results, then perform normal OCR.

squigz

10 hours ago

As if captchas aren't painful enough for visually impaired users...

tedggh

3 hours ago

I uploaded two images to ChatGPT and asked it to XOR them and give me the result in text.

johnjreiser

3 hours ago

Appreciate that it handles emoji as well. Can't distinguish between smileys though.

johnjreiser

3 hours ago

I also appreciate that Hn removes emojis from comments. :'(

vivegi

9 hours ago

Cool. I used the Windows snipping tool and just screen-recorded it.

shrikant

4 hours ago

Could someone please post what this disappeared bit is supposed to look like? Looks legible to me when I screenshot and open in Preview on MacOS 15.6.1 (Firefox).

grumbel

4 hours ago

You are probably browsing with zoom, that seems to screw up the up rendering and makes the background and text look different. It should be just black&white random pixel noise for both background and foreground, without motion the text becomes invisible, as it blends with the background.

Izkata

11 hours ago

Firefox on Android seems to just be a static image, I can't see any text.

creatonez

5 hours ago

Probably the result of canvas fingerprinting protection configured in your `about:config`? With a default profile it seems to work fine on Firefox for Android.

Izkata

2 hours ago

I haven't changed any of that on here.

Looks like I consistently get just the static image when I open in a new tab then switch to it, but then if I refresh the page without switching tabs it'll show the animation.

giamma

5 hours ago

It's a nice effect, but I don't think it's usable in practice, because it's not accessible for visually impaired users: not enough contrast between foreground text and background

amelius

5 hours ago

Yeah but the randomness may produce all kinds of NSFW stuff ...

Also, it's even harder to read than most captchas.

But fun idea, it was nice to see.

QuiCasseRien

7 hours ago

Even is some have found a workaround, this is a cool feature

bilsbie

an hour ago

Ultimately people will just take photos of the screen. Seems like you’re just annoying people.

I feel like there’s an ethical issue. If something is on my screen I own it. I know the law doesn’t agree but it feels right to me.

sarreph

an hour ago

The point is that it's noise and you can't "capture" a still image of the text / information (relies on motion to be viewable).

dgan

8 hours ago

What i am supposed to see here? Its just static noisy background

j1436go

7 hours ago

Had the same in LibreWolf under Manjaro Linux. Worked in Chrome.

giveita

7 hours ago

Animation, but only inside a border that is the letters of Hello.

bix6

12 hours ago

Ha cool! How’s it work?

Lalabadie

11 hours ago

The only way to see the text is in the movement. The pattern across any single frame is entirely random noise.

thaumasiotes

8 hours ago

> The pattern across any single frame is entirely random noise.

This is untrue in at least one sense. The patterning within the animated letters cycles. It is generated either by evaluating a periodic function or by reading from a file using a periodic offset.

giveita

7 hours ago

Can't it be continuous random noise added at the top and then moved down each frame.

Roughly you create another full size rect. On each frame add a random pixel on row 1 and shift everything down.

Make that rest a layer below the top one which has Hello cut out as transparent.

In any single frame the result is random noise.

thaumasiotes

7 hours ago

You could do that, but that's not what the page is doing.

You don't even need to maintain the approach of having the pattern within the text move downwards over time. You could redraw it every frame with random data, as if it was television static. It would still be easy to read, as long as the background stayed fixed.

db48x

5 hours ago

Sure, but I can just record a video instead. It doesn’t disappear then!

buibuibui

6 hours ago

This could be used for Captcha systems. Would current bots be able to decipher these?

alliancedamages

11 hours ago

You can also break it by recording the screen, of course.

viccis

8 hours ago

For what it's worth, there are some websites that embed some crazy shit when you screenshot. On reddit, r/CenturyClub will fill your background with a slightly off-white version of your username so that they can identify leakers, and I'm not certain how exactly they do it.

elAhmo

7 hours ago

If you blink really fast, the text almost disappears.

magios

6 hours ago

firefox on linux with a bunch of css stuff set to defaults or none !important shows a static image

altcognito

11 hours ago

Fun side effect: staring at the letters for a bit makes the rest of the image move.

domatic1

4 hours ago

but screen recording works :)

tamimio

5 hours ago

In your phone, just record the screen, then drag the player to see how every still pic blend in within the surroundings, but as soon as it moves it shows up.

cryptoz

11 hours ago

Had a lot of fun trying to break this. Turns out you can screenshot real easily by zooming out. Maybe there are other ways but I stopped trying :)

vunderba

10 hours ago

yeah - I actually was initially confused since I wasn't having any issues screenshotting it but had forgotten that I have the default site zoom set to ~65%.

sans_souse

11 hours ago

Not sure what you mean - I can screenshot it freely that's not the point the point is if you look then at the screenshot you cant discern the text because its a single frame now

esafak

11 hours ago

He's right. This is zoomed out: https://imgur.com/a/G7CKZ94

This is on MacOS 15.6, Chromium (BrowserOS), captured with the OS' native screenshot utility. Since I was asked about the zoom factor, I now tried simply capturing it at 100% and it was still perfectly readable...

I guess the trick doesn't work on this browser.

dylan604

10 hours ago

I zoomed out to 90% and could make out something was there but wasn't easy to read. Zooming out further went back to just being noise. I also tried zooming in but with no success. What zoom level did you use and I guess we have to ask the standard what browser/version/OS/etc?? My FFv142 on macOS never took a screen grab like you did

chii

8 hours ago

This is really interesting - because it means the "randomness" is different between the text and the background, and when you zoom out enough, the eye can distinguish it?

vunderba

7 hours ago

hmmm I think it's probably just an aliasing / canvas drawing issue. When I bring a screenshot in heavily zoomed out 33% - the pixels comprising the "HELLO" shape have a significantly higher luminance than the rest of the background.

dwg

11 hours ago

Zooming out before taking screenshot and the text is no longer obfuscated. I tried and confirmed it works. In fact, the text is perhaps even more readable than the original.

anigbrowl

11 hours ago

It depends how fast or slow your GPU is. I tried it and saw the effect you described, but within a second or two it started moving and was obscured again. Obviously you could automate the problem away.

dylan604

10 hours ago

Mine freezes the animation on zoom change. Not sure you could automate against that

anigbrowl

8 hours ago

What I meant was that even if it only freezes for a second, you could automate the screenshots to be captured during that time instead of trying to beat the clock manually

kps

10 hours ago

The text reappears when I screenshot it twice.

UltraSane

10 hours ago

Seems trivial to diff multiple screenshots to identify what parts move. Or just use a compression algorithm to do the same.

dazzlevolta

8 hours ago

Would 2 screenshots be enough, I wonder?

boothby

8 hours ago

Yeah, the letters are big enough, an xor shows the text quite clearly.

1oooqooq

3 hours ago

"you cannot screenshot this already illegible mess of white noise"

hbbio

8 hours ago

Coinbase was hacked for $400M when literally someone from outsourced support services was taking screenshots on their phone!

The culprit had more than 10k photos of all security details for thousands of wealthy customers.

gloosx

7 hours ago

If it's even true someone from outsourced support has access to some sensitive security details then using this dumpster is almost like throwing your money out of the window.