Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Decoy Font (mixfont.com)
654 points by ray__ 1 day ago | hide | past | favorite | 147 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.


Or a hobby.

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!

In most of the examples I can't tell whether the outlined message or the blurred message is the one I'm supposed to be reading

> 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!

You've told it that there are 2 messages.

Now it would be interesting to give it some text on blurry nonsense to see what affect that has.

Probably that it just reports it can't find the second message or that one is not present but I wonder if it would flag it up and if that could be spammed?

(Not that I'm suggesting anyone do that you understand).


Is that reading the image? Or just identifying the source of the image and returning the authors write up on their website?

You’d have to use new images with different messages using that font to be sure Gemini isn’t “cheating” here


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.


I think this demonstrates very clearly that artificial intelligence is merely a facsimile of human intelligence - and that as soon as human intelligence is capable of identifying, differentiating, and associating facts about a thing, artificial intelligence rapidly gains the same capabilities.

And it also highlights the corollary in an amusing way: If we want to defeat AI, we have to become better humans. That means, identifying, differentiating and associating with other humans - not technology.

Creating a font for humans but not for AI was a noble task. Obviously, it won't persist. If we want to avoid the takeover by AI, we have to stop dating robots ..


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?


They tend to have something like a sound captcha too

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

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

Still, that defeats the purpose.

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.

squint your eyes and it becomes easy to read the "hidden" message.

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!

I find it works a lot better at smaller sizes.

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.

But the model recognized that they apply here. That’s absolutely non-trivial. It could have easily mistaken the line pattern for an autostereogram and told the user to cross their eyes instead.

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

If you squint just right on that Einstein photo, you get Marylin with a mustache, and it looks quite vaudevillian.

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.

my handwriting has been doing this for 30 years and I never got 500 upvotes for it

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.

"intentionally" letting your eyes defocus is not a simple task for most people. Because most people use their eyes normally, they can't do things that are unusual. Look at how many people struggle with Magic Eye stereograms. Squinting on the other hand is something that is simple to do.

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.

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

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...

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...


> trivially

> 495 LoC


Yep, pointed chatgpt to the page, told it to return a skill to read it, which it did in one turn. I couldn't have spent less effort

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.

An exact opposite way around version would be more useful in my opinion, where the actual text content was garbled but displayed correctly for humans, eg: "JLKKP" is readable as "HELLO" for humans but the actual string is "JLKKP"

Surely there is a bigger use case of AI processing text rather than OCR? Yes it would be a pain to type, but that's easy enough to fix with a little application transposing typed characters to garbled


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.


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.

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.

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


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

I expected this to be a font which shuffles characters and glyphs (requiring more effort to type it) resulting in nonsensical text but visually readable page.

If you squint vs not squint it becomes way easier some how to differentiate i wonder why

The human-targeted text in this design is using features with a low spatial frequency, compared to the robot-targeted text at a higher spatial frequency. Squinting blurs your vision so the high frequency details are lost.

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.


So if I squint my eyes I'm a human, if I don't squint them I'm a robot

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.

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.

I only see the hidden text, not the decoy. I am colorblind but there are no colors; probably has something to do with it though.

you have to squint, but I don't get why this is so upvoted

similar to recent submission "Ghost Font: A font that humans can read but AI cannot" - which wasn't even a font, but some animation which turned out could be read by LLMs

I dunno, seems like more and more nonsense makes its way to HN recently


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.

Have a reason to believe that your product constitutes plagiarism: https://arxiv.org/abs/1708.06508v1

Copyright (c) 2017 IEEE. Personal use of this material is permitted. How-ever, permission to use this material for any other purposes must be obtained from the IEEE by sending a request to pubs-permissions at ieee.org

(blurred email in case of spams)


That's a stretch. This isn't a new approach to such obfuscation. Also plagiarism would mean they ripped the source material verbatim or they at least copied the methodology and intentionally used the source material's findings as their own.

It's super unbelievable they needed to. This isn't novel.


A natural extension would be a reverse steganography that trips AI into see other things in images

> try squinting to see it

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


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).

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.

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

Same effect, Marilyn Monroe / Albert Einstein


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


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.


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

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!

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.

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.”


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


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.

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

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

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.

This is wild! Learn something from it!

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.

Good job on creating a firewall for people who have poor vision.

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

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


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

Yes, the decoy font worked…

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!


So are we going to end up at a point where AI spends vast computing power reading things any that humans don't want them to read, while the humans get a worse experience because everyone is bending over backwards trying to stop the AI reading things.

Captcha was bad enough.


Am I the only one who cant read the hidden message?

GPT 6 solves this

Omg. I needed this in my life.

"They Live" vibes

a new captcha technique unlocked :)

useful, shmuseful. very cool project

>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


Using AI to create a font AI can't read. Stupidity++ !

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: