Random ASCII Art Generator: Mazes, Fractals, Mandalas & More
Generate seeded, reproducible procedural ASCII art patterns you can copy or download.
Twenty-three procedural styles live here — seven original algorithms such as a cellular automaton, Truchet tiles and a perfect maze, plus sixteen newer ones running from plasma and Voronoi cells to Mandelbrot, Julia sets and digital rain. None of them converts a word like your name into a block-letter banner the way a classic figlet-style ASCII generator does. Every style builds a pattern from nothing but a seed string, a grid size and the style settings, and each is strictly deterministic: the same inputs reproduce byte-identical output every single time, which is the entire point of typing a seed in the first place.
How to make random ASCII art
- Pick a pattern style from the drop-down, or press Randomise all to let the tool choose a style, settings and seed for you.
- Open Size and seed and set the width (up to 200 columns) and height (up to 100 rows), then type any word or number as the seed.
- Adjust the character set, density, scale, iterations, symmetry, border and invert options until the preview looks right.
- Press Generate pattern, then Copy as text, Download .txt, or Download .png with a dark or light background.
All 23 ASCII pattern styles
The first seven are the original algorithms and ignore the character set, density, scale and iterations sliders; the sixteen after them read some or all of those sliders, and the character set applies to the shaded ones such as Plasma, Mandelbrot and Braille noise. Symmetry, border and invert work on every style.
- Cellular automaton — a Conway-style soup settled for four generations, shaded by neighbour count.
- Truchet tiles — one of four line glyphs per cell, chaining into a woven maze look.
- Value noise contours — three octaves of smooth noise banded into soft cloud shapes.
- Perfect maze — a recursive-backtracker maze drawn with box-drawing characters.
- Diamond-square terrain — a fractal height field banded into water, sand, grass and peaks.
- L-system plant — a bracketed grammar walked by a turtle into a branching plant.
- Mandala — a random walk stamped eight times around the centre into a rosette.
- Plasma — four seeded sine fields summed into demoscene-style plasma.
- Voronoi cells — seeded points split the grid into cells with drawn borders.
- Wave interference — circular ripples from several sources that add and cancel.
- Spiral — a logarithmic spiral with a seeded number of arms.
- Game of Life — Conway's rules run for the chosen number of iterations.
- Random walkers — several wanderers whose most-visited cells get the densest glyphs.
- Lissajous curves — overlaid parametric loops with seeded frequency ratios.
- Mandelbrot — escape-time rendering of a seeded region; scale zooms in.
- Julia set — escape-time Julia set for a seeded constant near the Mandelbrot edge.
- Circuit pipes — a spanning tree of box-drawing pipes with pads at dead ends.
- Braille noise — fractal noise drawn in Braille dots, eight sub-pixels per character.
- Starfield — scattered stars of seeded brightness, glare crosses on the brightest.
- Diagonal weave — two sets of diagonal bands passing over and under each other.
- Honeycomb — a hexagon lattice with seeded cells filled by density.
- Digital rain — falling character streaks with bright heads and fading tails.
- Fractal tree — a recursive binary tree growing up from the bottom edge.
The seed string gets hashed before it drives anything
Whatever you type into the seed field — a word, a number, a short phrase — first passes through an xfnv1a-style string hash that folds it down to a single 32-bit integer, with a final avalanche step specifically so short or low-entropy seeds like '1' and '2' still spread their bits across the full 32-bit range. That hashed integer then seeds a mulberry32 generator, a small, fast, purely deterministic pseudorandom stream: the same 32-bit seed state always produces the exact same sequence of floats, and by extension the exact same pattern.
Cellular automaton: settle a random grid, then draw by neighbor density
Each cell starts alive with roughly a 42 percent chance, then the grid runs four generations of Conway-like rules — a live cell survives with two or three live neighbors, a dead cell is born with exactly three. Once settled, each final cell isn't rendered as simply alive or dead; instead its live-neighbor count is mapped onto a ten-character density ramp running from a blank space through dots, dashes, and symbols up to '@', so the output reads as smooth gradients of texture rather than a flat on-off grid.
Truchet tiles trace a completely different kind of pattern
The Truchet style draws from a small set of four glyphs — forward slash, backslash, pipe, and dash — picking one per cell from the same seeded stream to build the classic Truchet-tile maze look. It's driven by an identical seeded-randomness idea as the cellular automaton, but the visual result couldn't look more different: dense organic blotches from one style, angular interlocking lines from the other.
Value noise contours fade between bands instead of jumping
Three octaves of two-dimensional value noise are summed per cell, each octave reading a wrapped lattice of seeded values with smoothstep interpolation between lattice corners. Because the lattice wraps, doubling the frequency for each octave never leaves a seam where the pattern repeats, and the summed field lands on the same ten-step density ramp the automaton uses. Horizontal neighbours therefore stay within one ramp step more than ninety percent of the time, which is what makes the result read as soft contour bands rather than static.
The maze is carved, not sprinkled
A recursive-backtracker walks a half-resolution cell grid, knocking down one wall at a time and backtracking whenever it paints itself into a corner, so the finished maze is perfect: exactly one route joins any two cells, with no loops and no unreachable pockets. The wall grid is then drawn with box-drawing characters chosen from a four-bit neighbour mask, which is why corridors appear as continuous lines with proper corners, tees and crosses instead of a field of hashes.
Diamond-square builds terrain by halving the displacement
Fractal midpoint displacement seeds the four corners of the smallest power-of-two lattice that covers your grid, then alternates diamond and square passes, halving the random displacement range on every pass. The resulting height field is normalised across the visible area before it is banded, so whatever seed you pick you still get the full sweep from tilde water through sand and grass up to the triangle peaks, rather than a washed-out slab in the middle of the range.
The plant is grown by a grammar and walked by a turtle
A Lindenmayer system starts from the single symbol X and rewrites it four times with the classic bushy ruleset, where X becomes a bracketed pair of sub-branches and F simply doubles. A turtle then walks the expanded string from the bottom centre of the grid, pushing and popping its position at each bracket, and picking a pipe, slash, backslash or underscore glyph from the direction of travel. The branch angle is drawn from the seeded stream and jittered per turn, so the grammar is fixed but no two seeds grow the same plant.
The mandala is symmetric by construction
One walker wanders outward from the centre with a radius that reflects off both the middle and the rim, so it never parks on the boundary and burns a solid ring. Every position it visits is stamped at eight mirror and axis-swapped images at once, which means the rosette is symmetric because of how it is drawn rather than because anything was mirrored afterwards. Repeat visits push a cell further along a seven-glyph ramp, giving the lace-like shading around the centre.
Grid size limits and monospace alignment
Width runs from 4 to 200 columns and height from 4 to 100 rows; anything larger scrolls inside the preview rather than wrapping. Because every row's spacing depends on fixed-width monospace rendering, pasting the raw output into something that reflows text or swaps in a proportional font — a chat message, a rich-text document — will misalign the pattern immediately.
The .png download sidesteps that problem: it draws the text in the site's monospace font onto a canvas, on a dark or white background depending on the checkbox beside the button, so the picture looks the same wherever you post it.
Where to use random ASCII patterns
- README files and docs, inside a fenced code block so GitHub and other Markdown renderers keep a monospace font.
- Splash screens and banners for command-line tools, shell prompts and MOTD login messages.
- Discord and Slack messages wrapped in triple backticks, keeping the width under the chat window's line length.
- Plain-text email signatures and forum posts, where the recipient's client displays text in a fixed-width font.
- Desktop wallpapers, stream overlays and social posts via the PNG download when text formatting can't be trusted.
Want a text banner or a photo as ASCII instead?
This generator only makes abstract patterns: the seed steers the randomness, never the layout, so there is no way to type a message and get it back as block letters. For a name banner you need a figlet-style text-to-ASCII tool, which BrakeTools does not offer.
To turn an existing picture into characters, use the Image to ASCII converter instead. It samples a photo's brightness cell by cell and maps it to a character ramp, which is a different job from growing a pattern out of a seed.
Questions people ask about Random ASCII Art Generator
- Will typing the same seed and grid size always give back the identical pattern?
- Yes, exactly — the seed string is hashed to a 32-bit integer that seeds a deterministic pseudorandom stream, and the same integer state always produces the same sequence of values. Given the same seed, style, width, height and slider settings, the output is byte-for-byte identical every time.
- Does this tool turn my name into block-letter ASCII art?
- No. Every style builds a pattern purely from the seed's random influence, the grid dimensions and the style settings; none of them interprets the seed text as a message to spell out. If you're looking for a figlet-style name banner, this is a different kind of generator entirely.
- Why do short seeds like '1' and '2' produce completely different-looking output despite looking so similar as input?
- The seed string passes through a hash with a final avalanche step before it ever reaches the pattern algorithm, specifically designed so that even a one-character difference in a short, low-entropy seed spreads across the full range of the underlying 32-bit generator state rather than producing suspiciously similar results.
- What's the largest pattern I can generate?
- Up to 200 columns wide and 100 rows tall, with a minimum of 4 in each direction. Values typed outside that range are clamped back to the nearest limit, and patterns wider than the preview simply scroll horizontally instead of wrapping onto new lines.
- Which pattern styles work best as a wallpaper or banner?
- Value noise contours, diamond-square terrain, plasma and digital rain all fill a wide grid evenly, so they hold up at banner proportions such as 160 by 24. The mandala, spiral and L-system plant want a squarer grid because they are built around a centre or a base point, and the maze looks best at odd dimensions where the wall border closes cleanly on every side.
- Do the newer styles stay reproducible from the seed?
- Yes. All sixteen draw exclusively from a seeded mulberry32 stream, never from the system clock or the platform random source, so a given seed, grid size and set of slider values always returns byte-identical output. The test suite checks that for each style individually, alongside the symmetry, reachability and smoothness properties each one is supposed to guarantee.
- How do I paste ASCII art without breaking the alignment?
- Paste it somewhere that shows a fixed-width font: a Markdown code block fenced with three backticks, a terminal, or a plain-text editor. Rich-text editors and chat boxes swap in proportional fonts and wrap long lines, which shifts every row. If the destination can't do monospace, use the PNG download instead.
- Can I turn a photo into ASCII art?
- Not with this tool — it only generates abstract patterns from a seed and never reads an image. The site's Image to ASCII converter handles photos: drop a picture in and it maps brightness to characters, with its own width, ramp and export options.
- Where can I use ASCII art?
- Anywhere text is rendered in a monospace font: README files, code comments, terminal splash screens, Discord or Slack code blocks, and plain-text emails. Where fonts can't be controlled, such as social posts or slides, the PNG export keeps the pattern intact as an image.
Related tools on BrakeTools
- Image to ASCII Art — Convert any image to ASCII or Unicode block art with adjustable width, character ramp and optional colour, then copy or download it.
- Random Pixel Pattern Generator — Generate seeded, reproducible pixel-art patterns with configurable grid size and palette, exportable as PNG.
Content reviewed 2026-09-27.