Generate procedural wallpapers from the CLI or a GUI.
python3 -m venv .venv
source .venv/bin/activatepip install -r requirements.txtpython -m wallpaper_gen --guipython -m wallpaper_gen --style random --out wallpaper.pngUse the GUI to preview and save wallpapers with live controls.
Tips:
- Use Generate preview to test settings fast.
- Use Save wallpaper(s) to export one or many images.
- If style is random, the status bar shows the resolved style used for that preview.
Click any medium preview to open the full-size image.
| Sample 1 | Sample 2 | Sample 3 |
|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- random: chooses a style each run.
- fractal: Julia, Mandelbrot, or Burning Ship inspired fractal fields.
- tiling: Islamic-inspired geometric lattice and star motifs.
- geometric: layered lines, circles, polygons, and focal rings.
- polyhedra: 3D Platonic solids in wire, solid, or mixed rendering.
- penrose: quasiperiodic Penrose-style triangle tiling.
- hyperbolic: Poincare-disk-like hyperbolic tessellation.
- lowpoly: faceted low-poly gradient fields.
- crystal: vivid angular shard and facet compositions.
- rosette: radial star rosette compositions.
- tessellation: generalized tessellation generator with multiple tilings.
- hexmosaic: hex-focused tessellation preset.
- mixed: blends multiple generators together.
python -m wallpaper_gen [arguments]- --width, --screen-width: output width in pixels. Default 2048.
- --height, --screen-height: output height in pixels. Default 1152.
- --out: output PNG path. Default wallpaper.png.
- --seed: fixed integer seed for reproducible output.
- --batch: generate N images, auto-numbered when N > 1.
- --style: target style. Use random for auto-selection.
- --supersample: antialias scale 1..4. Default 2.
- --palette: exact palette name, or random.
- --palette-pack: choose random palette from a pack, or random.
- --brightness: global brightness multiplier. Must be > 0. Default 1.12.
- --saturation: global saturation multiplier. Must be >= 0. Default 1.0.
- --line-width: random or positive number. Typical range 0.2..5.0.
- --line-visibility: random or number >= 0. Typical range 0..5.
- --line-lightness: random or number -1..1.
- negative darkens lines
- positive lightens lines
- --solid: tetrahedron, cube, octahedron, icosahedron, dodecahedron, random, or mix.
- --polyhedra-render: wire, solid, both, or random.
- --polyhedra-opacity: random, 0..1 opacity, or 0..255 alpha.
- --penrose-symmetry: random or integer >= 5.
- 5 gives the classic look
- 6 gives a six-sided variant
- larger values are more experimental
- --tiling: random, hex, square, triangle, square_octagon, square_octagon_triangles, trihexagonal, rhombille, cairo.
- --tess-outline-width: tessellation-only outline multiplier. Typical range 0..5.
- --square-octagon-circle-mode: random, white, or colours.
- --square-octagon-split-mode: random, white, or colours.
- --square-octagon-gap-mode: random, white, sheet, or per_octagon.
- --gui: launch GUI instead of CLI generation.
python -m wallpaper_gen --style random --out wallpaper.png
python -m wallpaper_gen --style geometric --seed 42 --out geometric.pngpython -m wallpaper_gen --style random --batch 6 --out wallpaper.pngpython -m wallpaper_gen --style rosette --palette-pack islamic --out rosette.png
python -m wallpaper_gen --style tessellation --tiling hex --palette-pack hex --out tess_hex.pngpython -m wallpaper_gen --style hyperbolic --line-width 2.8 --line-visibility 2.0 --line-lightness 0.2 --out hyper_bold.png
python -m wallpaper_gen --style penrose --line-width 0.5 --line-visibility 0.7 --line-lightness -0.5 --out penrose_subtle.pngpython -m wallpaper_gen --style penrose --penrose-symmetry 5 --out penrose_s5.png
python -m wallpaper_gen --style penrose --penrose-symmetry 6 --out penrose_s6.png
python -m wallpaper_gen --style penrose --penrose-symmetry random --out penrose_random_symmetry.pngpython -m wallpaper_gen --style tessellation --tiling square_octagon_triangles --tess-outline-width 2.2 --line-width 1.6 --out tess_sq_oct.png
python -m wallpaper_gen --style tessellation --tiling rhombille --tess-outline-width 0.6 --line-visibility 1.4 --out rhombille.png- Width and height must each be at least 128.
- Supersample must be between 1 and 4.
- Batch must be at least 1.
- Reuse a seed to reproduce a result.






