# Braille Decoder

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

- Page: https://decoder.tools/braille-decoder
- Category: Data, Radix & String
- Status: live, runs in the browser
- Last reviewed: 2026-10-23

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

```text Input
⠓⠑⠇⠇⠕ ⠺⠕⠗⠇⠙
```

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

## Braille at a glance

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

## FAQ

### 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).
