Math

L-system Generator

Generate complex fractals, space-filling curves, and organic plant patterns using Lindenmayer systems.

Last updated: May 29, 2026

Presets Library

Classic fractals & botanical rules

L-System Grammar

Define axiom & production rules

Styling & Backdrop

Colors, stroke, canvas background

Complexity Stats
Expanded:0 chars
Eval Time:0 ms
Total draw lines:0
Interactive Canvas
200
Drag to Pan • Scroll to Zoom
Scale: 1x
Animation SpeedChars per animation frame
200 /f
Turtle Symbol Reference
F / GMove forward and draw a line segment.
f / gMove forward without drawing.
+ / -Rotate right (+) or left (-) by the set angle.
[ / ]Push / Pop turtle state (position & angle).

L-system Generator — No Uploads Required

An interactive Online L-system (Lindenmayer system) Generator that allows you to design and render beautiful mathematical fractals, recursive plants, trees, and space-filling curves. Choose from classical presets like the Koch Snowflake, Dragon Curve, Sierpinski Gasket, Hilbert Curve, and Fractal Plants, or input your own custom axiom and rewriting rules. The engine evaluates rules in real-time, calculates boundaries for automatic canvas scaling and centering, and draws the output using high-performance HTML5 canvas turtle graphics. Customize stroke width, joint caps, drawing speeds, and choose from stunning color modes including solid fills, linear gradients, and a multi-color rainbow cycle. Export your fractal art as scalable vector SVGs or high-resolution PNGs instantly. Processed completely in your browser for 100% privacy.

Preset Fractal Library: Koch Snowflake, Dragon Curve, Sierpinski Arrowhead, Hilbert Curve, Levy C Curve, and Fractal Plants
Interactive Rule Builder: Create custom axioms and multiple rewriting rules
Auto-Centering & Fit: Automatically scales and aligns drawings to prevent cropping
Animate Drawing: Watch the turtle trace path animations step-by-step or draw instantly
Rich Styling: Set stroke thickness, background fills, and choose from solid, gradient, or rainbow colors
Pan & Zoom Canvas: Interactive mouse and touch canvas navigation
Lossless Quality Exports: Download as vector SVG or high-resolution PNG

Why This Tool Exists

What makes this useful — and why I built it this way.

Educational & Fun: Learn about formal grammars, recursion, self-similarity, and natural growth models.

Limitless Creativity: Combine different rules and iterations to generate unique geometric patterns.

Completely Secure: Runs locally in your browser, no server connections or tracking.

When You'd Use This

Real situations where this tool saves the day.

Digital Art: Generate geometric, modern, or organic vector backgrounds and patterns.

Mathematical Education: Visualize fractals, recursive sequences, and turtle coordinates.

Botanical Modeling: Render realistic plant stalks, leaves, and dendritic structures.

Using L-system Generator

It's straightforward — here's how it works.

Step 1

Choose a pre-configured L-system preset, or customize the Axiom, Rules, Angle, and Iterations manually.

Step 2

Adjust the drawing thickness, cap join styles, and choose your favorite color scheme.

Step 3

Use the playback controls to play, pause, or draw instantly.

Step 4

Drag on the canvas to pan and use the scroll wheel to zoom in on complex details.

Step 5

Export your fractal creation by clicking 'Download PNG' or 'Download SVG'.

Questions People Ask

Honest answers about how this works.

What is an L-system?

Honestly? An L-system (Lindenmayer system) is a parallel rewriting system consisting of an alphabet of symbols, an axiom (initial string), and a set of production rules that expand symbols into longer strings of symbols over successive iterations.

How exactly does the turtle interpret the symbols?

Honestly? The renderer reads the expanded string character-by-character: 'F' or 'G' moves the turtle forward drawing a line, '+' turns right by the specified angle, '-' turns left, '[' saves the current position and angle, and ']' restores the saved state.

Why are some iterations locked or slow?

Each iteration increases the length of the string exponentially. To prevent browser freezing, we limit maximum iterations and total string length to 150,000 characters.

Discover More Tools

Hand-picked utilities to speed up your workflow.

Explore All Tools