Braille translator

Text to braille(auto)
46 cells
Text45 chars
Braille

⠠⠓⠑⠇⠇⠕ ⠠⠺⠕⠗⠇⠙⠖ ⠠⠕⠗⠙⠑⠗ ⠼⠁⠃⠉ ⠁⠗⠗⠊⠧⠑⠎ ⠕⠝ ⠼⠃⠚⠃⠋⠤⠼⠚⠓⠤⠼⠃⠋⠲

Cells46 shown
Characters45
Cells46
Unsupported0
Round tripExact

Braille Translator

Convert text to Unicode braille and back, in uncontracted Grade 1 — the form that maps letter for letter. Number and capital indicators are inserted where the code requires them, the dot pattern of any cell can be inspected, and characters with no braille equivalent are listed rather than silently dropped.

Dots per cell
6
Patterns those dots make
64
Grade supported: uncontracted
1
Characters uploaded
0

Step by step

How to use it

  1. 01Type or paste in either script

    Text becomes braille; braille cells become text. The direction follows what you paste, so a copied line of braille from a document decodes without any setup.

  2. 02Read what the indicators are doing

    A number sign opens a run of digits and stays in effect until a letter ends it; a capital sign marks one letter and a doubled sign marks a whole word. These are part of the code, not decoration.

  3. 03Inspect a cell when something looks wrong

    Any cell can be broken down into its numbered dots, which is how you check that what you are looking at is the character you meant rather than one dot away from it.

  4. 04Check the unsupported list before you use it

    Characters with no Grade 1 equivalent are reported explicitly. A translation that quietly drops a symbol is worse than one that tells you it could not represent it.

Worked example

Where the indicators come from

Braille has 64 possible cells and needs to cover 26 letters, 10 digits, and punctuation. The overlap is resolved with indicator cells — which is why the braille for a number is longer than you expect.

Given

Input
"Ada 42"
Grade
1, uncontracted
Cells used
6 letters, 2 indicators

Letters, digits, and the cells that switch between them

A      ⠠⠁    capital sign + a
d      ⠙
a      ⠁
space  ⠀
4      ⠼⠙    number sign + d
2      ⠃           still numeric, no repeat

digits 1-0 reuse the cells for a-j
Cells for 'Ada'
4, not 3
Cells for '42'
3, not 2
Number sign repeats
no

The digits are the same six cells as the letters a to j, which is why a number sign has to precede them and stay in effect until a letter breaks the run. Capitals work the same way, one cell for one letter or a doubled cell for a whole word. Braille is longer than print for this reason before contractions are involved at all — and it is why counting characters is not the same as counting cells.

Before you rely on it

What to know about braille

This is Grade 1, and published braille usually is not

Uncontracted braille maps character to character, which is what makes it learnable and reversible. Grade 2 — the form used in books and signage — contracts common words and letter groups into single cells and needs a different translator. Do not send Grade 1 output to be embossed for publication.

Unicode braille is not an embossing file

The cells here are Unicode characters that render as dot patterns on a screen. Producing physical braille needs a BRF file and an embosser, with margins, page numbering, and line lengths that a text conversion knows nothing about.

Indicators make braille longer than print

Every capital costs a cell, every number run costs a cell, and some punctuation costs two. A line that fits your layout in print will not fit in braille — which matters if you are producing both from the same source.

Braille is not a language

It is a script. English braille, French braille, and Unified English Braille all differ, and contracted forms differ more. Converting English text produces English braille — it does not translate meaning, and it is not a universal representation.

Screen readers do not need this

A blind reader using a screen reader or a refreshable display gets braille generated by their own software, tuned to their grade and language settings. Putting braille characters into a web page or a document does not improve accessibility, and can make it worse by breaking the text layer.

Round trips are exact, within the supported set

Grade 1 is a one-to-one mapping, so text converted to braille and back returns what you started with — apart from characters the code cannot represent, which are listed rather than dropped silently.

The judgement call

Is this the right tool?

Braille work splits into learning, checking, and producing, and only two of those happen here.

  • Learning the alphabet or checking a cell

    Yes

    Grade 1 is the letter-for-letter form, and the dot breakdown shows exactly which dots make each character.

  • Reading a line of braille someone sent you

    Yes

    Decoding is exact for uncontracted text, and unsupported characters are named rather than skipped.

  • Labels, art, or a tactile mock-up

    Yes, with care

    Fine for short strings — but have a braille reader check anything that will be produced physically.

  • A book, a menu, or public signage

    Grade 2

    Published braille is contracted. Grade 1 output would be correct but unidiomatic and much longer.

  • Making a website accessible

    Not this

    Screen readers generate braille themselves. Use semantic HTML, real text, and proper labels instead.

  • Sending to an embosser

    BRF, not Unicode

    Embossers need a formatted braille file with page layout, not a string of Unicode cells.

Reference

How the code works

Cell
6 dots, numbered 1–6Two columns of three. Sixty-four patterns including the blank, which is why indicators are needed.
Number sign
Opens a run of digits, which reuse the cells for a–j, and stays in effect until a letter ends the run.
Capital sign
⠠ · ⠠⠠One sign marks the next letter; the doubled sign marks a whole word as capitals.
Grade
1, uncontractedOne cell per character. Grade 2 contracts common words and letter groups and is what published braille uses.
Encoding
Unicode braille patternsU+2800–U+28FF. Renders on screen; it is not an embosser-ready BRF file.
Unsupported characters
Listed, never droppedAnything with no Grade 1 equivalent is reported so you know the output is incomplete.

FAQ

Questions, answered plainly

How do I convert text to braille?

Type or paste the text and the braille appears immediately in uncontracted Grade 1 — one cell per character, with number and capital indicators inserted where the code requires them. Paste braille cells instead and they are decoded back to text.

What is the difference between Grade 1 and Grade 2 braille?

Grade 1 is uncontracted: every character maps to its own cell. Grade 2 contracts common words and letter groups into single cells and is what books, menus, and signage use, because it is far more compact to read and to emboss. This tool produces Grade 1 only.

Why is the braille longer than my text?

Indicator cells. Digits reuse the cells for a to j, so a number sign has to precede any run of them, and each capital costs a cell of its own. Uncontracted braille is longer than print before contractions enter the picture at all.

Can I send this to a braille embosser?

Not directly. Embossers take a formatted braille file — a BRF — with page layout, line lengths, and margins. The output here is Unicode braille characters, which is right for screens, learning, and checking, but is not a production file.

Does adding braille to my website help blind users?

No, and it can hurt. Screen reader users get braille generated by their own software in their own grade and language, from the underlying text. Braille characters in a page break the text layer that software depends on. Semantic HTML, real text, and proper labels are what help.

Is my text uploaded?

No. Translation in both directions runs in your browser using a local character table, so it works offline and nothing you type is transmitted or stored.

Translation in both directions runs in your browser from a local character table. Nothing is uploaded or retained, and the tool works offline.