How braille cells work
Each braille character is a cell of up to six raised dots in two columns of three. Dots 1, 2 and 3 run down the left column and dots 4, 5 and 6 down the right. A letter is identified by which dots are raised — for example h is dots 1-2-5 . On screen, braille is shown with the Unicode “Braille Patterns” characters (U+2800 to U+28FF): the code point is U+2800 plus 1 for dot 1, 2 for dot 2, 4 for dot 3, 8 for dot 4, 16 for dot 5 and 32 for dot 6, so h (1 + 2 + 16 = 19) is U+2813, ⠓.
What this translator produces
The output follows The Rules of Unified English Braille (ICEB, third edition 2024), the code adopted by the member countries of the International Council on English Braille — in the United States it replaced English Braille American Edition on 4 January 2016, according to the Braille Authority of North America. It is grade 1, also called uncontracted braille: every letter is written out. Most braille written for experienced English readers is grade 2 (contracted), where common words and letter groups such as “and”, “the” and “ing” have their own shorter signs. Grade 2 depends on many context rules and needs a dictionary-based translator plus a qualified transcriber’s check, so CodeShift does not attempt it and will never pass grade 1 off as grade 2.
Capitals, numbers and the grade 1 indicator
Braille has no separate capital letters or digit shapes. Instead, short indicators come before the characters they affect:
| Indicator | Cells | Dots | Effect |
|---|---|---|---|
| Capital letter | ⠠ | 6 | Next letter is a capital |
| Capitalised word | ⠠⠠ | 6, 6 | The rest of the letters in the word are capitals |
| Capitals terminator | ⠠⠄ | 6, 3 | Ends capitals mode early |
| Numeric indicator | ⠼ | 3-4-5-6 | Letters a–j now mean digits 1–0 |
| Grade 1 indicator | ⠰ | 5-6 | Next cell is a letter, not a digit or contraction |
The first ten letters double as digits after the numeric indicator:
| a = 1 | b = 2 | c = 3 | d = 4 | e = 5 | f = 6 | g = 7 | h = 8 | i = 9 | j = 0 |
|---|---|---|---|---|---|---|---|---|---|
| ⠁ | ⠃ | ⠉ | ⠙ | ⠑ | ⠋ | ⠛ | ⠓ | ⠊ | ⠚ |
Numeric mode lasts until a space or a symbol that is not part of a number, and a lowercase a–j directly after digits takes the grade 1 indicator so it is not read as another digit. That is why “Question 3c” becomes ⠠⠟⠥⠑⠎⠞⠊⠕⠝ ⠼⠉⠰⠉, and why a whole capitalised word like “NEW YORK” starts each word with two capital signs: ⠠⠠⠝⠑⠺ ⠠⠠⠽⠕⠗⠅. These two examples are taken from the UEB rule book, and the translator reproduces them exactly.
Worked example: “Hello 123”
| Cell | Dots | Meaning |
|---|---|---|
| ⠠ | 6 | Capital indicator: the next letter is a capital |
| ⠓ | 1-2-5 | Letter H |
| ⠑ | 1-5 | Letter e |
| ⠇ | 1-2-3 | Letter l |
| ⠇ | 1-2-3 | Letter l |
| ⠕ | 1-3-5 | Letter o |
| (space) | — | Word space; ends numeric mode |
| ⠼ | 3-4-5-6 | Numeric indicator: a–j now read as digits |
| ⠁ | 1 | Digit 1 (same cell as a) |
| ⠃ | 1-2 | Digit 2 (same cell as b) |
| ⠉ | 1-4 | Digit 3 (same cell as c) |
Punctuation and what is skipped
Common punctuation and symbols are included (full stop ⠲, comma ⠂, question mark ⠦, apostrophe ⠄, hyphen ⠤, brackets, slash, @, &, $, % and more). Straight double quotes are turned into opening or closing braille quotes depending on position. Accented letters are written as their base letter with a note, because UEB accent modifiers are not produced here, and characters with no braille symbol (such as emoji) are listed as skipped. For a printable reference with dot diagrams, see the braille alphabet chart.
A second example: capitals, numbers and punctuation
“Room 7B opens at 9:30.” shows several rules working together. The translator produces:
⠠⠗⠕⠕⠍ ⠼⠛⠠⠃ ⠕⠏⠑⠝⠎ ⠁⠞ ⠼⠊⠒⠼⠉⠚⠲
- R takes a single capital sign; the rest of “Room” is lowercase.
- 7B starts numeric mode for the 7; the capital sign before B ends numeric mode, so no grade 1 indicator is needed (a lowercase b would have needed one).
- 9:30 needs the numeric indicator twice, because the colon ends numeric mode — exactly as in the UEB rule book’s “7:30” example.
Using the braille output
The braille box contains ordinary Unicode characters, so you can copy it into a document, an email or a message like any other text. How it looks depends on the font: most modern systems include a font with the braille patterns, but if you see empty boxes, switch to a font that supports the Unicode Braille Patterns block. Unicode braille shows which dots are raised; it is a visual representation, so for tactile output paste it into your braille embosser or display software and check the result, as devices can apply their own translation tables.