ASCII and text textures

ASCII, braille, Grunge ASCII, Blocky and contour turn your image into characters, dot glyphs and lines. This page covers how each one builds its grid, every parameter, and how to export ASCII as real SVG text.

How character effects work

Character effects do not change pixels, they replace them. The image is laid onto a grid, each cell is measured, and the cell is swapped for a glyph whose ink coverage matches its brightness. A dense character like @ stands in for a dark spot and a sparse one like . for a light spot.

Two things follow from this:

ASCII

ASCII redraws your image in text characters, one per cell of a 160-column grid (scaled by Detail). Each cell is drawn at 8 x 14 px in a monospace font, and rows are counted so the result keeps your photo's proportions.

In the image editor, open artistic and choose ascii ("characters as tone"). In the video editor, add the ASCII effect. In Studio, choose ASCII from Bitgrain effects.

Character sets

SetCharactersLook
Detailed60 characters from space to $The richest tone, default everywhere
Code53 characters, letters, digits and symbolsReads like source code or terminal output
Standard` .:-=+*#%@` (10 steps)The classic, clean ASCII ramp
Blocksspace, ░, ▒, ▓, █Chunky shaded blocks, closer to pixel art

In the image editor and the video editor you can also type your own set in the Custom characters box. Order matters: list characters from sparse to dense, left to right, as the hint under the box says. A set needs at least two characters, otherwise Detailed is used. Try .oO@ for bubbles, or a word repeated for a typographic texture.

ASCII parameters

Image editor, in the ascii popover:

ParameterRangeDefaultWhat it does
CharactersDetailed, Code, Standard, Blocks, or customDetailedThe glyph ramp
ToneDark, LightDarkDark draws pale glyphs on a near-black surface. Light draws dark glyphs on warm paper and flips the ramp so dense glyphs still mean dark.
Detail0.4x to 2.5x1xMultiplies the 160-column grid. 2x is 320 columns.
EdgesEdge glyphs on, offOffReplaces glyphs on strong edges with direction strokes
Edge threshold0% to 100%50%Shown when edges are on. Higher values catch more, weaker edges.
ColorSource color on, offOnColors each glyph with the photo's color at that spot

The Color switch is the same setting as the colorize toolbar button.

The video editor has the same controls: the four sets, Custom characters, Dark and Light, Detail, Edge glyphs, Edge threshold and Source color (on by default).

Studio has a smaller set: Characters (Detailed, Code, Standard, Blocks) and Color (off by default).

Edge glyphs

With edge glyphs on, Bitgrain looks for strong changes in brightness around each cell. Where it finds one, it swaps the tone glyph for a stroke that follows the edge's direction: |, /, - or \. The result keeps outlines crisp, the way a hand-drawn ASCII artist would trace a silhouette before shading it.

Tip: Start Edge threshold around 50%. If outlines break up, raise it. If the whole image fills with slashes, lower it.

Braille

Braille packs a 2 x 4 grid of dots into every character, using the Unicode braille block. That is eight dots per glyph instead of one shape, so braille holds about four times the detail of ASCII at the same size.

Each dot is lit or unlit by comparing its brightness to a small ordered (Bayer) pattern, which spreads tone evenly across the dots and gives the same result every time. The grid is 120 glyphs across, scaled by Detail. In the image editor, braille always renders light dots on a dark surface.

In the image editor, open artistic and choose braille ("micro dot detail"). It is also in the video editor.

ParameterRangeDefaultWhat it does
Detail0.4x to 2.5x1xMultiplies the 120-glyph grid
ColorSource color on, offOnColors each glyph with the average color of its lit dots

Tip: Braille looks best at Detail 1.5x and above, where the dot texture reads as a fine screen rather than individual glyphs.

Grunge ASCII

Grunge ASCII is a rougher character effect. It uses a short, heavy character set (X, %, &, 8, B, W, #, M, Q, L) so even light areas stay inked, and it adds random noise to each cell's brightness before choosing the glyph. The result looks like a dirty photocopy of a terminal printout.

Its grid is 0.2 x image width x Resolution, with 6 x 10 px cells, so unlike ASCII it does respond to Resolution. It has no popover of its own. The Noise slider appears in the adjust popover while it is active (0% to 100%), and sets how much the noise disturbs the glyph choice. At 0% it falls back to a moderate amount of noise. The colorize button tints glyphs with the photo's colors.

Grunge ASCII has no toolbar button. Open it from the /grunge landing page. The noise is seeded, so the same settings always give the same glyphs.

Blocky

Blocky averages the image into square blocks eight working-grid cells wide and snaps each one to one of five brightness steps per channel, so you get flat, chunky blocks. With colorize off the blocks are grey. It has no parameters. The block size comes from Resolution: lower it for bigger blocks.

In the image editor, pick Blocky from the filters list. Details are also in Filters and color.

Contour

Contour turns your photo into a topographic map. It splits brightness into a number of equal bands, then draws an ink line wherever one band meets the next. Smooth gradients become evenly spaced rings, and busy textures become tangled line work.

Lines are drawn in a warm near-black on a cream paper color. With fill on, the bands between the lines are filled too: with flat grey steps when color is off, or with the photo's colors reduced to the same number of steps when color is on.

In the image editor, open artistic and choose contour ("topographic lines").

ParameterRangeDefaultWhat it does
Levels2 to 208Number of brightness bands, and so how many contour lines
FillLines only, Filled bandsLines onlyDraw just the lines, or fill the bands under them
ColorSource color on, offOnWith fill on, fills bands with posterized photo color instead of grey

In the video editor the Contour effect has Levels 2 to 24 (default 8) and a Fill bands switch.

Tip: Contour responds strongly to noise. A slight Resolution drop smooths the image and gives you cleaner, map-like rings.

Exporting ASCII as SVG text

When the last effect in your image editor look is ASCII, the vector SVG export does something special. Instead of tracing pixels, it writes every glyph as a real <text> element in a monospace font, one per cell, and skips spaces entirely.

That gives you a file that is:

With Color on, every glyph carries its own fill color. With color off, glyphs use the surface's text color. The background is a solid rectangle in the Dark or Light surface color, unless you turn on transparent background in the export popover. The file is named bitgrain-ascii- followed by a timestamp.

Pro: Vector SVG export needs Pro, except when you are working on one of the sample images. See plans and pricing.

Braille, Grunge ASCII and every other effect export to SVG as traced shapes instead. See exporting from the image editor.

More documentation