I designate the rows in a 80-column card from top to bottom by Y, X and the digits 0 to 9. Other publications use for the top rows the combinations A and B, or 12 and 11 or 10 and 11, or the reversal of one of these four pairs.

I distinguish the following types for 80-column punched card codes:

In card codes multiple punches in a single column can be used, how this is done is the distinguishing feature in the above groups. In Hollerith coding the Y, X and 0 punch can be used in combination with other punches (i.e. are zone punches). 3 Zone Hollerith does not use 0 for zone, 4 Zone Hollerith uses all three. In the extended versions there are also other punches that can be used as zone. BCD and EBCD are specific in that the additional zone punch is 8, but only in combination with one of the digit punches 2 to 7 plus possibly an additional zone punch. The difference between BCD and EBCD is that in BCD the combination of 0 with one of the zone punches Y or X is allowed. BCD and EBCD extended codes use additional (non-standard) punch combinations. Non-Hollerith codes use a different scheme. Finally, the binary zone codes and tiered codes are special.

3 Zone Hollerith

All these codes have a lack of positions for all letters and digits, so some symbols have a dual function. I know of the following:

Powers 29-character

The most limited of all, 7 letters are missing they are defined as alternate meanings of other symbols:
	symbol	alternate meaning
	   0		O
	   1		I
	   2		Z
	   6		G
	   8		S
	   K		X
	   U		V

Powers 32-character

A little bit less limiting, V, X and Z have now their own punch, but O, I, G and S are still alternate meanings for 0, 1, 6 and 8.

British Tab Machines (ICT Revised Hollerith)

The limits are the same as with the previous code, the only difference is the actual coding.

4 Zone Hollerith

These codes all have three zone punches (Y, X and 0), the remainder is normal punches.

IBM World Trade

Curious in this code is the reverse meaning of the digit punches 0 to 9 with respect to all other card codes I know.

British Tab Machines Old Hollerith

Here we have a curious placement of the letters alphabetic along the columns rather than the rows.

Powers 40-character

The codes for 10 and 11 are of course typical British.

4 Zone Hollerith plus extensions

The codes below have one or more punches that serve a dual meaning, either as normal punch or as zone punch. Because of this dual meaning some codes could be placed in two positions in the tables given, I have hatched one of the two. Also hatched are of course those positions that have the same punch both in the row as in the column. I know the following codes:

ICT New Hollerith

Here digit punch 1 serves a dual purpose as a zone punch.


Here 3, 4 and 5 serve a dual purpose as a zone punch.

BCD Hollerith

In BCD Hollerith 0 is used as zone punch, but also as digit punch and can be combined with the Y or X punch. In the latter combinations mostly the punches represent +0 and -0 that are often not considered symbols (but are shown below), somtimes however they are used for true symbols. In these codes the 8 punch is also used as zone punch, however in the displays it is not shown as zone but as multipunch with another digit punch. The following codes are shown:

BCD 40-Character

The first BCD code. Only a single 8 zone punch code is defined.


The standardized BCD code. Here the zone 8 punch is combined with either digit 3 or 4 punch, possibly also with another zone punch. However, rather than standardizing a single code, IBM felt it impudent to define 10 standard codes at once. They are called BCD-A to BCD-K (omitting BCD-I). They differed in 8 code positions. Above is shown the full code table for BCD-A. Below are for the 10 different codes the actual symbols for particular punches given:

Full BCD

The later development where zone 8 was now combined with all digit punches from 2 to 7. This code had many control symbols.


CDC's own variant of the BCD code.

BCD Hollerith plus extensions

Sometimes the BCD Hollerith codes were extended with other punch combinations that did not fall in ansy scheme. I know of one:


A BCD Hollerith based code from NCR. The 8 zone punch was used with non-zone punches 3 to 5 and 7 and in addition five extraordinary punch combinations were used, shown on the right.

EBCD Hollerith

The difference between BCD and EBCD Hollerith is that in EBCD Holerith the 0 punch occurs as zone punch only. Also from the start EBCD had the 8-2 to 8-7 multipunches (note that these nicely add to 10 to 15). There have been quite a few versions of this code, a number is shown here. Look for the sometimes subtle differences.


One of the original definitions of Extended BCD card codes by IBM. I have no idea why they called this code EBCD because it is missing quite a lot from the EBCDIC code. (Actually I know it but will explain it in the section on these pages devoted to the
Standard EBCDIC code.)


The version for the Dutch Electrologica computers.


Another version, now for BCL computers.

General Electric

This one was used by General Electric.

ICT 1900

For the British ICT (later merged into ICL) 1900.


The CDC Scientific character set on card.

Philco 2000

Philco 2000 computers used this one. I have no idea why the lower case letters e and n are present.

EBCD Hollerith plus extensions

Also the BCD Hollerith codes were sometimes extended with other punch combinations that did not fall in ansy scheme. Also here I know of one:


An EBCD Hollerith based code from USS. The 8 zone punch was not used with non-zone punches 2 and 5 to 7 but four extraordinary punch combinations were used, shown on the right.


At this moment I know only the Bull card codes where 7, 8 and 9 are used as zone punches:


The original Bull code. The digits 0 and 1 serve a dual purpose as the letters O and I.

Bull T8

The Bull code was extended by the addition of the Y punch. Moreover zone punch 9 could be used in a dual zone punch with either 7 or 8. The original Bull code is a subset of this code, hence the strange placement of the letters O and I.

Bull T8 Scientific

The code was changed later to accomodate computer programming. Many symbols were changed, but also four more punch combinations were added. It is strange that these were incompatible with the other punches (and so are shown in a separate subtable) rather than with a 7-8 double zone punch.

Binary Zone

In binary zone codes there are a few punch rows used for zone and any number of zone punches could be used. I know of the following:

Decimal Ascii

The zone punches Y, X and 0 could be used in any combination. Clearly the ASCII character set is imposed on the resulting matrix with a few row interchanges. These were so that no normal symbol had three zone punches and that most digits had their normal code. A problem is of course that the no punch symbol is digit 0 while the space has a 0 punch. I do not know whether this code has been used much, if any.


A curious code, I do not know whether it has been used in full much. Apart from the standard zone punches also 8 and 9 act as zone punches. Any number of zone punches can be used. The displayed format is a bit different because this shows more closely the relationship with other codes. In the upper part 9 is only digit punch, and comparing to other codes the 8-1 combination is added. In the lower part 9 functions only as zone punch. There is a translation for all codes (also the undefined ones) from internal
EBCDIC to this card code. The basic outline is as follows (from left to right you will find the punch combinations used for a particular internal code, two digits separated by a slash means that all digit punches from the first upto and including the last should be used in succession). There are different lines depending on the value of the first four bits in the EBCDIC code:
	first bits  card punches used
	    00	      Y-0-9-8-1        Y-9-1/8       Y-9-8-1/7
	    01        Y-X-9-8-1        X-9-1/8       X-9-8-1/7
	    02        X-0-9-8-1        0-9-1/8       0-9-8-1/7
	    03      Y-X-0-9-8-1          9-1/8         9-8-1/7
	    04          Y-0          Y-0-9-1/8         Y-8-1/7
	    05          Y-X          Y-X-9-1/8         X-8-1/7
	    06          X-0          X-0-9-1/8         0-8-1/7
	    07          Y-X-0      Y-X-0-9-1/8           8-1/7
	    10          Y-0-8-1        Y-0-1/9       Y-0-8-2/7
	    11          Y-X-8-1        Y-X-1/9       Y-X-8-2/7
	    12          X-0-8-1        X-0-1/9       X-0-8-2/7
	    13        Y-X-0-8-1      Y-X-0-1/9     Y-X-0-8-2/7
	    14            Y              Y-1/9     Y-0-9-8-2/7
	    15            X              X-1/9     Y-X-9-8-2/7
	    16            0              0-1/9     X-0-9-8-2/7
	    17            -                1/9   Y-X-0-9-8-2/7
Note that except for the first column the remainder is done in four blocks, but the separation is staggered, punch 9 is only used as digit punch in the second half. The reason of the actual pairing of the (upper case) single zone punches with the (lower case) double zone punches is lost in the course of time. I would have thought that flipping all three zone punches was be more logical. Of course there must be exceptions:
	EBCDIC	coding	expected
	  100	-	Y-0
	  120	Y	Y-X
	  140	X	Y-0
	  141	0-1	X-0-9-1
	  152	Y-X	0-8-2
	  300	Y-0	Y
	  320	X-0	X
	  340	0-8-2	0
	  341	X-0-9-1	0-1
	  360	0	-
The exceptions are however less numerous than for the 96-column card code, but the basic translation is a bit more problematical. There were deep reasons behind this all. And again 0-8-2 is a victim, one of the most problematical punches in the history of IBM. There is a tale behind this: when the 029 card punch was designed at IBM it could punch in a single step all combinations of an X, Y or 0 punch with any digit punch or the digit punch 8 plus the digit punches 2 to 7. This yielded 64 possible punches. However, the console of that time was able to display only 63 different graphic symbols (including space). So it was decided that the 0-8-2 punch could be punched by the 029 puncher but had no graphic symbol assigned. This still shows in this code.

GOST 19768/74

This card code has been used on the IBM clones (the EC series) produced in the Soviet Union. It is based on the EBCDIC internal code defined in standard GOST 19768/74. The translation to card code is based on what IBM used for its translation, however only a limited number of symbols is actually used in the card codes. Those used are shown. But even there, those with a green border in the chart are replaced by the codes for the appropriate, similar, latin script symbols, so they were also not used. It appears that the hard sign (a 'b' with a bar to the left) may have been coded as the 'B' in the chart above. But there is no documentation about that. Thanks to Uwe for a pointer to this code. The chart is based on the EBCDIC codes, but with omissions and some replacements. The code is called KPK-12 (Kod dlya PerfoKart).

GOST 10859

This code is a bit strange compared to the others, it precedes the GOST code I just gave earlier. In the chart above the digit 0 is given with a red border, this is because the actual punch for this symbol is not "no punch", but the single punch 0, actually the only symbol that uses that punch! A column with no punches would be ignored on reading. The zones are X, Y and the punch combination 3-9 (10, 11 and 12?). When 3 is used in the zone punch combination the digit punch 3 is replaced by the combination 1-2, similar, if 9 is used in the zone punch the digit punch 9 is replaced by 8-1. This is the card code for the
Soviet standard code of that time. Like in that standard only the upper four rows could be used, in that case DEL replaces the letter D.

Tiered Code

In a tiered code the 12 rows are viewed as a set of groups of rows, the punchings in each groups are independent of the punchings in the other groups. I know of only one tiered code:

Bendix Tiered Code

In this code the 12 rows are grouped from top to bottom in four tiers of three rows, so Y, X and 0 were grouped together, and 1, 2 and 3, etc. In each tier zero or one punches were allowed. This gives a total of 256 code positions with at most 4 punches in a column. Compare this with the EBCDIC card code, also 256 code positions but upto 6 punches in a column. I do not have the details for this code, so no code chart is shown, alas. But it is of note that most standard card punch codes would be allowable combinations in this code! The only exceptions from the Hollerith codes shown on this page are those that combine 7 and 8 and those that combine 0 with either X or Y.