Tool to decrypt/encrypt with a barcodes 128 generator, code 128 is a normalized barcode system which is described in EAN-128 (or GS1-128).
Barcode 128 - dCode
Tag(s) : Character Encoding, Image Processing
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
Barcode 128 is a type of barcode used to encode alphanumeric data in a representation of black and white stripes. It can store a large number of characters and is widely used in industry, logistics, and inventory management. 128 barcodes follow the EAN-128 coding standard (international standard) which describes how to encode the 128 ASCII characters (hence its name). The standard describes 3 coding tables: code 128A, code 128B and code 128C.
Encoding with barcode therefore includes alternate black and white lines of variable width (between 1 and 4).
The code starts with Start and ends with End, between are the characters to encrypt each represented by 6 bars (3 blacks and 3 whites).
Example: DCODE is written with 128B barcode Start, D, C, O, D, E, End thus 211214,112313,131321,133121,112313,132113,2331112
Normally the code 128 includes a checksum (modulo 103).
Decryption requires performing a reading of the bar according to EAN-128 standard. Many app for smartphones facilitate this work.
Example: a barcode has for raw message 2112141123131313211331211123131321132331112
Check the first 6 digits (corresponding to the first 3 black bars and 3 white bars)
Example: 211214 that stands for the Start code for 128B.
Split the message each 6 characters and translate them.
Example: 112313 for character d, then 131321, etc. The message contained in the bar code is dCode.
The barcode may have a conventional graphical form (black and white lines similar to zebra's stripes) or a binary equivalent (of 0 to vacuum and 1 white bars) or a base 4 code (1,2,3 and 4 for the size of the bar, alternating black and white).
The bar code may have a variable length. It begins (usually) by Start and ends with the character End or Stop (see table).
Coding table 128A has ASCII characters from 00 to 95.
Coding table 128B has ASCII characters from 32 to 127.
Coding table 128C has all numeric values from 00 to 99.
id | bands | 128A | 128B | 128C |
---|---|---|---|---|
0 | 212222 | space | space | 00 |
1 | 222122 | ! | ! | 01 |
2 | 222221 | " | " | 02 |
3 | 121223 | # | # | 03 |
4 | 121322 | $ | $ | 04 |
5 | 131222 | % | % | 05 |
6 | 122213 | & | & | 06 |
7 | 122312 | 07 | ||
8 | 132212 | ( | ( | 08 |
9 | 221213 | ) | ) | 09 |
10 | 221312 | * | * | 10 |
11 | 231212 | + | + | 11 |
12 | 112232 | , | , | 12 |
13 | 122132 | - | - | 13 |
14 | 122231 | . | . | 14 |
15 | 113222 | / | / | 15 |
16 | 123122 | 0 | 0 | 16 |
17 | 123221 | 1 | 1 | 17 |
18 | 223211 | 2 | 2 | 18 |
19 | 221132 | 3 | 3 | 19 |
20 | 221231 | 4 | 4 | 20 |
21 | 213212 | 5 | 5 | 21 |
22 | 223112 | 6 | 6 | 22 |
23 | 312131 | 7 | 7 | 23 |
24 | 311222 | 8 | 8 | 24 |
25 | 321122 | 9 | 9 | 25 |
26 | 321221 | : | : | 26 |
27 | 312212 | ; | ; | 27 |
28 | 322112 | < | < | 28 |
29 | 322211 | = | = | 29 |
30 | 212123 | > | > | 30 |
31 | 212321 | ? | ? | 31 |
32 | 232121 | @ | @ | 32 |
33 | 111323 | A | A | 33 |
34 | 131123 | B | B | 34 |
35 | 131321 | C | C | 35 |
36 | 112313 | D | D | 36 |
37 | 132113 | E | E | 37 |
38 | 132311 | F | F | 38 |
39 | 211313 | G | G | 39 |
40 | 231113 | H | H | 40 |
41 | 231311 | I | I | 41 |
42 | 112133 | J | J | 42 |
43 | 112331 | K | K | 43 |
44 | 132131 | L | L | 44 |
45 | 113123 | M | M | 45 |
46 | 113321 | N | N | 46 |
47 | 133121 | O | O | 47 |
48 | 313121 | P | P | 48 |
49 | 211331 | Q | Q | 49 |
50 | 231131 | R | R | 50 |
51 | 213113 | S | S | 51 |
52 | 213311 | T | T | 52 |
53 | 213131 | U | U | 53 |
54 | 311123 | V | V | 54 |
55 | 311321 | W | W | 55 |
56 | 331121 | X | X | 56 |
57 | 312113 | Y | Y | 57 |
58 | 312311 | Z | Z | 58 |
59 | 332111 | [ | [ | 59 |
60 | 314111 | \ | \ | 60 |
61 | 221411 | ] | ] | 61 |
62 | 431111 | ^ | ^ | 62 |
63 | 111224 | _ | _ | 63 |
64 | 111422 | NUL | ` | 64 |
65 | 121124 | SOH | a | 65 |
66 | 121421 | STX | b | 66 |
67 | 141122 | ETX | c | 67 |
68 | 141221 | EOT | d | 68 |
69 | 112214 | ENQ | e | 69 |
70 | 112412 | ACK | f | 70 |
71 | 122114 | BEL | g | 71 |
72 | 122411 | BS | h | 72 |
73 | 142112 | HT | i | 73 |
74 | 142211 | LF | j | 74 |
75 | 241211 | VT | k | 75 |
76 | 221114 | FF | l | 76 |
77 | 413111 | CR | m | 77 |
78 | 241112 | SO | n | 78 |
79 | 134111 | SI | o | 79 |
80 | 111242 | DLE | p | 80 |
81 | 121142 | DC1 | q | 81 |
82 | 121241 | DC2 | r | 82 |
83 | 114212 | DC3 | s | 83 |
84 | 124112 | DC4 | t | 84 |
85 | 124211 | NAK | u | 85 |
86 | 411212 | SYN | v | 86 |
87 | 421112 | ETB | w | 87 |
88 | 421211 | CAN | x | 88 |
89 | 212141 | EM | y | 89 |
90 | 214121 | SUB | z | 90 |
91 | 412121 | ESC | { | 91 |
92 | 111143 | FS | | | 92 |
93 | 111341 | GS | } | 93 |
94 | 131141 | RS | ~ | 94 |
95 | 114113 | US | DEL | 95 |
96 | 114311 | FNC3 | FNC3 | 96 |
97 | 411113 | FNC2 | FNC2 | 97 |
98 | 411311 | ShiftB | ShiftA | 98 |
99 | 113141 | CodeC | CodeC | 99 |
100 | 114131 | CodeB | FNC4 | CodeB |
101 | 311141 | FNC4 | CodeA | CodeA |
102 | 411131 | FNC1 | FNC1 | FNC1 |
103 | 211412 | Start A | Start A | Start A |
104 | 211214 | Start B | Start B | Start B |
105 | 211232 | Start C | Start C | Start C |
106 | 2331112 | Stop/End | Stop/End | Stop/End |
Other than 128a, 128b and 128c variants, some other norms of barcodes exists such as EAN 8, EAN 13, Code 39, Code 93 or postal barcodes.
The vast majority of barcode standards are accepted by optical (laser) scanners or their software.
A barcode-128 encodes any string, this string can be anything and can mean anything. If the string is a number, this number can be an id in some database (usually the case for barcode of products), but without the database, it is only a number.
dCode shares a character font file (ttf font) here (unknown source, unknown licence)
dCode retains ownership of the "Barcode 128" source code. Any algorithm for the "Barcode 128" algorithm, applet or snippet or script (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or any "Barcode 128" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) or any database download or API access for "Barcode 128" or any other element are not public (except explicit open source licence like Creative Commons). Same with the download for offline use on PC, mobile, tablet, iPhone or Android app.
Reminder: dCode is an educational and teaching resource, accessible online for free and for everyone.
The content of the page "Barcode 128" and its results may be freely copied and reused, including for commercial purposes, provided that dCode.fr is cited as the source.
Exporting the results is free and can be done simply by clicking on the export icons ⤓ (.csv or .txt format) or ⧉ (copy and paste).
To cite dCode.fr on another website, use the link:
In a scientific article or book, the recommended bibliographic citation is: Barcode 128 on dCode.fr [online website], retrieved on 2025-04-16,