I'm looking for a source for one or a few 1-bit black-or-white bitmapped fonts used in the past, available in a set of sizes.

Current incarnations might be available for large LED displays, but those may work best for point LEDs rather than square filled pixels, and ideally these would be something recognizable by some as having historical aspects.

Should be available in a range of sizes.

The application is a small 128x64 pixel OLED display. I currently use Python's PIL which has a "default" font that is just too small for this display. I can also use it to read TrueType fonts, then I down-convert to gray scale then use a threshold to get 1-bit, but it looks ragged. See here and here but here I'm not asking for Chinese characters; even the original ASCII would be helpful.

Example of a 1-bit binary OLED display (128x64 pixels) cropped from this image from the AdaFruit Page Monochrome 0.96" 128x64 OLED graphic display, Product ID: 326.

enter image description here

These days even black-and-white fonts are displayed using grayscale or even color. Zoomed screenshots from my laptop showing that what looks black-and-white isn't. Trying to post-process these back to binary by thresholding can lead to rough edges and strange looking characters.

enter image description here enter image description here

  • 2
    Reminds me of the HD44780 LCD font which I found here: fonts2u.com/hd44780-regular.font
    – LawrenceC
    Commented Jan 1, 2019 at 4:39
  • 1
    @LawrenceC yes that's definitely the right idea, thanks, but 7 pixels tall is too short for me. It's probably very similar to the "default" font that PIL has already. I'm using thresholded TTFs because I can specify a fontsize first.
    – uhoh
    Commented Jan 1, 2019 at 4:41
  • 7
    Mind, the "color" in your up-scaled samples is exploiting the geometry of LCD displays - that's why the font looks clear black at proper scale, but when you upscale it, it no longer works. You can always force rendering without any sub-pixel rendering or anti-aliasing to have pure white+black font, but it doesn't help much - most fonts today look horrible without anti-aliasing. You want a raster font, so buying a raster font (or making your own, it's not that hard) is a better idea.
    – Luaan
    Commented Jan 1, 2019 at 13:37
  • 2
    Sub-pixel rendering has always seemed like witchcraft to me. Commented Jan 1, 2019 at 16:10
  • 1
    A related question is superuser.com/questions/329027 .
    – JdeBP
    Commented Jan 1, 2019 at 21:31

7 Answers 7



Looks positively awesome to me. I started by looking for IBM MDA - the classic 9x14 font, and I found this site.

License is Creative Commons Attribution-ShareAlike 4.0.

I've downloaded the file. Zip contains all the fonts ready to install in Windows. You should be able to convert it to whatever you need, including actual bitmaps - I've done that in the past, though not lately.

This includes dozens of fonts - IBM CGA/EGA/MDA/VGA, ATI, Tandy, Phoenix, etc.

  • 11
    Wow that looks really intriguing, and so ends my productivity for the rest of the day...
    – uhoh
    Commented Jan 1, 2019 at 5:10
  • 1
    I am dubious as to if these are validly liscensed. Quoting that page "I do not claim any rights to the original raster fonts on which this work is based. Credit for these goes to their respective designers. The font files in this pack (TTF and FON remakes and enhancements) are © 2016 VileR, and are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License." It is not clear to me as to if VileR can actually have copyright rights on the "TTF and FON remakes and enhancements", since they are mechanically dervive from Raster fonts that VileR explictly doesn't own Commented Jan 2, 2019 at 13:31
  • Yeah, this is shady. Someone just scraped fonts and repackaged them.
    – pipe
    Commented Jan 2, 2019 at 14:32
  • 3
    This is more than just scrape & repackage. There was some real work involved to convert a bitmap for a non-square pixel screen to a scalable font for a square pixel screen. Not rocket scientist work, but not trivial either. Whether that raises licensing issues on the back end (i.e., can you legally copy old bitmap fonts and reuse them that way) or the front end (i.e., do you have any right to attach any license at all to the result) is beyond my pay grade. Commented Jan 2, 2019 at 14:48
  • 9
    In the US (Eltra Corp. vs. Ringer), the shapes of glyphs in a font cannot be copyrighted, only the code used to generate them.
    – dan04
    Commented Jan 2, 2019 at 16:17

-misc-fixed-* X11 font "family" matches all your criteria - it originated sometime in the 1980s, thus it can be considered retro or vintage, is distributed public domain, comes in several sizes (5x7 seems appropriate for a small LCD display), it is still developped and as a consequence has a reasonable beyond-Latin1 repertoire, the BDF (or PCF) format is easily parsed if necessary, and they are part of X11 core, therefore present in almost all Linux/BSD distributions and still maintained.

  • Thank you very much! I will have a look. I'm not a developer so I may not understand how to use these right away, but I can see there seems to be plenty of documentation and information to read there. These 128x64 OLED displays have a pixel pitch of 170 microns. 7 pixels is 1.2 mm tall and a bit hard for me to read, but I can see that there are several sizes larger than 5x7 pixels there.
    – uhoh
    Commented Jan 1, 2019 at 9:20
  • @uhoh What's the font format your LCD software wants? Parsing BDF is not difficult, but even easier, there is python PIL renderer. Anyway, there are also Linux console fonts, even easier to parse in the SBF format (shameless plug in), but they do not come in many sizes. -misc-fixed comes I think up to size 24. Though had you not asked specifically about retro fonts, I'd recommend otf2bdf - make sure to enable hinting, and I wouldn't worry about aliasing at this display density Commented Jan 2, 2019 at 14:02
  • Check the "See here and here but here" links in the question. I just use Python and PIL and I make images, then after that, eventually turn them into lists or numpy arrays. If I can get the 1's and 0's for each character in the font, I don't need PIL at all. The images are so small that there's no need to work with any specific software or image format. My comment means that I might have a hard time understanding how to get at the fonts themselves. I need to go have a look first, maybe it's obvious once I do.
    – uhoh
    Commented Jan 2, 2019 at 14:16

Are there vintage or historical bitmapped fonts available for non-commercial use?

I'm looking for a source for one or a few 1-bit black-or-white bitmapped fonts used in the past, available in a set of sizes.

Typefaces are not subject to copyright, at least in the US, so you can do what you want (again, in the US). Bitmapped representations are typefaces.

This is in contrast to "fonts" (such as TrueType), which are considered software that render typefaces.

https://en.wikipedia.org/wiki/Intellectual_property_protection_of_typefaces discusses the different aspects in different countries.

These days even black-and-white fonts are displayed using grayscale or even color. Zoomed screenshots from my laptop showing that what looks black-and-white isn't.

These could be artifacts of you underlying display technology, especially for fonts, particularly today with modern high resolution screens. If you happened to have an actual bitmap of pixels in B&W that Just So Happen to look like letters, you would not necessarily be seeing those artifacts. Depends on how the graphics are actually rendered by the underlying software.

  • 1
    Thanks, thats a helpful clarification. I'm looking for something that may be used without geographic limitation, so I can't assume within the US but I can research further. fyi I've just asked elsewhere Why does some text on my laptop have gray-scale pixels and some have color pixels?
    – uhoh
    Commented Jan 1, 2019 at 4:58
  • The rendering (i.e. set of spline curves) in the font file that describe/define the font are copyright. The shape of the letters is not copyrightable in the US so if you hand-retrace with a different set of splines, your new tracing is your own IP in the US. Not in the rest of the world!. In bitmap fonts I fail to see the difference between the shape and the rendering, so it might be a different kettle of fish. Commented Jan 1, 2019 at 16:42
  • @Harper I don't know the ins & outs of bitmap licensing. Presumably (hopefully) The Ultimate Oldschool PC Font Resource did look into this properly before posting fonts and adding a CCASA license. But I don't know for sure. Commented Jan 1, 2019 at 19:47

Damien Guard's series of articles starting with Typography in 8 bits: System fonts has versions of almost all of the old system fonts you might remember.

If you don't mind digging about in ROM images, there are rather more than one lifetime's worth here: https://github.com/phooky/PROM — the Osbourne 1 font is remarkably pretty.

For making true bitmaps from vector fonts, I wouldn't be without otf2bdf. There will be library code for Python to read BDFs, as it's the documented, cross-platform way of describing font bitmaps.

Personal favourite fonts for use on small displays:

  • Acorn BBC Micro teletext font (aka ‘Mode 7’) - output by the Mullard SAA5050, it's been extended in the Bedstead vector font family.

  • Sun Microsystems's Gallant terminal font - effectively a monospaced Times.

  • Atari ST 8×16 font - used in 640×400 "Jackintosh" mono mode. It might just be a standard DR Gem font, though.


The Amstrad CPC bitmap font is detailed in chapter 7 of the user manual. There is an 8x8 bitmap for each ASCII character.

  • 2
    That was what I thought too. A bit of searching turns up fontstruct.com/fontstructions/show/25590/amstrad_cpc_extended (see note about errata). Commented Jan 1, 2019 at 15:18
  • 1
    The Amstrad PC1512 8x8 font is included in The Oldschool PC Font Resource. Commented Jan 1, 2019 at 19:46
  • 2
    way to fıll up a user's manual :) Commented Jan 1, 2019 at 21:12
  • 1
    The Epson FX80 manual also has the entire character set in there, if memory serves. Also the SAA5050 data sheet includes a dump of the contents of the ROM of the teletext character set, plus a description of the algorithm that doubles the ROM's pixel count for display. But I feel like it's probably a little vague.
    – Tommy
    Commented Jan 2, 2019 at 22:51

The bitmap fonts that come with http://x3270.bgp.nu/documentation-faq.html are licensed under the same MIT-like terms the program is under. Some of them are too large for your application, but there is one that's 8 pixels tall. If you download the source tarfile, it'll have the .bdf fonts inside it.

You can probably just grab the Signetics characters that were copied into the Apple II (it was the chargen ROM used in the Apple I), MSX, NEC PC-8000 and countless other computers of that time. Check https://www.mamedev.org/ or http://mess.redump.net/.

A third possibility is the Spleen bitmapped font by Frederic Cambus that is the default console font for OpenBSD. You can get it from https://github.com/fcambus/spleen. More information can be found at https://www.cambus.net/spleen-monospaced-bitmap-fonts/.

  • 1
    these sound excellent, I will check them out today, thanks!
    – uhoh
    Commented Jan 4, 2019 at 0:22

Brandon Rhodes has extracted and converted the AT&T 3B1 (also known as the AT&T Unix PC) screen font (and given instructions on how to extract others) from the original install files.

You can see it here: https://github.com/brandon-rhodes/unixpc-font-bdf

The font, unfortunately, is designed for non-square pixels and looks a bit off on modern square pixel displays.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .