01 weight the luminance
Each cell of the image collapses to a single perceptual brightness value. Green contributes most and blue least, matching how human vision actually distributes sensitivity.
Sixty-eight characters sorted by how much ink each one lays down, from a bare space to a dollar sign. Where the standard ramp gives you ten shades, this one gives you enough steps that a face keeps its cheekbones. It is the default charset in the converter for exactly that reason.
.'`^",:;Il!i~+_-?][}{1)(|\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$
rendering detailed portrait…
A monospace glyph covers a fixed rectangle, and the fraction of that rectangle it actually inks is what your eye reads as brightness. A period inks almost nothing. A dollar sign inks nearly everything. Order every available character by that fraction and you have a grayscale palette made of punctuation.
Each cell of the image collapses to a single perceptual brightness value. Green contributes most and blue least, matching how human vision actually distributes sensitivity.
That value picks one of sixty-eight positions instead of one of ten. Adjacent shades differ by roughly a percent and a half of brightness, which is fine enough that gradients stop banding.
Every glyph in the ramp is ordinary text. The output pastes into a comment block, a chat window or a .txt file with no font requirement beyond a monospace face.
The trade is legibility of the individual character against fidelity of the whole. Up close the output looks like scrambled source code; at arm's length it resolves into a photograph. That is the effect this ramp exists to produce, and it is why it wants more columns than the coarser sets — try 140–200.
Portraits, faces, landscapes, product shots, film stills — anything where the subject is described by smooth gradients rather than hard edges. It is also the safer pick when you do not control the destination font, since every glyph is a common text character rather than a Unicode block.
Braille resolves finer detail — eight dots per cell instead of one glyph — but JetBrains Mono ships no braille glyphs, so it always renders in a system fallback. For flat graphic areas blocks is cleaner, and for a small logo the standard ramp stays readable as characters.
Ten steps of plain ASCII. The classic look, maximum portability.
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.
Eight dots per character. The highest detail Semaphore can reach.
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 with the detailed ramp preselected, drop a photo, and push the column count until the face resolves. Your image bytes never leave the tab.
Open the detailed ASCII converter