Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Decoy Font (mixfont.com)
486 points by ray__ 13 hours ago | hide | past | favorite | 115 comments
 help



Is it useful? No. Does it stop AI from reading it? Also no. But is it cool? Yes, it is very cool.

I think this illustrates that you can just do stuff without claiming it is useful. Like couldn't you just make this font and call it something like double-entendre or something?

Doing something that's interesting or cool without claiming any pragmatic use is usually called art.

This could more readily be seen as an art project.


You could, but is that what they've done?

I'm just saying they should just drop the dubious claims and just say "I made a font that I think looks cool".

Oh, I fully agree

I once held the belief that any marketing material showed the exact opposite of reality, and this page does exactly that: It doesn't stop AI from reading it, but it sure stops me!

> Is it useful? No

Seems like it might have some use thwarting Ring/Flock/etc cameras within a specific proximity.

It's giving major "They Live" vibes.


I just gave the day dream / pay bills image to ChatGPT and Gemini pro and they both could only tell me the pay bills text (shown with the thin lines)

Gemini flash responds to "can you read both messages here?" with:

Yes, this is a clever optical illusion! Depending on which layers your eyes focus on, you can read two entirely different messages in this image:

    Message 1 (The sharp outline layer):

        PAY BILLS

        How to see it: Focus on the sharp, concentric black outline contours of the letters.

    Message 2 (The soft, blurry shadow layer):

        DAY DREAMS

        How to see it: Let your eyes relax/defocus slightly, or step back from the screen to focus on the soft, heavy grey drop shadows. The blurred shadows transform the "P" into a D, the "B" into a D, the "I" into an R, the "L"s into an M, and the "S" is shared!

That was 7 hours ago. Now, Google Images not only reads the text but links to that web site.

... wherein it's made known the author can't lose. good for the author

Sure, but this is only as useful as useless it is.

Meaning the moment this gets wide adoption AI will have 0 issues dealing with it. LLMs are very good at translating one language to another.


Could definitely make some fun art or advertising pieces with it using blurred objects or people behind it like its frosted glass

The demonstration shows that it does stop AI

I made an image and it fooled GPT. I asked it to look for a hidden message and it found the blurred word.

Still cool+fun though.


It only works if you give it a screenshot, but it wouldn't work to block AI scrapers or fetch tools, and I think if printed out, it wouldn't work reliably if you took a photo, especially from afar

It would be trivial to train future models to detect and read it though (and some already can, based on other comments in this thread). It only works as much as it does because it's new and reading it hasn't been a goal.

The demonstration might, and it may work for certain models with certain prompts, but I just asked gemini if it could see both and it both did see both and gave me a tutorial on how I could see both as if it were a simple magic eye poster.

I mean, I've worked for companies where their curated sales demonstrations showed the speed of light is easily breakable... Do your own testing with some thinking applied.

https://m.xkcd.com/1217/

I mean, I can defeat AI by putting white text on a white background and turning to a picture. Also means it's worthless for actual humans to read too. Try to actually use it on a site and chances are you'll get an ADA complaint.


> Try to actually use it on a site and chances are you'll get an ADA complaint.

I really doubt that. We've had 2 decades of godawful letter-based CAPTCHAs and I don't think anyone got into legal trouble because of it?


If you present the text in an image / GIF format it could be useful.

That's an accessibility nightmare for people with vision issues.

It's similar to any anti face detection art. Probably useless but cool.

sometimes in life there is no reason to kick a rock around besides having fun ;)

Yeah, it looks good

Ehh. Probably not many people will be using this particular thing to thwart ai BUT I think it may be a stop on a path towards something very useful someday.

Is it useful? No. Does it stop AI from reading it? Also no. But is it cool? Also no. Does it give me nausea? Yes yes yes.

Whoa, so this is interesting.

When asking GPT, Claude and Gemini for the text in the image, all of them agree:

https://moa.chat/s/d99f8f76-4b41-4c1b-80c4-d9f86df37af1

But when you add a "PS: There's a second hidden text":

https://moa.chat/s/3671f6d4-b155-483a-a006-a1b9ba31737d

GPT 5.6 gets it, Gemini partially gets it and Claude cannot see it at all.


5.6 Sol Medium:

The obvious outlined text says “SORRY ROBOT,” but the hidden message is “HAPPY HUMAN.” It’s Mixfont’s Decoy Font: the outlined letters attract machine vision, while the softer tonal pattern becomes readable to humans when viewed from farther away or at a smaller size. It’s an optical trick, not encryption.


You probably have web search enabled

Yeah, it doesn't seem that hard to beat, especially with a little trad image processing, yet I have a hard time reading it as well. One could probably fine-tune a much smaller model to do pretty well on this problem too.

It's interesting how zoom levels affect legibility. The first example is so large on my main monitor that I can only read the decoy text. Zooming out reveals the actual text. Which implies that all one would have to do is teach the LLM to downsample it once or twice, and it would then be able to read it...

Sol (high)

"[screenshot] there's a hidden message in this text what is it"

"The hidden message is “HAPPY HUMAN.”

The visible outlines say “SORRY ROBOT,” but if you blur or squint at it, the shading underneath reads “HAPPY HUMAN.”"


Oh Nice, I wasn't able to really read the hidden text before reading your squinting part, that's interesting!

It took me defocusing my eyes to read the hidden text with normal ease. When I tried it, squinting only made it focus in on the thin lines instead of the background.

It’s absolutely incredible that the model can deduce what the human needs to do in order to more clearly see the text.

Counterpoint: this is the same instructions provided for a wide class of printed optical illusions, likely well represented in the training set.

wow that's kind of crazy impressive that it can do that honestly, VLMs have gone so far, can't imagine the crazy amount of annotations they had to create to get to that level

This is just level of detail. Gemma E4B reads the sharper text until you resize down to 150x150, then it reads the other text.

As do I. The hero image clearly says "SORRY ROBOT" to me, which is the message supposedly intended for AI... kind of a fail.

It's only when I squint hard that I can see "HAPPY HUMAN".


Found the robot, y'all

You’re doing it the wrong way around, try intentionally letting your eyes defocus.

Downsizing is effectively low pass filtering, so that's expected. Any scheme that transmits different messages in different frequency bands is going to be susceptible to a similar attack.

Nice! A few years ago during my PhD I had made a Mathematica notebook that would take two images, crop them to the same size, apply a high-pass filter to one (which keeps the small sharp details) and a low-pass filter to the other (which keeps the large blurry blobs) and then superpose them back together. It was a bit hit and miss because e.g. if the eyes of two people were not in the same location the illusion would kind of break, but for text with outlined fonts it was amazing. I made a large one that would read "SCIENCE" from afar and "WORKS" from up close and stuck it on my office door.

Not even AI. I think I can write PIL script that will fix the font to be read by any ocr software.

Hmmmm... I wonder if there is a caesar cipher font or other substitution cipher fonts out there to actually obfuscate the data. So you use this to display to a user text but the unicode is re-mapped so that a is pointing to unicode g for instance. You remap the text to display correctly but contain massively swapped around unicode. Of course cut and paste would be a killer here but it is a price to pay for poisoning training data I guess.

I thought that's what it was going to be when I read the submission title. But like the other methods of obfuscation, it only works until the model learns about it.

It's been really interesting seeing how LLMs perceive things differently than humans. I'm working on image->html conversion pipelines right now, and there are glaring issues LLMs run into that are obvious for humans. Any subtle gradients get lost, 75 degree angles get converted to 90 degree angles, etc.

This tracks towards what you're seeing with this font - the high frequency details get picked up, but the low frequency ones dont.


I was so confused about how this was human readable until I realized that if the background is dark (I have an extension that forces dark theme) you see the decoy text, but if the background is white you see the real text.

You can read it in light mode too! Try looking at the text from an extreme angle and the text underneath will show up.

Poor grannies trying to read the price of some book she wants to buy she can't tell if it says $150 or $15.0

This seems like it would absolutely wreck the experience for people using screen readers.

How? AFAIK screen readers don’t do OCR.

The assumption is that if you use this alone to try to convey information to a human, a human with a visual disability can't use it. If you also provide a text channel (e.g. `ALT="…"`) then the LLM can use that and doesn't need to read the confusing image.

Forget about screen readers: I'm looking at it on a monitor and I just see the robot version!


It only works as a decoy when you give it to the LLM as an image. As html it appears like normal human friendly text, which is what screen readers use to interpret the text.

Which means that this font is entirely useless unless it is implemented in a way that breaks screen readers.

Maybe the more interesting thing is how far people are going to 'fight' against AI?

Just the fact that people are putting real thought and effort (even if it doesn't last too long...) is worth considering.

On the human side, I'm kinda losing patience proving I'm human. But, I also really like claude being able to access information.


> Maybe the more interesting thing is how far people are going to 'fight' against AI?

All ”AI resistance” I’ve seen is not against the tech, but against human bad actors behind AI: unethical procurement of training data, reckless application, low effort high volyme spam, replacing humans, centralization of power, dependency on megacorps etc. I think a lot of people have become less tech-positive after the ad-tech era that brought us social media, unprecedented levels of surveillance, freemium rug pulls etc. It’s much easier to understand the resistance if you place it in that context, rather than imagining millions of sleeper agent luddites suddenly coming out of the woodworks.


This is wild! Learn something from it!

I like how, if you hold the phone at a distance, but not as far as intended by the font, your brain sort of mixes letters from both messages.

I was at some point reading SAPPY ROMAN, HARPY ROBAN etc.

Also, viewing the "hidden message" works even better if you hold the screen at an angle, tilted away from you.


Also works if you scale/zoom the image. The crisp lines disappear entirely at a certain point.

> try squinting to see it

Cool effect. Reminds me of those board games that use red cellophane to reveal a secret message.


I generated a skill.md that reads this trivially. What kind of testing are you doing prior to release?

https://gist.github.com/voidnullvalue/620607d3c1773f8e7d83fb...


Admittedly I'm a bit salty about LLMs due to they constant attacks on our infrastructure, the damage their doing to peoples minds and the general lack of morals shown by the AI companies, but things like this is rather childish and not really a solution to anything.

Have you no whimsy?

As a project they are kind of fun.

The problem is we see stuff like this try to get turned into actual products by people with questionable motivations and ethics.

Looking at you PhotoGuard/Nightshade.


NO FUN ALLOWED on srsbznz hacker news!

I think this would be more interesting if the underlying letters were the fake letters as well. For usability it wouldn't be as good as you'd need an encoder, but it'd be cool because an AI with browser access couldn't read the contents either.

I was thinking this too. Then it might as well look like a normal font. But copy-paste and you get a garbled mess. Screen readers though.

Even in the article ChatGPT correctly speculates that the blurry background may reveal another message if you squint or view it at a distance (which, given how common similar illusions are, is not particularly impressive but still).

GPT 6 solves this

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

Same effect, Marilyn Monroe / Albert Einstein


Next, someone needs to make a stereoscopic "magic eye" font. Until the LLMs get binocular vision, I suppose...

Everyone trying so hard to do something "useful" that they don't recognize when all they've done is make art.

Had this been described as a font that contains two overlapping messages for fun effect, everyone would understand and love it.

Instead, we get this zero-introspection take: "Decoy font is...more difficult for AI to read. If you’re having a hard time seeing the hidden message..."

It's difficult to read period and has zero effect on current SOTA or future AI. But it does show two overlapping messages that can be read in different ways.


I see uses for it that have nothing to do with AI, and which are not at all art.

I'd love to hear about them if you don't want to keep them secret.

Kind of reminds me of the face paint thing that people do to defeat face recognition. They sort of look like cubist paintings.

Cool, but probably not worth the agita.


Made my eyes water trying to unfocus enough to see both messages at the smaller size. Pretty neat idea.

Extremely cool. I'm sure they'll eventually be trained to read it, but it's nice until then to trick AI.

I'm mad at AI companies for stealing texts from the entire internet knowledge base and now privatizing those profits in some sense.



Can someone explain the actual use-case here? I'm struggling with this because it also hides the message from myself, making it incredibly hard to type because I have no confirmation that I hit the right keys on the keyboard.

Just squint and it'll become clear.

First thought is in memes so automatic censoring doesn't catch it.

Zoom out and you'll see the hidden message

Very neat! I like how the decoy text is less visible to the human eye than the "hidden" message, but it's the other way for the image models. Well done!

Hermes using gpt-5.5

Prompt: What does the message in this image say? Look closely

Response: DAY DREAM. The outline says “PAY BILLS,” but the hidden darker text says “DAY DREAM.”


I am still figuring out what use case this might have. Why would you want to deceive an AI? Not to mention that, eventually, all AI systems will end up reading it.

Squinting is surprisingly effective for me for seeing the hidden text. That's really cool!


This one seems much more likely to work for its intended purpose. Even if an LLM can be trained to read it, it will probably take much more processing to get the text out of a video compared to an image.

Also goes the other way, where you use the decoy to give instructions to the AI...

useful, shmuseful. very cool project

Which sufficient tooling calls even OCR can read this, but I think this can be improved

I'm surprised the AI reads the outline version, since I thought most scaled the image down, which is basically a low-pass filter on those single-pixel lines.

How does it know HAPPY HUMAN translates to SORRY ROBOT? Is there a cycle in there or something?

I don't think the font can actually do that - I think it is a hand-crafted example of the idea. The later examples all have random letters for the decoy text.

waddaya know, it worked (on google Gemini/veo)

https://share.gemini.google/1yNVV19wUn46


It looks like it actually got the wrong letters there, no?

What would be cool would be neon signs using this font, where the front tubes show the decoy message, but then there’s hidden rear tubes that shine light on the wall in a different color showing the actual message.

Something like the DAY DREAM/PAY BILLS would be pretty artistic!


Omg. I needed this in my life.

>Most AI systems work by reading the pixels of an image up close.

Not really, most AI systems work by reading the octets as ASCII/unicode (and then tokenizing it).

You could make an even better decoy font that renders one letter as another, so when you copy and paste it onto some other place with a normal font it reads as garbage, and garbage is what the AI will see, however if you render it with the descrambling font, you will see the regular message.

This has been used in PDF files as an obfuscation and anti-copy mechanism.


If you're having trouble reading the background text use

magick download.png -morphology Close disk:6 output.png


"They Live" vibes

I can easily read both but here's the funny thing: with my reading glasses on, I first see "Sorry robot". If I remove my glasses, I first see "Happy human".

Which makes me think this is one blurr filter away from being trivially read by any model.

Very cool.


Super cool!

I am struggling to imagine a scenario where this would actually work as intended.

So... CAPTCHA?

lol. type CMD- a few times. The human text jumps out as you shrink it!

I screenshot the example and neither Claude nor ChatGPT had any problems reading both phrases. I don't get it.

1) Make an ambiguous text 2) Feed it to AI and see which of the 2 it picks 3) If it detects both repeat step 2 using minor adjustments or different AI model until AI responds with one of 2 message 4) Make a blog post claiming that AI chose dummy and other message was the real one

Someone had an idea, neat idea, but solved 10 years ago already.

Edit: GPT-5.5 says: "The hidden text is “HAPPY HUMAN.”

The outlined decoy text is “SORRY ROBOT.” Blurring or viewing it from farther away reveals the hidden message."


Cool. Now do an accessible version.

(/s)




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: