~/charsets/standard · ten shades

Image to ASCII with the standard ramp

The character set most people picture when they hear ASCII art: ten glyphs running from empty space to a solid at-sign. It is the safest output Semaphore produces — every character is plain 7-bit ASCII, so it survives any font, any terminal and any code review comment.

 .:-=+*#%@
semaphore --charset standard – □ ✕
[ how_the_ramp_works ]

How does the standard ramp map brightness to characters?

A ramp is an ordered list of characters sorted by how much ink each one puts on screen. Semaphore measures the brightness of every cell in the image, then picks the glyph at the matching position in that list.

01 average the cell

The image is divided into a grid as wide as your column count. Every cell is reduced to one luminance value, weighted for how the eye actually perceives red, green and blue — the Rec. 709 luma coefficients.

02 index the ramp

That value is scaled across the ten ramp positions. A dark cell lands on a space, a mid-tone on = or +, a highlight on % or @.

03 emit one character

The result is a rectangle of text with no colour information required. Copy it into a README, a comment block or a plain .txt file and it renders identically everywhere.

Ten steps is coarse on purpose. Fewer shades read as a deliberate graphic rather than a photograph, which is why this ramp still looks like ASCII art instead of a grainy image.

[ when_to_use_it ]

Pick the standard ramp when portability matters

choose standard

Logos, silhouettes, high-contrast crops, and anywhere the text has to survive an unknown font — git hosts, mailing lists, source comments, chat clients that reflow text. Start at 100–140 columns and raise contrast if the mid-tones turn to mush.

choose something else

For a photographic portrait, the detailed ramp has 68 shades and braille has eight times the spatial resolution. For posters and pixel art, blocks fill the cell completely instead of suggesting tone with punctuation.

[ other_charsets ]

The other five charsets

detailed

Sixty-eight shades of punctuation and letters. The photographic ramp.

blocks

Four fills and a space. Reads as pixels rather than characters.

minimal

Five steps, wide apart. Built for tiny avatars and icons.

binary

A space, a zero, a one. The code-rain look.

braille

Eight dots per character. The highest detail Semaphore can reach.

Ten characters is all it takes.

Open the converter with the standard ramp preselected, drop a photo, and tune columns and contrast live. Your image bytes never leave the tab.

Open the standard ASCII converter