Typographics Art · open source
ASCII art for the age of AI.
Any text becomes a picture of your photo, and stays text. Every letter keeps its place; only its weight, width, size and colour change. People see the image. Machines read every word.
The whole book: 1.2 million characters
See it for yourself
Zoom in, and the picture turns into words.
The same work, far and near. From across the room it is a portrait; up close, every shape is a letter — the real text, in reading order. Drag the slider, or press play.
What a machine reads at the top
…
The opening of Frederick Douglass's Narrative of 1845, set as his portrait. This text is read straight from the artwork's SVG, in order from the top-left.
Measured, not claimed
The text survives. We checked every character.
Every number comes from a script in the repository: proof.md · ai-readability.md · one-pager checks
Does it reach the machine?
One document, four ways. Only a picture of it loses the words.
We took one invented document — fictional, so nothing can be answered from memory — and shared it as Markdown, an ordinary PDF, a Typographics Art one-pager, and a flat image of that one-pager. Then we read each back the way a machine would and checked whether planted facts (an exact number, a negation, a clause id) survived.
| Measuring … |
The Typographics Art PDF reaches a machine like an ordinary PDF; only flattening the work to a picture loses the text — so share the PDF, not a screenshot.
Measured and reproducible: ai-benefit.md · the script · the test document
The idea
ASCII art throws the words away. We keep them.
ASCII art chooses a character for every cell of a grid; the characters are just shading. Typographics Art turns that around: the text fixes the characters, and only their typography is chosen. The picture is for people. The text stays for machines.
What a person sees
What an AI reads
As to my own treatment while I lived on Colonel Lloyd’s plantation, it was very similar to that of the other slave children. I was not old enough to work in the field, and there being little else than field work to do, I had a great deal of leisure time. The most I had to do was to drive up the cows at evening, keep the fowls …
ASCII art: @@%%##**++==--::..@@%#*+=-:.
Read straight from the artwork's SVG: Douglass's own words, every one in order.
| ASCII art | Typographics Art | |
|---|---|---|
| What is chosen | a character for each cell | the typography of each character |
| The text | lost | kept 1:1, in reading order |
| A machine reads | @@%#*+=-:. | the original text |
| Formats | plain text | HTML · SVG · PDF |
What “kept” means exactly, and how it is checked: text-fidelity.md · where it comes from
How it works
Four steps from text and photo to an artwork that is also a document.
Measure
Every character is measured in ten weights of one variable font, Roboto Flex: how wide it is, how much ink it covers.
Map
The photo becomes an ink demand per area: dark areas want heavy letters, light areas thin ones.
Set
Line by line, each letter gets the weight, width and size that match its area. The leftover error is passed on, so tones average out.
Verify
The finished artwork is read back like a machine would and compared with the source. Only then is it done.
Showcase
A whole book as one poster.
Herman Melville's Moby-Dick, 135 chapters, set on a single 2 × 3 m print file in three panels: the harbour, the hunt, the white whale. Click anywhere in the zoom view and the page shows the text at that spot.
- Full text read back from the artwork: SHA-256 identical to the source
- Every visible character of the print PDF verified
- Chapter structure, passages and word frequencies identical
- A question set about the book answered from the extracted text
- Reproducible: download the book, run two scripts, compare the hash
One-pagers
Every page of a document, on one page.
A 144-page law becomes one sheet: the letters are tiny, and together they spell the title. You recognise the document at a glance; a language model still receives every word from the PDF.
For AI
Art that machines can read.
More and more of what we publish is read by models, crawlers and assistive technology. Pictures that hide their words are invisible to them. Typographics Art keeps the words.
Instructions at a glance
System prompts, agent rules, policies: one page that shows people which document it is, and gives the model every rule.
Accessible images
The content is the description. Screen readers read the text, no separate alt text needed.
Findable art
Search engines and AI crawlers index the words, not just a file name.
Provenance
A statement, a licence or a signature inside the work survives copy and paste.
Ask your AI what this is
The whole project, README and documents, in one file. Drop it into any assistant and ask what Typographics Art is. The PDF is the same text as a one-pager, set with the technique itself.
Honest by design: the visible title always names the document, and the full text is the declared document. Tiny text must never hide instructions from the people who see the page.
Hidden messages
A message only the key holder can read. The work stays exactly as it is.
Write a secret, pick a work, and get a key. The work keeps only its public text, nothing invisible is added. The key records where the letters of your secret stand in that text, chosen at random. With the key and the right work, the secret comes back.
Write
Type the message to hide, in the generator or on the command line.
Key
For every character, one random occurrence in the public text is chosen. Two keys for the same message look completely different.
Share
The work goes public, the key goes only to the person who should read the message. Keep it like a password.
Read
Key plus work gives the message back. With any other work the key's fingerprint does not match.
Data in a work
A spreadsheet inside a picture, read back by a machine. Sealed, if it must stay private.
An Excel, CSV, JSON or Markdown file becomes a block of plain text that goes through a work unchanged, survives PDF extraction and decodes back to the data with a checksum. The same data can be sealed with a key, so the work carries only its public text.
Encode
Attach an .xlsx, .csv, .json, .md or similar file in the generator. TGD 1.0 turns it into whitespace-proof text with its own checksum, in your browser; nothing is uploaded.
Carry
The block is ordinary visible text in the work: a PDF, SVG or HTML holds it, and the work page shows the table again, checksum verified, with downloads as .xlsx, .csv, .json.
Seal
AES-256-GCM with a key that fits exactly one work. The work stays untouched; you get a key and a sealed record. A wrong key or a changed byte is detected on the work page.
Anchor
Designed: a hash of the sealed record goes on the DigiByte chain, the record itself stays off chain.
Is it secure? Can it go on a blockchain?
The cipher is sound; the code around it is tested but not independently audited, and all the security is the secrecy of the key. A blockchain would hold only a hash of the sealed record: it proves the record existed and is unchanged, it does not keep it alive and does not make it unreadable for ever. “Cannot be read without the key, as far as today's cryptography is known” is true; “nobody can ever get at it” is not.
Status: in the browser you can attach a file, write it into a work or seal it, and read both back on the work page (no server, no third party). Still command line only: passwords, compact book keys, inline keys and a sealed block inside a work. Nothing has been written to a real chain.
Structured dataSealing and the chainTry it in the generatorSample: ExcelSample: CSVPasswords, explained
Open source
A technique for everyone, like ASCII art.
The method, the web app, the library and the command-line tool are MIT licensed. No dependencies, no build step, plain JavaScript. Fonts, algorithms, translations, benchmarks and artworks are welcome.
# a poster, 2 m wide, one PDF page for the print shop node cli/tg-art.mjs photo.jpg --text poem.txt --print-width 2000 -o poster.pdf # a 100-page PDF on one page node cli/onepage.mjs law.pdf --title "Short title" -o onepage.pdf
FAQ
Questions
Is the text really complete?
Yes. Every artwork is read back and compared with its source; the reports state the method and the result. Whitespace is normalised to single spaces, and declared filler (Lorem ipsum, for finer pictures) is counted separately.
Can an AI read it from a photo or screenshot?
Partly. Classic OCR reads about 99 % at the highest legibility setting and less at artistic settings; a vision model read every word in our samples. For a perfect result, share the HTML, SVG or PDF: the text is in the file.
Is it a calligram?
No. Calligrams arrange text along a shape, usually by hand. Typographics Art keeps a normal reading layout and creates the picture only through the typography of each letter, computed from any photo.
Does it cost anything? Can I use it commercially?
It is free and MIT licensed, also for commercial use. Mind the rights to the texts and photos you use.
Is my text uploaded somewhere?
No. The web app runs entirely in your browser.
Has this been done before?
Making a picture from text is old: micrography wrote scripture into images by hand from about the 9th century, and ASCII art turns images into glyphs by machine. What is new is the combination — a given text set once in reading order, the picture made only from per-letter typography, and the result verified to read back as the source. See prior-art.md.
Make the first Typographics Art of your own.
Paste a text, drop a photo, export a PDF that people can look at and machines can read.


