decoder.tools

Braille Decoder

Translate Unicode Braille patterns such as ⠓⠑⠇⠇⠕ into Latin letters.

INPUT
OUTPUT

The result appears here as you type.

Decoding runs in your browser. What you paste is not sent to a server.

A Braille translator maps each six-dot Braille cell to the letter it represents. The cell with only dot 1 raised (⠁) is a, and dots 1 and 2 (⠃) are b.

Example

Input
⠓⠑⠇⠇⠕ ⠺⠕⠗⠇⠙
Output
hello world

How Braille works

A Braille cell has six dot positions in two columns of three, numbered 1–2–3 down the left and 4–5–6 down the right. Each letter is a pattern of raised dots. The first ten letters (a–j) use only the top four positions. Letters k–t repeat a–j with dot 3 added, and u, v, x, y and z repeat a–e with dots 3 and 6 added. w doesn't fit that pattern because French Braille, where the system started, didn't use it.

Unicode includes every possible dot pattern in the block U+2800 to U+28FF, so Braille can be written as ordinary text characters. That's the form this tool reads. It's also popular in puzzles and CTF challenges.

This translator handles uncontracted (Grade 1) letters a–z and the blank cell. Grade 2 Braille, used in most books, has contractions where one cell stands for a whole word or letter group. It also uses prefix cells for numbers and capitals. Those aren't expanded here and show up as ?.

Braille alphabet

⠁ a⠃ b⠉ c⠙ d⠑ e⠋ f⠛ g⠓ h⠊ i⠚ j
⠅ k⠇ l⠍ m⠝ n⠕ o⠏ p⠟ q⠗ r⠎ s⠞ t
⠥ u⠧ v⠺ w⠭ x⠽ y⠵ z

How to use the Braille translator

  1. Paste Unicode Braille characters (U+2800 to U+28FF).
  2. Read the Latin letters in the output.
  3. A ? marks a cell that isn't a Grade 1 letter: often a number sign (⠼), a capital sign (⠠) or a Grade 2 contraction.

Decode Braille in code

Python
cells = "⠁⠃⠉⠙⠑⠋⠛⠓⠊⠚⠅⠇⠍⠝⠕⠏⠟⠗⠎⠞⠥⠧⠺⠭⠽⠵"
table = dict(zip(cells, "abcdefghijklmnopqrstuvwxyz"))
print("".join(table.get(c, c) for c in "⠓⠑⠇⠇⠕ ⠺⠕⠗⠇⠙"))  # hello world

Braille at a glance

Cell6 dots in 2 columns (8-dot Braille also exists)
Unicode blockU+2800 to U+28FF
Supported hereGrade 1 letters a–z and the blank cell
Not supported hereGrade 2 contractions, numbers, capital signs

Frequently asked questions

How are numbers written in Braille?

A number sign (⠼) is placed before letters a–j, which then stand for 1–9 and 0. So ⠼⠁⠃⠉ is 123. This tool shows the number sign as ? and the digits as letters.

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

Grade 1 spells every word letter by letter. Grade 2 adds about 180 contractions, such as single cells for "and", "the" and "with", to make text shorter and faster to read. Most published English Braille is Grade 2.

How do I type Braille characters?

Copy them from a chart like the one above, or generate them: in Python, chr(0x2800 + dots) where dots is a bit mask (dot 1 = 1, dot 2 = 2, dot 3 = 4, dot 4 = 8, dot 5 = 16, dot 6 = 32).

Last reviewed · found a mistake? contact@decoder.tools · view as markdown