Input
▓▒░DROP IMAGE
or click to browse
or click to browse
Step 01 · Edges SOBEL
SENSITIVITY 40
EDGE BOOST 2.2
EDGE BRIGHT 1.4
TOPOLOGY CHARS:
─
│
╱
╲
┼
├
┤
┬
┴
┌
┐
└
┘
STRONG EDGE (╦ DOUBLE-LINE):
═
║
╬
╔
╗
╚
╝
╠
╣
╦
╩
Moiré Control
PRE-BLUR RADIUS 1px
GRID JITTER 0px
Blur kills high-freq content near cell-grid Nyquist. Jitter breaks periodicity. Start with blur=1 for fabric/brick images.
Step 02 · Fill STOCHASTIC
FILL TEXT (cycles through image)
SPACE FILL
DRAWN uses canvas arc() — radius varies with luminance, true halftone dot. Others use unicode glyphs.
CELL SIZE (PX) 6
GRAIN / NOISE 0.10
FILL DENSITY 0.88
BLOCK CHARS:
█
▓
▒
░
·
sp
Step 03 · Composite
EDGE HIGHLIGHT 0.80
COLOR PRESERVE 0.85
Step 03 · Color Split NEW
Each cell splits into foreground + background color that average to the source pixel. Fixes dark-image problem.
SPLIT AMOUNT 0.55
0 = char only on black
0.5+ = photograph brightness
1.0 = max fg/bg contrast
0.5+ = photograph brightness
1.0 = max fg/bg contrast
Chromatic Aberration EDGES
CA OFFSET (PX) 0
Splits R/G/B on edge chars by ±offset px. Analog lens feel. 1-2px subtle, 4-6px dramatic.
Color Palette
CGA/EGA snaps all colors to period-correct BBS palettes. Phosphor/Amber for terminal nostalgia.
MAX RESOLUTION 1200px
OVERVIEW // CLICK TO POSITION CROP
░▒▓█▓▒░
LOAD AN IMAGE
DETAIL // 1:1 PIXEL
╱╲░▒
DETAIL VIEW
EDGES
→
STOCHASTIC
→
COMPOSITE
MODE: COMPOSITE
CELLS: —
DIMS: —
Display Scale
ZOOM 50%
Renders full resolution.
Zoom out → reads as photo
Detail panel → sees grain
Zoom out → reads as photo
Detail panel → sees grain
Crop Window
X 50%
Y 50%
SIZE 25%
Background
WHITE bg → photograph-first reading. PHOTO → blends under chars.
Render Stats
SOURCE—
RENDER—
CELLS—
CELL PX—
EDGE%—
FILL%—
Keyboard
1-4switch view
Rrender
Ssave png
←→crop X
↑↓crop Y
+/-zoom