PLUS UI DESIGN · 4 min READ

ASCII dithering and edge detection: which effect to use

Compare Floyd–Steinberg, Atkinson, ordered and noise dithering with Sobel edges and directional contour tracing in the ASCII editor.

Decide whether you want tone or outline

Tonal ASCII maps an image’s brightness to a character ramp. Dense characters represent one end of that ramp and sparse characters represent the other. It is a good starting point for photographs, shaded objects and illustrations where light and shadow define the subject.

Edge detection answers a different question: where does brightness change? It can emphasize the boundary of a shape while discarding broad areas of shading. The same photograph can therefore produce a textured portrait with Classic and a sparse drawing with Contour.

Compare the dithering algorithms

Floyd–Steinberg distributes quantization error into neighboring pixels as the renderer chooses a character level. In this editor it is the default and is available for free tonal exports. Try it when a smooth gradient looks too stepped with dithering switched off.

Atkinson distributes error to a different group of nearby pixels and can create a distinct texture. Ordered 4×4 applies a repeating threshold pattern, useful when you want a more regular surface. Noise adds randomness, so regenerating the image can change its texture. These three algorithms require Pro to use. Compare the prepared examples in the gallery before activating a license.

Compare algorithms at the same column count, brightness, contrast and character set. Otherwise a change in detail or tones can obscure what the dither algorithm itself is doing. Also try switching dithering off: a clean graphic may benefit from fewer texture changes.

Use Sobel for sharp boundaries

Select Sketch or choose Sobel under Edge detection. Adjust the edge threshold upward to retain fewer, stronger transitions. Lower it to include more texture and small features. If the result becomes cluttered, simplify the source or increase the threshold before raising the column count.

The Sobel path uses edges rather than the normal dithered tone output. A dither selection left visible in the controls does not mean it is being applied on top of the edge result. Judge the actual preview and use Original to compare the source.

Use Contour for directional strokes

Contour combines a difference-of-Gaussians step with edge detection and suppression of weaker neighboring responses. The result uses directional strokes such as slashes, vertical bars and dashes. It is particularly useful to test with a bold silhouette or a drawing with clear boundaries.

Start with the Contour preset, then change its threshold in small increments. Too low can retain distracting texture; too high can break important outlines. Both Contour and Sobel are Pro features, and neither should be expected to recover details missing from the source image.

Try it on your own image.

Open the editor and compare the settings side by side with this guide.

Open ASCII studio ↗

LEARN WITH PLUS UI DESIGN

A few guides to get you going.

All guides ↗

STAY IN THE LOOP

More tools. Fresh ideas.

Subscribe to Plus UI Design for new plugins, creative tools and practical guides.