#terminal #rain #ascii #cli

app make-it-rain

A terminal Matrix rain effect, configurable and hackable

2 stable releases

Uses new Rust 2024

1.2.1 Sep 25, 2025
1.1.3 Sep 25, 2025

#73 in Visualization

49 downloads per month

MIT license

4MB
528 lines

🌧️ Make It Rain - Terminal Matrix Effect

AUR

Demo

A fast, customizable Matrix rain animation for your terminal written in Rust. Featuring smooth trails, RGB mode, drop glitching, and full control over the look and feel.


✨ Features

  • Smooth falling Matrix drops with variable speed and trail length
  • RGB fade or classic green shading
  • Glitching and flickering effects for dynamic visuals
  • Stuck characters left behind by drops, disableable
  • Configurable frame rate and character palettes
  • Built with crossterm for fast terminal rendering

⚙️ Options

  -D, --debug                        Enable debug output
  -n, --drops <DROPS>                Initial number of active drops [default: 10]
      --rgb                          Enable RGB fade coloring instead of preset green steps
      --min-trail <MIN_TRAIL>        Minimum trail length (clamped between 4 and 40, cannot exceed --max-trail) [default: 8]
      --max-trail <MAX_TRAIL>        Maximum trail length (clamped between 4 and 40, cannot be less than --min-trail) [default: 25]
      --glitch-prob <GLITCH_PROB>    Probability of glitch characters appearing (0.0 - 1.0) [default: 0.003]
      --flicker-prob <FLICKER_PROB>  Probability of character flickering (0.0 - 1.0) [default: 0.01]
      --stuck-prob <STUCK_PROB>      Probability (0.01.0) that a falling drop leaves a character stuck on screen when it resets. Lower = fewer stuck characters [default: 0.02]
      --drop-prob <DROP_PROB>        Probability of a new drop spawning in an empty column (0.0 - 1.0) [default: 0.05]
      --fps <FPS>                    Frames per second (clamped between 1 and 15) [default: 12]
      --palette <PALETTE>            Character palette to use: classic | katakana | alphanumeric | symbols | greek [default: classic]
      --no-stuck                     Disable stuck characters (characters remain after drop moves)
      --no-glitch                    Disable glitch effects entirely
      --no-flicker                   Disable flickering effects entirely
  -h, --help                         Print help
  -V, --version                      Print version

🚀 Installation

📦 Arch Linux (AUR)

Using an AUR helper (yay, paru, etc.):

yay -S make-it-rain
# or
paru -S make-it-rain

Manual AUR installation:

git clone https://aur.archlinux.org/make-it-rain.git
cd make-it-rain
makepkg -si

🦀 Build from Source

Make sure you have Rust installed. Then:

git clone https://github.com/saltnpepper97/make-it-rain.git
cd make-it-rain
cargo build --release

Dependencies

~5–10MB
~221K SLoC