See how different character ramps change the same image, then choose a set that keeps the detail you need.
What character density means
Character density is the visual coverage of a glyph in its cell. Symbols such as @ often cover more area than .. A converter maps image brightness to a sequence of characters, called a ramp. More levels can retain more shading; fewer levels make the steps more visible.
A practical character density chart
These ramps run from denser to lighter characters. The last character is a space, which leaves a cell empty. Their visual weight depends on the font, size and background: this is a practical ordering, not a universal measurement of ink coverage.
- Standard:
@%#*+=-:. — ten levels, useful for photographs and gradients.
- Blocks:
█▓▒░ — five levels with solid coverage. These are Unicode symbols, so the destination needs a font that supports them.
- Minimal:
#*:. — five levels, useful for simple shapes with a lighter texture.
Why the background changes the result
On a light background, dense dark glyphs usually represent dark pixels. On a dark background, light glyphs reverse that relationship. The comparison starts with inversion enabled for this page’s dark background. Toggle it and watch the same gradient reverse.
Width, brightness and contrast
Width changes how many cells describe the image. Brightness shifts the tones; contrast spreads them apart or brings them closer together. Compare the robot with the landscape, then change one setting at a time. Increasing width cannot recover details that disappear into an all-dark or all-light result.
Why a binary ramp looks different
The full converter also offers 10. Both digits occupy visible space, so this produces a binary pattern rather than a black-and-white density ramp. For two levels of coverage, try a custom ramp containing one dense symbol followed by a space.
Keep the spacing when you paste
Use a monospace font and preserve spaces and line breaks. For a README or Discord message, put the output inside a code block. Wide results may require horizontal scrolling or a narrower output.
Make a GitHub README banner · Format ASCII for Discord