Braille Translator

Translate text to Grade 1 (uncontracted) braille and back, with a reference chart and a large-print worksheet you can print. Runs entirely in your browser.

🌐 Español

Grade 1 (uncontracted) braille only — one cell per letter/digit/punctuation mark, plus the numeric and capital indicators. This tool does not implement Grade 2 (contracted) braille's word/letter shorthand.

🔒 Private by design: everything runs locally in your browser and never uploaded to any server.

Grade 1, uncontracted, and nothing beyond it

Braille is a tactile writing system: cells of up to six raised dots, arranged in two columns of three, read by fingertip. Grade 1 (uncontracted) braille assigns exactly one cell to each letter, digit and punctuation mark, plus the two indicator cells that mark numbers and capitals, so a Grade 1 page is a straight transliteration of print rather than an abbreviated rendering of it. That is what this translator implements, and the widget repeats it in a note under its own buttons.

Grade 2 (contracted) braille is a further system layered on top. It replaces common letter groups and whole words with shorthand cells, so “the” or “and” collapse into a single cell, and it is what most published braille books actually use. It needs a large standardized contraction table with its own placement rules, and none of it is implemented here. If a transcription has to match a real Grade 2 book, this page will not produce it, and there is no setting that switches it on.

The dot numbering that generates every cell

Dot positions are numbered 1, 2, 3 down the left column and 4, 5, 6 down the right, and each letter is simply a subset of those six. The pattern is far more regular than it looks. Letters a through j use only the top four positions (1, 2, 4 and 5, never 3 or 6). Letters k through t repeat those same ten shapes with dot 3 added. Letters u, v, x, y and z repeat the shapes of a through e with both dot 3 and dot 6 added. Letter w is the single irregular one, because it was not part of the French alphabet Louis Braille built the system around, so it sits outside that progression with a shape of its own.

Under the hood, every cell here is arithmetic rather than a picture. The Unicode Braille Patterns block packs those six dots into six bits added to a base codepoint, so one cell is one character and the output you copy is real text you can paste anywhere, not a font trick or an image.

Numbers and capitals ride on indicator cells

Braille has no separate digit glyphs at all. Digits 1 to 9 and 0 reuse the cells for a to j, and a numeric indicator cell tells the reader to read them as numbers. This tool emits that indicator once per unbroken run of digits; a letter, space, punctuation mark or line break ends the run, and the next digit begins a fresh one. Decoding mirrors the same rule in reverse.

Capitals work one letter at a time: a capital indicator goes immediately before each individual uppercase letter, and the double-capital “this whole word is uppercase” convention is not implemented. A useful side effect is that those markers survive a round trip, so decoding this tool’s own output gives back your exact mixed case. The Morse code translator cannot do that, because Morse carries no case information at all and always decodes to uppercase.

Turning a translation into a printed worksheet

  1. Choose a direction with the radio buttons, Text → Braille or Braille → Text. Switching moves whatever is in the output box into the input box, so a phrase can go back and forth without being re-pasted.
  2. Type or paste into the first box. There is no Translate button; the second box updates on every keystroke.
  3. Click Copy to clipboard to take the result as text, or 🖨️ Print worksheet to open a separate page holding your original text as a small caption above the braille set in a large face, handed straight to your browser’s print dialog.
  4. Click Show reference chart for the full letter, digit and punctuation tables inline on the page.

That printed sheet is ordinary HTML at a large type size. It is a visual reference for a sighted learner, parent or teacher, not embosser output: it produces no raised dots and no BRF file, and physical tactile braille needs an actual embosser.

Characters it refuses, and why that is deliberate

The supported set is the 26 letters, the 10 digits, and eight punctuation marks: period, comma, question mark, exclamation mark, apostrophe, hyphen, colon and semicolon. Spaces and tabs become the blank braille cell, which is how a real tactile page represents a word gap rather than a narrower typographic space, and line breaks are kept as line breaks. Anything else stops the translation and shows an error naming the exact character that was not recognized, with the output box cleared rather than quietly filled with a partial result.

Decoding is deliberately more forgiving than encoding. It accepts either the blank cell or an ordinary space between words, and a pattern outside the Grade 1 table is reported together with its Unicode codepoint, which is usually enough to spot the stray character that rode in with a copy and paste. In practice the thing that catches people out is not the braille at all; it is a curly apostrophe pasted from a word processor, which is a different character from the straight one in the table.

For classroom material around the same lesson, the NATO phonetic alphabet converter covers the spoken spelling alphabet with its own reference chart, and the handwriting practice sheets generator prints traceable letter rows in print or cursive.

See it in action

Screenshot of the Braille Translator tool with a two-way translator switching between text-to-braille and braille-to-text, with a printable worksheet option, and a note that it produces Grade 1 uncontracted braille only - one cell per letter, digit or punctuation mark, plus the numeric indicator
Braille Translator mid-process: a two-way translator switching between text-to-braille and braille-to-text, with a printable worksheet option, and a note that it produces Grade 1 uncontracted braille only - one cell per letter, digit or punctuation mark, plus the numeric indicator.
Diagram: where the work happens on a SysFenix page that has no file input at all: the tool arrives as ordinary JavaScript inside the page, works the answer out on your own device and renders it in place, so the upload, queue and server-side record a typical online tool needs never happen
Where the work happens on a SysFenix page that has no file input at all: the tool arrives as ordinary JavaScript inside the page, works the answer out on your own device and renders it in place, so the upload, queue and server-side record a typical online tool needs never happen.

Frequently asked questions

Can I paste braille copied from a PDF or a website and get the text back?

Yes, as long as those cells are real Unicode Braille Patterns characters from the U+2800 block. Switch the direction to Braille to Text and paste. Decoding accepts either the blank braille cell or an ordinary space as the gap between words, so a transcript someone typed with normal spaces still works. If the braille came from an image, from a braille-specific font that maps ordinary letters onto dot shapes, or from a BRF file that uses ASCII letters to stand in for cells, it will not decode here, and the tool reports the exact character it did not recognize along with its Unicode codepoint.

Why did my translation stop and show an error instead of skipping the bad character?

Silent dropping is worse than a refusal for a transcription tool, because a worksheet with a missing character still looks correct and teaches the wrong thing. When the translator meets a character outside its table, such as an accented letter, a currency symbol or an emoji, it clears the output box and names that exact character instead. Delete or replace it and the translation resumes on the next keystroke.

What happens to a run of digits like 2026 or a phone number?

One numeric indicator is emitted before the whole unbroken run, and the digits themselves reuse the cells for a through j. Any letter, space, punctuation mark or line break ends that run, so a fresh indicator appears at the start of the next group of digits. A phone number written with hyphens therefore gets an indicator after each hyphen, because the hyphen breaks the numeric run. Braille maths notation has further rules, for instance around decimal points, that this tool does not implement.

Does the reference chart show the dot numbers for each letter?

No. The chart lists each letter, digit and punctuation mark next to its rendered braille cell across three tables, the letters in two side by side columns, then the digits, then the punctuation, so you read the shape rather than a list of dot numbers. The digits table is captioned to remind you that a numeric indicator precedes them in real output.

Can I send the output to a braille embosser or save it as a BRF file?

Not directly. Everything this tool produces is Unicode Braille Patterns text plus a plain HTML print page. Embossers generally expect a BRF or similar format with a fixed number of cells per line and explicit page breaks, and most published material is contracted Grade 2 as well. You can copy the cells into a proper transcription workflow, but this page does not format for an embosser and does not claim to.

Does switching direction lose what I have already typed?

No. Switching the radio buttons moves whatever is currently in the output box into the input box and translates it again in the new direction, so a phrase can be run through both ways without pasting anything a second time. If the output box happened to be empty, for instance because the last input contained an unsupported character, the text you typed stays where it is.

Related tools