ASCII QR code generator: a QR code as text

Turn a link or text into a QR code made of characters for terminals, code and chats. Unicode blocks or plain ASCII, with copy-ready snippets.

FreeNo accountNo watermarkBuilt in your browser
Characters

Two rows per line with █ ▀ ▄. The most compact, and square in a terminal.

Where it will be shown

Pick the background the characters will sit on. Most terminals are light text on a dark background, so choose dark: the output is inverted so the squares still come out dark and the margin light, which is what scanners look for. Choose light for documents, light-theme terminals and paper.

Lower error correction means fewer characters. Text on a screen does not get scratched, so L or M is usually right.

Preview · scan it from this screen

█████████████████████████████████
█████████████████████████████████
████ ▄▄▄▄▄ ████▄  ▀▀ █ ▄▄▄▄▄ ████
████ █   █ █ █▀█▄▀ ▀██ █   █ ████
████ █▄▄▄█ █  █▄▀▄▀▀▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ ▀▄█ █ █▄▄▄▄▄▄▄████
████ █▄▄  ▄█▀ ▀▄  ███▀▄ ▄▄▄▀█████
████▄▀▄███▄▀▀▀█ █▄   █▀ █▄█▄ ████
████▀▄█▀ ▄▄▀▄█▄▄▄ ▄▄▀▄▄▀▄▀▄ ▄████
████ █▄█▄▄▄ ▄██ ▄██ ▀▀   ▄█▄ ████
████▄█▄▄▄▄▄█▀██▄ ▄▄▀ ▄▄▄ ▀▄██████
████ ▄▄▄▄▄ █▀▄ ▀██ █ █▄█ ▀▄  ████
████ █   █ █ █  ▄ ▄ ▄  ▄ ▀ ▀▀████
████ █▄▄▄█ █▄  █▄█▄▄▀▀█▀▀ ▄█ ████
████▄▄▄▄▄▄▄█▄██▄▄▄▄██▄▄▄▄▄▄▄▄████
█████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

33 × 17 characters · 25 × 25 modules · version 2. Proportional fonts and extra line spacing break it: the rows must touch and every character must be the same width.

Copy it as

Paste into a terminal, a code comment or a chat code block. It needs a monospace font with no extra line spacing.

█████████████████████████████████
█████████████████████████████████
████ ▄▄▄▄▄ ████▄  ▀▀ █ ▄▄▄▄▄ ████
████ █   █ █ █▀█▄▀ ▀██ █   █ ████
████ █▄▄▄█ █  █▄▀▄▀▀▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ ▀▄█ █ █▄▄▄▄▄▄▄████
████ █▄▄  ▄█▀ ▀▄  ███▀▄ ▄▄▄▀█████
████▄▀▄███▄▀▀▀█ █▄   █▀ █▄█▄ ████
████▀▄█▀ ▄▄▀▄█▄▄▄ ▄▄▀▄▄▀▄▀▄ ▄████
████ █▄█▄▄▄ ▄██ ▄██ ▀▀   ▄█▄ ████
████▄█▄▄▄▄▄█▀██▄ ▄▄▀ ▄▄▄ ▀▄██████
████ ▄▄▄▄▄ █▀▄ ▀██ █ █▄█ ▀▄  ████
████ █   █ █ █  ▄ ▄ ▄  ▄ ▀ ▀▀████
████ █▄▄▄█ █▄  █▄█▄▄▀▀█▀▀ ▄█ ████
████▄▄▄▄▄▄▄█▄██▄▄▄▄██▄▄▄▄▄▄▄▄████
█████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Want scan counts and an editable destination? Make it a free dynamic code. Want it in your own image? Make a picture code.

1

Type the text or link. The code is drawn in characters as you type.

2

Pick half blocks, full blocks or plain ASCII, and the background it will sit on: dark for most terminals.

3

Copy it as plain text, Markdown, a shell printf line or an HTML <pre>, and scan it once where it will live.

Questions

Why does my text QR code not scan?+

The rows have to touch and every character has to be the same width. A proportional font, extra line spacing or word wrap pulls the squares apart. It also fails if the margin is missing or the background setting is wrong, which turns the code into a negative. Plain ASCII made of # rarely scans at all: use blocks when you can.

Which background should I pick?+

The one the characters will sit on. Most terminals show light text on a dark background, so pick dark: the output is inverted so the squares still come out dark with a light margin. Pick light for documents, light-theme terminals and paper.

What are half blocks?+

Characters that fill the top half, the bottom half or the whole of a text cell (▀ ▄ █). Each one carries two rows of the code, so it takes half the lines, and because terminal cells are about twice as tall as they are wide, the squares come out square.

Will it scan in a GitHub README?+

It will display, but GitHub and most Markdown renderers add line spacing to code blocks, and that gap between rows is often enough to stop phones reading it. For a README, use an SVG image of the code and keep the text version for terminals and plain-text files.

How big is it, and is anything uploaded?+

A short link needs about 33 columns in half blocks, well inside an 80-column terminal; full blocks and ASCII need twice the width. The code is built in your browser and nothing is sent anywhere.

More free tools

All tools

The next step

Make the code the artwork.

These tools make and check classic codes. AriaQR turns your photo, logo or illustration into the code itself, verified on real decoders before you download, with a link you can edit and track.

Girl with a Pearl Earring recreated as a scannable QR code, made with AriaQR