Grade 1, one cell at a time
This translator produces Grade 1 (uncontracted) braille only: one cell for each letter, digit or supported punctuation mark. Grade 2, the contracted form used in most published books, which abbreviates common words like "the" and "and" and letter groups like "ing", is not attempted. Output is Unicode braille, drawn from the block U+2800 to U+28FF, so it is a visual representation you can paste anywhere. It is not something a blind reader can feel without a refreshable braille display or embosser.
How the cells are encoded
Each of the eight dots has a bit value (dots 1 to 8 are worth 1, 2, 4, 8, 16, 32, 64, 128), added to U+2800. Only dots 1 to 6 are used here. The letter a is dot 1, so U+2801 (⠁); b is dots 1 and 2, so U+2803 (⠃); c is dots 1 and 4, so U+2809 (⠉). The capital sign is dot 6 (U+2820, ⠠), the number sign is dots 3-4-5-6 (U+283C, ⠼) and the letter sign, used when a letter a to j follows a number, is dots 5-6 (U+2830, ⠰).
| Input | Output | Rule applied |
|---|---|---|
Hi 5 | ⠠⠓⠊ ⠼⠑ | Capital sign before H; number sign before the digit |
Room 101 | ⠠⠗⠕⠕⠍ ⠼⠁⠚⠁ | One number sign for the whole run of digits |
Hello, World! | ⠠⠓⠑⠇⠇⠕⠂ ⠠⠺⠕⠗⠇⠙⠖ | Comma is ⠂, exclamation mark is ⠖ |
NASA | ⠠⠠⠝⠁⠎⠁ | One double capital sign for an all-capitals word |
3.5 | ⠼⠉⠲⠑ | One number sign; the decimal point (⠲) keeps number mode |
THE BIG CAT ran | ⠠⠠⠠⠞⠓⠑ ⠃⠊⠛ ⠉⠁⠞⠠⠄ ⠗⠁⠝ | Capitals passage sign (⠠⠠⠠) up front, terminator (⠠⠄) before the lower-case word |
(a) [b] {c} | ⠐⠣⠁⠐⠜ ⠨⠣⠃⠨⠜ ⠸⠣⠉⠸⠜ | Each bracket is two cells: a prefix and an opening or closing cell |
"hi" she said? | ⠦⠓⠊⠴ ⠎⠓⠑ ⠎⠁⠊⠙⠦ | Opening quote ⠦, closing quote ⠴; the final ⠦ is a question mark |
Digits 1 to 9 and 0 reuse the cells for a to j, which is why the number sign matters: without it ⠁ means "a", and after it means "1". Eight single-cell punctuation marks are supported (. , ? ! ' - : ;), along with double quotes and three kinds of brackets.
Quotes and brackets
These follow Unified English Braille (UEB). A double quotation mark is one cell: opening ⠦ (dots 2-3-6) and closing ⠴ (dots 3-5-6). Brackets take two cells each, a prefix and a shape cell. Round brackets are ⠐⠣ and ⠐⠜, square brackets ⠨⠣ and ⠨⠜, and curly brackets ⠸⠣ and ⠸⠜. The prefix is dot 5, dots 4-6 or dots 4-5-6, and the second cell is dots 1-2-6 to open or dots 3-4-5 to close. A straight " opens when it sits at the start of the text, after a space or line break, or after an opening bracket, and closes everywhere else. Curly quotes keep their own direction.
Decoding behaviour
When reading braille, a single capital sign upper-cases only the next letter, and a double capital sign upper-cases every letter until the next space, number sign or punctuation mark (an apostrophe between letters stays inside the word). A triple capital sign starts a capitals passage, which upper-cases every letter through spaces and punctuation until it meets the terminator ⠠⠄ or a line break. The terminator is only read that way inside a passage. After a number sign, cells for a to j become digits, and a decimal point or comma between digits stays part of the number, until a space or another cell is reached. The letter sign is dropped, and the encoder inserts it after a number, or after a trailing decimal point or comma, when the next letter is a to j, so 9k9.j and MP3s survive a round trip. Brackets are matched as two-cell pairs by looking one cell ahead. Because ⠦ is both the opening quote and the question mark, it reads as an opening quote only at the start, after a space or after an opening quote or bracket, when the next cell starts a letter, a number or an opening bracket (or is another ⠦, as in "?"). Before a closing quote or closing bracket, and anywhere else, it is a question mark, so (?) and "?" both survive a round trip. Text made of letters, digits, spaces, the single-cell punctuation and brackets converts to braille and back unchanged (fuzz-tested), except that a curly apostrophe or curly quote comes back straight. Double quotes do not always round-trip, because ⠦ is shared with the question mark. An opening quote that is not followed by a letter, digit or bracket (a lone ", "-x or {") comes back as ?, and a question mark that starts a word before a letter or bracket (?hello, ?[) comes back as a quote. Spaces and line breaks pass through, and unrecognised characters are copied unchanged.
What it does not cover
- Other punctuation. Slashes, angle brackets, dashes, single quotation marks and symbols are not translated and stay as typed. The apostrophe cell (⠄) is used for every single quote.
- Not every contraction rule. Only the simple indicators are covered: capital sign, capitals word indicator, capitals passage and terminator, number sign and letter sign. Typeform indicators (italic, bold) and the rules for numbers mixed with units are not applied. A passage is only started for three or more all-capital words of two letters or more, separated by single spaces, and it ends at a line break without a terminator.
- Accented letters and other languages. They are not translated, and no non-English braille codes are supported.
Treat the output as a learning aid or reference. For official transcription, use a certified braille tool. Related encodings on this site are Morse code and binary.