01 sample 2×4
Each output character represents two source columns and four source rows, preserving small features without making the text grid wider.
Braille turns each text cell into eight independently lit dots. That gives a photo more shape, edges and texture than a classic character ramp at the same width — still as copyable Unicode text, still converted entirely in your browser.
rendering braille portrait…
Unicode reserves 256 braille characters: every possible on/off pattern in a 2×4 dot cell. Semaphore samples eight luminance values, applies a threshold, and writes the matching code point. The full pipeline, with the engine's code and before/after figures, is written up in Unicode braille is an 8-pixel bitmap font.
Each output character represents two source columns and four source rows, preserving small features without making the text grid wider.
Floyd–Steinberg dithering moves threshold error into nearby dots. Smooth shadows become intentional dot patterns instead of flat patches.
The final output is plain text from the Unicode braille block. Copy it into terminals, READMEs, chat, source comments or a .txt file.
Portraits, landscapes and screenshots with fine edges benefit most. Start around 100–160 columns, keep dithering on, then raise contrast only if the subject looks washed out.
Classic .:-=+*#%@ art has the familiar ASCII look and survives environments whose fonts lack braille glyphs. Blocks suit low-resolution posters; binary suits graphic patterns; detailed keeps photographic tone inside ordinary text.
JetBrains Mono does not contain braille glyphs, so browsers use the operating system's monospace fallback for those cells. That is expected and keeps the text portable across modern platforms.
Ten steps of plain ASCII. The classic look, maximum portability.
Sixty-eight shades of punctuation and letters. The photographic ramp.
Four fills and a space. Reads as pixels rather than characters.
Five steps, wide apart. Built for tiny avatars and icons.
A space, a zero, a one. The code-rain look.
READMEs, splash screens, comment headers and other plain-text homes. Two worked examples: the README banner guide and the SSH MOTD guide.
Open the converter, select braille, and tune the same live controls used to render the portrait above. Your image bytes never leave the tab.
Open the braille ASCII converter