Skip to main content

Terminal fractal viewer

Project description


  • Fully fledged Mandelbrot viewer, in your terminal

  • Now compatible with the native Windows console!

  • Julia sets

  • Homemade terminal UI

  • 8 color ANSI mode with dithering

  • 256 color mode

  • Parallelized using multiprocessing

  • Multiple palettes, adaptive mode

  • Save and load capabilities

  • Available in standalone, source compatible with Python 2 & 3

  • Infinite fun from the comfort of your terminal


Using PIP

Just run:

$ pip install almonds
$ almonds

On non-Cygwin Windows, you will still have to install the unofficial curses module (see “From source” below)

From source

Clone the repo:

$ git clone
$ cd Almonds

On OS X, Linux and Cygwin:

$ pip install Pillow
$ python -m almonds.main

(For Cygwin, mintty or babun are recommended)

On Windows, download the curses module from the Unofficial Windows Binaries for Python Extension Packages (a curses implementation for Windows based on PDCurses), then run:

> pip install curses‑2.2‑cp27‑none‑win32.whl
> pip install Pillow
> python -m almonds.main

The font Envy Code R is highly recommended. If your terminal emulator supports it, try to reduce the line spacing so that the box drawing characters touch. When using another font, the appearance of the fractal may seem squashed because the width to height ratio of the character are different; try to adjust it using the argument --ratio (see “Usage” below).

Using PyPy will make the hi-res captures faster, but the terminal navigation slower.


          ██  ██████  ██   .d8b.  db                              db
            ██████████    d8' `8b 88 .88b  d88. .d88b. .888b  .d8888 .d8888
      ██  ██████████████  88ooo88 88 88  88  88 8P  Y8 88  88 88  88 `8bo.
  ████████████████████    88   88 88 88  88  88 8b  d8 88  88 88  8D   `Y8b
      ██  ██████████████  YP   YP YP YP  YP  YP `Y88P' VP  VP Y888D' `8888Y
          ██  ██████  ██    T e r m i n a l   f r a c t a l   v i e w e r

usage: almonds [-h] [-p N] [-r RATIO | -d W H] [-z] [save]

version 1.20b

positional arguments:
  save                          path of a save to load

optional arguments:
  -h, --help                    show this help message and exit
  -p N, --processes N           number of concurrent processes
  -r RATIO, --char-ratio RATIO  width to height ratio of the terminal characters
  -d W H, --dimensions W H      width and height of the terminal characters
  -z, --qwertz                  swap the "z" and "y" keys




, , ,

Move around

C, V

Adjust move speed

Input manual coordinates

Y, U

Zoom / Un-zoom

I, O

Increase / Decrase number of iterations


Enter / Leave Julia set


Next palette


Color mode (256 colors / 8 colors ANSI / 8 colors ASCII)


Reverse palette order


Palette mode (Normal / Adaptive)


Launch palette cycling animation


Capture current view in a high-resolution PNG file


Show / Hide crosshairs


Toggle UI theme (Dark / Light)


Save all current settings and view


Load a previous save



Screenshots & Renders

See on the GitHub Project Page

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

almonds-1.25b.tar.gz (21.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page