Grandma-Test Difficulty: 2/5 — One install command, then instant magic
Thesis: Pipes.sh delivers immediate visual gratification through animated terminal pipes with zero setup complexity, making it an ideal try-it-tonight project for hobbyists.
Try-it Time: Under 10 seconds
Worth Your Time: 5/5 — Do Not Miss
—
Remember when you were a kid and you’d trace the veins on a leaf or watch clouds drift by, finding patterns in the randomness? pipes.sh brings that same meditative, mesmerizing magic to every developer’s terminal. And the best part? No installation, no accounts, no technical knowledge required. This is not a tool you build components with — it is a pure, delightful visual experience that happens in your command line, and it proves that a single bash script can become a small piece of living art.
Remember when you were a kid and you’d trace the veins on a leaf or watch clouds drift by, finding patterns in the randomness? pipes.sh brings that same meditative, mesmerizing magic to every developer’s terminal. And the best part? No installation, no accounts, no technical knowledge required.
What Is pipes.sh?
pipes.sh is a tiny bash script — yes, just one file — that draws animated, colorful pipes that snake across your terminal window, turning corners, bouncing off edges, and wrapping around the screen in a continuous, hypnotic flow. Created in 2010 by Matthew Simpson and later adopted by the Pipeseroni collective, it’s been delighting terminal users for over a decade with thousands of GitHub stars [S1]. It is MIT licensed, free for everyone, and runs on any system with bash and a modern terminal [S1].
What You Need
- A computer with a terminal (Terminal on macOS, GNOME Terminal/Konsole on Linux, Windows Terminal/WSL/Git Bash on Windows — all work)
- Five seconds of your time
That is literally it.
Simple Setup Walkthrough (3 Steps)
Step 1: Install (or just run it)
If you have Homebrew on macOS or Linux, install with one command:
“ brew install pipes-sh “
If you do not want to install anything, you can run the script directly with bash:
“ bash <(curl -s https://raw.githubusercontent.com/pipeseroni/pipes.sh/master/pipes.sh) “
Both approaches work with zero configuration. The Homebrew route gives you an easy pipes.sh command you can run anytime; the curl route is pure portability — no install at all [S2].
Step 2: Launch the animation
If you installed via Homebrew, just type:
“ pipes.sh “
If you used the curl method, the animation launched as soon as you pressed Enter on the command above.
Step 3: Watch and enjoy
In under a second, colorful pipes begin flowing across your terminal. They turn corners, change colors, and bounce off the edges of the screen. The default experience already dazzles; no further action is required.
First Thing to Try Right Now
As soon as pipes.sh launches, you will see colored lines beginning to snake across your terminal. On my 80-column terminal they start from the left edge, turn downward at a random point, and wrap around the right edge to continue from the left — creating an endless, flowing pattern. The pipes cycle through colors as if a rainbow were being drawn one segment at a time. Try resizing your terminal window while the pipes are running — they adapt instantly to the new dimensions and continue flowing through your newly shaped space. This alone is enough to make you grin.
Turn It Into a Game: Live Remix Your Pipes
The pipes are not static; they respond to your keyboard in real time. While the animation is running, try pressing these keys [S3]:
- P increases the probability that pipes go straight instead of turning — making longer, less twisty runs.
- O decreases straight probability — pipes turn more often, creating tighter mazes.
- F increases frame rate — the pipes move faster.
- D decreases frame rate — slower, more meditative motion.
- B toggles bold — makes the pipes thicker and more vivid.
- C toggles color — pipes become monochrome if you want a minimalist look.
- K toggles color persistence — controls whether pipes keep their color and type when wrapping around screen edges.
Challenge: Try setting the straight probability all the way up (press P many times) so pipes run in long straight lines, then press O to bring it back down. Notice how the visual rhythm completely changes. Try toggling bold on and off. Each combination creates a different aesthetic — like a live visual instrument.
Optional Expert Rabbit Hole: Nine Pipe Types and Custom Characters
By default pipes.sh uses box-drawing characters (the Unicode lines), but it has nine built-in pipe type presets (0 through 9), each using different Unicode glyphs. You can also create your own custom 16-character pipe pattern — for example, using emoji or ASCII art instead of lines. Here are three to try [S3]:
“ pipes.sh -t 0 # Classic heavy box-drawing pipes pipes.sh -t 8 # Railway style (tracks and junctions) pipes.sh -t 9 # Knobby organic curves “
To go deeper: run pipes.sh -p 3 to spawn three pipes at once, or pipe the output to record a session:
“`
Record a 10-second demo
pipes.sh | tee /tmp/mypipes.txt “`
The script uses only bash built-ins, tput, and printf — under 200 lines of code — which means you can read the entire source and understand exactly how it works [S1].
Why This Matters for a Beginner
The terminal has a reputation for being intimidating — full of cryptic commands, error messages, and a steep learning curve. But pipes.sh flips that expectation on its head. It shows you that the terminal is not just for developers and system administrators; it is a creative canvas that anyone can use to make something beautiful.
Think of it like this: if you have ever watched a screensaver or a lava lamp and felt a moment of calm, you already understand the appeal of pipes.sh. The only difference is that instead of pre-rendered animations, you are watching real-time, interactive art that responds to your keyboard. It is a reminder that the best tools are not always the most complex ones — sometimes the simplest script creates the most memorable experience.
A Brief History
pipes.sh was originally created by Matthew Simpson in early 2010 and posted to the Arch Linux Forums as a simple, fun screensaver. It was later posted to GitHub Gist by Yu-Jie Lin, who refined it and added features. In 2015, the Pipeseroni collective formed to maintain and improve the project, adding the MIT license and expanding the pipe type system [S1]. Today, the script has been forked hundreds of times and appears in package managers across Linux, macOS, and Windows [S2].
How It Works (The Short Version)
If you are curious about the internals, here is the elevator pitch: pipes.sh is a single bash script that uses tput to set colors and printf to draw characters. It maintains a small array of pipe positions and directions, then in a loop it updates each pipe’s position, chooses a new direction based on probability, and redraws the character at the new location. The whole thing is under 200 lines of code [S1].
You do not need to understand any of this to enjoy it — but it is comforting to know that behind the hypnotic animation is a small, honest piece of software that does exactly one thing, and does it well.
Share Your Creation
One of the most fun aspects of pipes.sh is sharing your custom pipe designs with friends. Take a screenshot of your terminal while pipes.sh is running, or record a short screen recording of the animation, and send it to someone. The visual is striking enough to spark a conversation, and the fact that it took one command to create adds an element of delightful surprise.
One Thing to Know
pipes.sh runs inside your terminal emulator. It does not save files to disk unless you explicitly redirect its output. It is completely safe — it only draws characters and reads keystrokes for the hotkeys above. If your terminal does not support 256 colors or 24-bit color, the pipes will still render with the basic 8-color set [S3].
The Bottom Line
Try it tonight if: You want a moment of pure, wordless delight in your terminal. Five seconds of setup, a lifetime of gentle distraction. It is the terminal equivalent of a lava lamp.
Skip it if: You never open a terminal and do not want to, or if you prefer high-resolution 3D graphics over character-based art.
pipes.sh proves that you do not need a GPU, a fancy framework, or a dozen dependencies to create something genuinely beautiful. It is a love letter to the terminal — one flowing pipe at a time.
Sources
- [S1] pipes.sh GitHub Repository and README — pipeseroni (GitHub) (2014-01-01)
- [S2] Homebrew Formula for pipes-sh — Homebrew (2021-01-01)
- [S3] pipes.sh Man Page (pipes.sh(6)) — pipeseroni (GitHub) (2018-01-01)
