This is a silly project to explore the differences between various ASCII code pages. It's a chart of the 256 extended ASCII slots, and what characters are mapped to them in various code pages. Currently, the set of code pages used is what I found in my /usr/share/i18n/charmaps directory on ArchLinux, which is entirely arbitrary. Each square is divided into sub-areas, with the area of each square representing what proportion of code pages on my system mapped that slot to the given character. Hover and click on them for more info, or see instructions below!

Disclaimer: I know very little about code pages in practice, and this sample is in no way representative of actual usage. If you have suggestions, shoot me an email or look me up on Mastodon!


This silly project was inspired by a silly post on Mastodon, which shows a receipt whose printer had some mismatched codepages, resulting in ╤ being printed where an Ñ character should be. That post made me wonder huh, I wonder what the intended code page was, and what code page was present instead? And can I use that to figure out what character the ╔ is supposed to be? It also answers an unrelated question but one I've had in the back of my brain for a while, which is, how uniform are the various code pages? What slots are pretty universal, and which have a ton of different characters mapped to them?

The result is this page. You can click on any slot to "zoom in" and focus on only that, click on it again to see all the slots again. Hover over each section of the box to show more info about that slot/character in this here info box (click the "Instructions" tab to show these instructions again). You can use the text box to highlight boxes containing a given character or characters. "Filter" will show only the matching slots (or reset if there are no matches).

So, to answer the question that sparked this project - what character was the ╔ supposed to be? - you can type (or paste) "Ñ╤" into the filter box, and clicking "Filter" will show slot 209, the only slot that is mapped to both Ñ and ╤ in the various code pages. This will tell you that Ñ is in that slot in many prominent code pages - ISO-8859-1 and Windows-1252, for instance - but is mapped to ╤ in several IBM86* code pages. You can then look for ╔ by itself, and find it shows up in only two slots: 165 and 201. It's pretty rare in slot 165, and the only other prominent Spanish character there is Ñ again. But in slot 201, ╔ and another Spanish character É are tied for the second-most popular character in that slot, at 26 code pages each, along similar lines to the distribution for Ñ/╤. Mystery solved!