Two Slice, a Font That's Only 2px Tall
Posted4 months agoActive3 months ago
joefatula.comTechstoryHigh profile
calmmixed
Debate
60/100
TypographyFont DesignReadability
Key topics
Typography
Font Design
Readability
The 'Two Slice' font is a 2px tall font that pushes the limits of readability, sparking discussion on its usability, design choices, and the cognitive aspects of reading such a font.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
N/A
Peak period
70
0-12h
Avg / period
17
Comment distribution119 data points
Loading chart...
Based on 119 loaded comments
Key moments
- 01Story posted
Sep 13, 2025 at 7:50 PM EDT
4 months ago
Step 01 - 02First comment
Sep 13, 2025 at 7:50 PM EDT
0s after posting
Step 02 - 03Peak activity
70 comments in 0-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 20, 2025 at 4:56 PM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45236263Type: storyLast synced: 11/22/2025, 11:00:32 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Also https://stormgold.itch.io/picket-right-font
The highest DPI screen is 127,000 PPI. You could fit over 14,000 lines of 8x8 text in a single inch tall screen.
For reference, a decent monitor is 140 PPI.
I'm pretty sure we don't need to go below 8x8 if physical size is the issue.
And yeah, you could throw on more hardware to have a display nearby and use that for text. That is not the problem being solved though.
By using the three available colors on my older model, I was able to render numbers up to 199 in a readable way. Two digits on the right are 8x3 and one on the left is 8x2. I quickly abandoned two pixels of width as impossible for making legible text for all digits, so seeing a full font at two pixels wide is a fun surprise.
Thanks for the tip on Mystrix—looks neat.
The linked one is unreadable at all to me lol
At least, I think the 2-pixel high Two Slice font can be more legible with some anti-aliasing.
But I guess if you can build fonts that generate barcodes, and fonts that have LLMs built in, then you could design a 1 pixel high font that uses Morse code to represent most ASCII characters.
On some displays, you can also divide RGB into three subpixels (R, G, and B stripes). A 3x5 pixel font (9x5 subpixels) can be drawn as a 6x5 subpixel font instead (a 2x5 pixel font).
How will I know if it's waxy or wavy?
Why would hair be like 80s synthpop, or potatoes be in any way related to a by-product of honey?
Context.
Same question as GP - how can you tell if that was meant to be waxy or wavy?
This is very obvious to most people.
:nerd:
If you start writing things that aren’t sentences normal people would use (or especially if you start mixing case) it doesn’t hold up. Still interesting for a “normal” use case though.
This font seems to use characters up to 5 pixels wide, which helps with its near-legibility.
https://fontstruct.com/fontstructions/show/1426620/3x6-pixel...
(I sort of randomly picked 42, didn't know it was such an interesting string… Douglas Adams must have known that)
I wrote a kinda goofy Ada library for it https://github.com/JeremyGrosser/tiny_text
Um... Nope. I can't.
I can get some of the letters, but not most of them, unfortunately.
Love the concept, and the art, that goes into things like this. But I just cannot read it.*
* I have nerve problems in my eyes. I'm not legally blind... Most of the time.
Interesting, and given the limitation, it’s quite impressive.
But I think “probably” is optimistic. I’d say “possibly” is more realistic.
It’s not so readable if you test it with random strings.
It's interesting how we can do this with this 2x2 font immediately without any training, but I suppose reading in general has provided enough training, and ability to read this 2x2 font just provides some insight as to how word perception works.
OP's 2px width are a bit too extreme for my taste though.
[1] https://spectrumcomputing.co.uk/entry/4000080/Timex/Tasword_...
I don't know is any word processors did that, though, except in printer preview mode.
Probably lower for simplified Chinese and katakana/hiragana Japanese characters.
I'd say that at 2x2, "Two Slice" is definitely not readable.
https://booth.pm/ja/items/1477300
https://github.com/Warren2060/ChillBitmap
https://github.com/scott0107000/BoutiqueBitmap7x7
The exception to this would be a physical manifestation, where each 2x3 pixel block was surrounded by a dead space, so that the display was actually optimised for this font configuration.
Still, that’s an impressive accomplishment, allowing a 16x32 character display on a sub 1$ oled, and 10x18 on a 3$ integrated computer with built in display.
Nice work.
For anyone actually thinking of using tiny fonts in a practical project, imho 4x5 (3x4 plus padding) is about as small as it gets for a font that doesn’t require extra work to read, giving 1 pixel of (violable) padding bottom and right. Unlike the OP font, it only needs 1px of top padding to be perfectly readable, so you are actually getting “free” readability compared to needing top+bottom padding like the OP font.
It’s a cool hack, and for someone actually using little fonts like I do in real world devices it’s very interesting.
I find that you can actually go 4x5 (including padding) and still have great readability. Any less and you have to work to read it.
Early computers usually displayed characters directly mapped to the screen, with no space between them. There wasn’t enough memory to store a bit for each pixel, so they stored only the characters and wrote them out one line at a time from the ROM character map. Sometimes, you could define a few characters in RAM as well. Then if you were lucky there were “sprites”, characters that could be mapped at arbitrary alignments and sometimes even rotations “on top of” the existing character map.
This is how you got a 32x64 display (often only 32x32) mapped into 2k of RAM, instead of the 16k it would take if the pixels were stored— a time when 8k RAM total was pretty standard, and 16k was a lot. Then, color became a thing and ate up a lot of memory, so even with 64k nobody was generally mapping fonts onto a pixel background. That’s why you switched to graphics modes etc.
This is also why you will find a bunch of 8x8 pixel fonts out there that have blank rows and columns built into them for spacing. It’s still very common for imbedded work, where you often have screen sizes like 64x128 and other small pixel counts, when you are trying for maximum readable density.
You can still find these fonts in the text-only display modes when you are in the POST routines off many PCs, if you unhide them in the bios…. But many BIOSs are graphics mode only now so even that is getting hard to find. Still there when booting Linux though, if you escape out of the splash screen.
Braille is 3 px in height. But only 2 px wide and monospaced, while this font is variable width.
Oh, and several characters share representation in this, say other threads here.
But tongue in cheek humor aside, this is a neat accomplishment. It’s a great idea to stretch the letters out in width, greatly improves readability. (Earlier approaches Fokus a lot on trying to stay square, which doesn’t really work at this size)
Nanofont3x4: Smallest readable 3x4 font with lowercase (2015)
https://news.ycombinator.com/item?id=39735675
SCNR
https://joefatula.com/#leavingearth
I for one would say this is not generally usable and has a limited scope.
Interesting nonetheless.
4 more comments available on Hacker News