aifree.dev

Why is its ASCII art always broken?

ASCII art and tokens: the model gets a drawing as one stream of tokens in which newlines and runs of spaces are chunks of different widths, so it never sees the columns and has to add up widths it cannot see; code that draws the shape, or numbered columns, helps · Beginner · 5 min · tokens, llm · after Length control in LLMs: tokens are not words, and nothing counts while it writes, Chess: a chatbot predicts the next move as text from the list of moves so far and keeps no real board, so familiar openings go fine but deep in a game it loses track of where the pieces are; giving it the board, a list of legal moves or a chess engine fixes most of it

ASCII art breaks because a chatbot never sees a grid. It gets one line of tokens, where newlines and runs of spaces are chunks of hidden width, so columns drift. Ask for SVG or numbered columns.

Before you start: could you explain this to a friend?

1 = not at all · 5 = easily

  1. 1 Guess first

    Researchers showed GPT-5 the same ASCII art once as text and once as a picture. When did it recognise the drawing more often?
  2. 2 Look

    A house, as you see it and as the model gets it

    1 / 5

    What you wanted

        /\
       /  \
      /    \
     /______\
     |  []  |
     |______|

    What came back (illustrative)

        /\
       /  \
       /    \
     /______\
     |  [] |
     |______|

    crooked house illustrative, not a recorded answer

    You asked for a house. On your screen the lines stack into a grid, so a roof that drifts one column is easy to spot (crooked house illustrative).

    On your screen the lines stack into columns; the model gets one line of tokens of different widths, so the same column is a different token on every line.

  3. A chatbot reads your text as tokens, chunks of text with a number each, one after another. A new line is not a new row; it is one more token. Three spaces and two spaces are two different tokens, and nothing in the number says how wide each one is.

  4. 4 You are the model

    You are the chatbot. Finish the roof of a house one line at a time: pick the tokens for each new line.

    Your drawing so far

        /\

    Line 2 of 4: which tokens keep the roof straight? (· is a space)

    tokens: o200k_base (GPT-4o, GPT-5), via tiktoken 0.14.0, each line on its own, 2026-10-24

    You are the chatbot. Finish the roof one line at a time.
  5. 5 Check

    To the model, how do “______” (six underscores) and “_______” (seven) differ?
  6. Bigger drawings break more. Every line is a new sum of widths, and one space off on one line bends everything below it. In ASCIIEval, text-only models did best on small art and worse as it grew. Writing is the hard part: GPT-4.1 read grid layouts right 72.5% of the time but wrote them right 53.6%.

  7. Let numbers do the placing. Ask for SVG or code that draws the shape: positions become coordinates, not counted spaces. If you need text, ask for a grid with numbered columns and have it say which column each character goes in, then check the result in a code block.

  8. 8 Say it back

  9. 9 Mission · 5 min

    In ChatGPT Free, ask “Draw a house in ASCII art, 9 characters wide, with the door in the exact middle. Use a code block.” Count the columns: is the roof straight and the door centred? Then ask “Now number the columns 1 to 9 above it and say which column each character goes in.” Did it line up better?

Three quick ones

Drawn at random from this lesson's pool; different next time.

Done?

Now: could you explain this to a friend?

1 = not at all · 5 = easily

Answer the three quick ones first.

Get an email when new lessons come out

New lessons arrive in the weekly digest, only in a week that has one. You confirm by email first; unsubscribe in one click.

Sources

  • Jia, Yue, Huang, Qin, Liu, Lin, You and Zhai, “ASCIIEval: Benchmarking Models’ Visual Perception in Text Strings via ASCII Art” (arXiv:2410.01733 v2, 2025-09-25, https://arxiv.org/abs/2410.01733, checked 2026-10-24): 3,526 samples over 359 concepts, multiple choice, “a random baseline (25%)” (§5.1). Table 5 “ASCIIEval Leaderboard”, macro accuracy %, Text-only / Image-only: GPT-5 55.90 / 87.81, GPT-4o 43.40 / 82.62, Gemini-2.5-pro 50.65 / 83.07. §7: text-only models do well on small art, but “as the size increases, these localized features become diluted”, while models given the image “are more adept at interpreting larger ASCII art”
  • Huang, Liu, He and Gilpin, “Learning to Draw ASCII Improves Spatial Reasoning in Language Models” (TEXT2SPACE, arXiv:2604.14641 v1, 2026-04-16, https://arxiv.org/abs/2604.14641, checked 2026-10-24): a “Read-Write Asymmetry”: “LLMs interpret ASCII representations effectively but struggle to produce them from text”. Table 1 “Bidirectional mapping results”, % correctly aligned, Desc → ASCII / ASCII → Desc: gpt-4.1 53.6 / 72.5, gpt-oss-20B 44.0 / 58.1; “The disparity spans 13 to 27 percentage points across all evaluated models”
  • Tokens in the picture and the role: OpenAI o200k_base (the GPT-4o, GPT-4.1, o3 and GPT-5 tokenizer in tiktoken’s model map), computed with tiktoken 0.14.0 on 2026-10-24. The 53-character house is 22 tokens (the GPT-2 tokenizer gives 32, one per space); “______” and “_______” are one token each, “_____\” is “____” + “_\”. Role lines are tokenized one line at a time
  • The crooked house, the SVG and the numbered-grid example in the picture are illustrative, not recorded model answers
  • aifree.dev catalog, chatgpt-free (verified 2026-10-12, live check 2026-10-24): ChatGPT Free Plan

Published Oct 24, 2026 · updated Oct 24, 2026

Embed this

Paste this into a blog post or course page: the lesson's main picture in an iframe, with a link back to the full lesson.

<iframe src="https://aifree.dev/embed/explain/ascii-art" width="100%" height="620" style="border:0;max-width:720px" title="Why is its ASCII art always broken? (aifree.dev Explain)" loading="lazy"></iframe>
<p><a href="https://aifree.dev/explain/ascii-art">Why is its ASCII art always broken? Interactive lesson on aifree.dev</a></p>

Never miss new offers and news

New tools, credits, and AI news are added regularly. Pick how you want to hear about them.

Telegram channel
Join @aifree_dev and get new free AI offers and news right in your Telegram feed.
Browser notifications
Turn on push notifications and get an alert on this device whenever something new is posted. No account needed.
Email newsletter
A weekly digest of new, changed and expiring free AI offers. Double opt-in, one-click unsubscribe. See the latest issue.

Unsubscribe anytime. Privacy

Frequently asked questions

What is aifree.dev?

aifree.dev helps everyone access AI through a curated directory of free AI tools, API credits, free tiers, and startup programs for coding, image, voice, video, and students - verified regularly.

How are offers presented?

Each offer includes its access details, free models when available, and expiration information when provided. Limited-time deals stay visible so they are easy to compare.

Do education and startup programs need verification?

Yes. Providers usually ask students to verify their status with a school email, student ID, or a program like the GitHub Student Pack, and ask startups to verify company details such as age, funding, or website. Check each offer’s claim page for the exact requirements.

What kinds of free AI offers are listed?

Free tiers and free trials from AI providers, free API credits, startup and student programs, and free tools for coding, image generation, voice, and video.

How can I suggest a tool or report a broken link?

Use the submit form: paste the offer page URL and a short note. A person checks every submission before anything is listed. Broken links and changed terms go through the same form.

+

Know a good one?

Tell us about an AI tool worth knowing. Found a broken link? We want to hear that too.

Submit an offer