Decoy Font

(mixfont.com)

640 points | by ray__ 23 hours ago

72 comments

  • OsrsNeedsf2P 22 hours ago
    Is it useful? No. Does it stop AI from reading it? Also no. But is it cool? Yes, it is very cool.
    • jszymborski 20 hours ago
      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?
      • nine_k 9 hours ago
        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.

      • BugsJustFindMe 20 hours ago
        You could, but is that what they've done?
        • jszymborski 20 hours ago
          I'm just saying they should just drop the dubious claims and just say "I made a font that I think looks cool".
    • amarant 10 hours ago
      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!
      • LoganDark 9 hours ago
        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
    • CGMthrowaway 21 hours ago
      > 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.

    • jonplackett 20 hours ago
      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)
      • goodmythical 20 hours ago
        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!
        • andypants 47 minutes ago
          You've told it that there are 2 messages.
        • Lio 8 hours ago
          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).

        • hnlmorg 8 hours ago
          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

      • kps 12 hours ago
        That was 7 hours ago. Now, Google Images not only reads the text but links to that web site.
        • fitsumbelay 12 hours ago
          ... wherein it's made known the author can't lose. good for the author
      • xnickb 20 hours ago
        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.

    • MomsAVoxell 6 hours ago
      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 ..

    • inigyou 22 hours ago
      The demonstration shows that it does stop AI
      • legohead 21 hours ago
        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.

      • sheept 22 hours ago
        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
      • mkl 14 hours ago
        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.
      • goodmythical 20 hours ago
        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.
      • pixl97 19 hours ago
        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.

        • Xirdus 11 hours ago
          > 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?

          • pixl97 1 hour ago
            They tend to have something like a sound captcha too
    • neonmagenta 11 hours ago
      Could definitely make some fun art or advertising pieces with it using blurred objects or people behind it like its frosted glass
    • Tubelord 18 hours ago
      If you present the text in an image / GIF format it could be useful.
      • eru 15 hours ago
        That's an accessibility nightmare for people with vision issues.
    • jere 19 hours ago
      It's similar to any anti face detection art. Probably useless but cool.
    • Cshaya 21 hours ago
      sometimes in life there is no reason to kick a rock around besides having fun ;)
    • ryant123 22 hours ago
      Yeah, it looks good
    • Morromist 19 hours ago
      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.
    • TiredOfLife 20 hours ago
      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.
  • pietz 18 hours ago
    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.

    • jdkee 17 hours ago
      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.

    • verdverm 16 hours ago
      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.
      • everyday7732 5 hours ago
        squint your eyes and it becomes easy to read the "hidden" message.
  • gilesvangruisen 21 hours ago
    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.”"

    • dieselgate 17 hours ago
      Oh Nice, I wasn't able to really read the hidden text before reading your squinting part, that's interesting!
      • colinmarc 45 minutes ago
        I find it works a lot better at smaller sizes.
      • x-complexity 11 hours ago
        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.
    • p-e-w 14 hours ago
      It’s absolutely incredible that the model can deduce what the human needs to do in order to more clearly see the text.
      • swiftcoder 9 hours ago
        Counterpoint: this is the same instructions provided for a wide class of printed optical illusions, likely well represented in the training set.
        • p-e-w 8 hours ago
          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.
    • make3 20 hours ago
      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
  • ziofill 18 hours ago
    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.
  • luciana1u 7 hours ago
    my handwriting has been doing this for 30 years and I never got 500 upvotes for it
  • Dwedit 22 hours ago
    This is just level of detail. Gemma E4B reads the sharper text until you resize down to 150x150, then it reads the other text.
    • crazygringo 22 hours ago
      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".

      • acjohnson55 14 hours ago
        Found the robot, y'all
      • hananova 22 hours ago
        You’re doing it the wrong way around, try intentionally letting your eyes defocus.
        • Dwedit 2 hours ago
          "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.
    • AlotOfReading 22 hours ago
      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.
  • shlewis 22 hours ago
    Not even AI. I think I can write PIL script that will fix the font to be read by any ocr software.
  • swiftcoder 9 hours ago
    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...
  • invalidusernam3 6 hours ago
    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

  • Aardwolf 2 hours ago
    So if I squint my eyes I'm a human, if I don't squint them I'm a robot
  • jmward01 14 hours ago
    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.
    • olalonde 12 hours ago
      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.
  • voidnullvalue 22 hours ago
    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...

    • carlos-menezes 4 hours ago
      > trivially

      > 495 LoC

      • voidnullvalue 1 hour ago
        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
    • ligarota 22 hours ago
      [dead]
  • PhilipRoman 4 hours ago
    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.
  • jjcm 20 hours ago
    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.

  • anonzzzies 4 hours ago
    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.
    • _rwo 4 hours ago
      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

  • tough 7 hours ago
    If you squint vs not squint it becomes way easier some how to differentiate i wonder why
    • healthworker 7 hours ago
      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.
  • noman-land 22 hours ago
    This seems like it would absolutely wreck the experience for people using screen readers.
    • atarian 22 hours ago
      How? AFAIK screen readers don’t do OCR.
      • kps 22 hours ago
        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.
    • cush 22 hours ago
      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.
      • kube-system 20 hours ago
        Which means that this font is entirely useless unless it is implemented in a way that breaks screen readers.
    • hungryhobbit 17 hours ago
      Forget about screen readers: I'm looking at it on a monitor and I just see the robot version!
  • redlewel 19 hours ago
    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
  • fusslo 21 hours ago
    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.

    • klabb3 20 hours ago
      > 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.

  • himata4113 16 hours ago
    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.
    • Quizzical4230 12 hours ago
      You can read it in light mode too! Try looking at the text from an extreme angle and the text underneath will show up.
  • xg15 20 hours ago
    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.

    • goodmythical 20 hours ago
      Also works if you scale/zoom the image. The crisp lines disappear entirely at a certain point.
  • thyself5221 5 hours ago
    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)

    • junon 4 hours ago
      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_c 5 hours ago
    A natural extension would be a reverse steganography that trips AI into see other things in images
  • mrweasel 22 hours ago
    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.
    • fckgw 21 hours ago
      Have you no whimsy?
      • pixl97 19 hours ago
        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.

      • theideaofcoffee 21 hours ago
        NO FUN ALLOWED on srsbznz hacker news!
  • samschooler 22 hours ago
    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.
    • wronex 22 hours ago
      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.
  • mrbluecoat 15 hours ago
    > try squinting to see it

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

  • Sharlin 18 hours ago
    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).
  • BugsJustFindMe 20 hours ago
    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.

    • jambalaya8 19 hours ago
      I see uses for it that have nothing to do with AI, and which are not at all art.
      • BugsJustFindMe 17 hours ago
        I'd love to hear about them if you don't want to keep them secret.
  • _whiteCaps_ 17 hours ago
    https://www.youtube.com/watch?v=gfvMU36fgKw

    Same effect, Marilyn Monroe / Albert Einstein

  • MinimalAction 22 hours ago
    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.

  • paularmstrong 22 hours ago
    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.
    • certifiedloud 22 hours ago
      Just squint and it'll become clear.
    • gblargg 13 hours ago
      First thought is in memes so automatic censoring doesn't catch it.
    • tomtheelder 22 hours ago
      Zoom out and you'll see the hidden message
  • calebm 20 hours ago
  • ChrisMarshallNY 17 hours ago
    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.

  • interroboink 15 hours ago
    Next, someone needs to make a stereoscopic "magic eye" font. Until the LLMs get binocular vision, I suppose...
  • throwawayffffas 1 hour ago
    Am I the only one who cant read the hidden message?
  • btbuildem 21 hours ago
    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!
  • mapsedge 16 hours ago
    Made my eyes water trying to unfocus enough to see both messages at the smaller size. Pretty neat idea.
  • meerita 22 hours ago
    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.
  • jotato 20 hours ago
    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.”

  • cynicalsecurity 3 hours ago
    Good job on creating a firewall for people who have poor vision.
  • ChrisArchitect 23 hours ago
    • why_at 18 hours ago
      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.
  • jryan49 19 hours ago
    Squinting is surprisingly effective for me for seeing the hidden text. That's really cool!
  • dmsehuang 10 hours ago
    This is wild! Learn something from it!
  • MPSimmons 19 hours ago
    Also goes the other way, where you use the decoy to give instructions to the AI...
  • hyperhello 22 hours ago
    How does it know HAPPY HUMAN translates to SORRY ROBOT? Is there a cycle in there or something?
    • pavon 22 hours ago
      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.
  • yrds96 21 hours ago
    Which sufficient tooling calls even OCR can read this, but I think this can be improved
    • gblargg 13 hours ago
      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.
  • asah 20 hours ago
    waddaya know, it worked (on google Gemini/veo)

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

    • justswim 18 hours ago
      It looks like it actually got the wrong letters there, no?
      • fsuts 3 hours ago
        Yes, the decoy font worked…
  • deadbabe 22 hours ago
    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!

  • benj111 5 hours ago
    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.

  • jayshah5696 10 hours ago
    GPT 6 solves this
  • m00dy 9 hours ago
    a new captcha technique unlocked :)
  • digitaltrees 19 hours ago
    Omg. I needed this in my life.
  • fitsumbelay 12 hours ago
    useful, shmuseful. very cool project
  • parpfish 20 hours ago
    "They Live" vibes
  • panchtatvam 5 hours ago
    Using AI to create a font AI can't read. Stupidity++ !
  • TZubiri 14 hours ago
    >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.

  • casey2 14 hours ago
    If you're having trouble reading the background text use

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

  • TacticalCoder 16 hours ago
    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.

  • calebm 20 hours ago
    Super cool!
  • josefritzishere 20 hours ago
    I am struggling to imagine a scenario where this would actually work as intended.
  • Svoka 21 hours ago
    So... CAPTCHA?
  • jv22222 13 hours ago
    lol. type CMD- a few times. The human text jumps out as you shrink it!
  • 9999px 22 hours ago
    I screenshot the example and neither Claude nor ChatGPT had any problems reading both phrases. I don't get it.
    • Karliss 20 hours ago
      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
    • alfanick 21 hours ago
      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."

  • elhart05 5 hours ago
    [flagged]
  • frappuccino_o 20 hours ago
    [dead]
  • vignesh-arch 12 hours ago
    [dead]
  • jaakkoc 22 hours ago
    Cool. Now do an accessible version.

    (/s)