Guide

ASCII character density chart

See how different character ramps change the same image, then choose a set that keeps the detail you need.

Compare character ramps on one image

Choose an example and change the settings. Every result uses the same pixels, so you can see what the character set changes.

Grayscale gradient from black on the left to white on the right
Tone gradient
Choose an image

Standard

@%#*+=-:.

Ten levels, including a space. A useful starting point for shading.

   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@
   .....::::::-----=====+++++*****######%%%%%@@@

Blocks

█▓▒░

Five levels, including a space. Unicode blocks give more solid coverage.

      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████
      ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████

Minimal

#*:.

Five levels, including a space. Fewer symbols make tonal steps easier to see.

      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######
      ............::::::::::::************######

Wider results scroll inside each preview. Spaces are part of the ramp and are preserved when you copy.

Convert your own image →

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