See Tonight’s Moon as ASCII Art in Your Terminal

The “Wait, That Works?!

You’ve seen ASCII art in old demos and movie terminals. You’ve probably never thought, “I want more of that in my daily workflow.” Then you discover pyphoon — a Python package that renders tonight’s moon phase as elegant text characters right in your terminal, based on Jef Poskanzer’s original 1979 Pascal implementation [S1]. No GUI, no graphics library, no download manager. Just one command and a moon appears.

Most people who’ve used Unix-like systems have encountered moments where a simple command reveals something unexpectedly beautiful. For terminal users, pyphoon is exactly that kind of discovery: a command-line tool that shows the current moon phase as rendered in text characters. It’s the kind of project that makes you smile the first time you see it, and that smile is the whole point.

Grandma-test difficulty: 1

Try-it time: Under 2 minutes

Worth your time: Yes, if you like seeing something beautiful emerge from text. Skip if you need photorealistic moon images.

What You Need

  • Python 3.6 or newer
  • pip (Python’s package installer)
  • A terminal that supports Unicode

The three items above are all you need. If you’re reading this on a modern computer, you almost certainly already have Python and pip installed. Most terminals (Terminal.app on Mac, Windows Terminal on Windows, any Linux terminal) support Unicode characters natively.

The Easiest Setup (3 Steps)

Step 1: Install pyphoon

pip install pyphoon

After the installation command completes, you have a new terminal command available. No compiling, no configuration, no build steps. The pip package manager handles downloading and installing the single Python module that provides the pyphoon command [S2].

Step 2: Run it

pyphoon

That’s it. The moon phase for today appears as text characters arranged in a circle. On my screen, I see a beautiful crescent moon formed by carefully chosen ASCII characters, glowing in my terminal’s default color. The moon’s phases follow the predictable cycle of new, crescent, quarter, gibbous, and full — a cycle that has been observed for millennia [S3]. The entire command takes less than a second to execute after installation.

Step 3: Try Variations

Play with these options:

“`

Smaller moon

pyphoon -n 15

South hemisphere view

pyphoon -s south

Show moon with specific date

pyphoon 2024-07-15 “`

The -n flag controls the number of lines used to render the moon — try 15 for a compact version, 30 (the default) for a larger one, or 60 for a very detailed rendering.

The -s flag controls which hemisphere you see. Most people in the northern hemisphere are accustomed to seeing the moon with north up, but if you’re south of the equator, the familiar shapes appear flipped. The -s south option lets you see the moon as it appears from your location.

First Thing to Try

Run pyphoon with no arguments. Watch the text characters arrange into the moon shape as seen from your location. Then try pyphoon -n 15 to see a smaller, more compact version. This is the moment when you type a command and see a recognizable astronomical object rendered entirely in text [S1]. Friends who gather ’round your screen will ask, “What is that?” and you’ll have an instant answer.

Turn It Into a Game

Compare moon phases across dates. What did Halloween 2023 look like in ASCII? How about the last supermoon? Run:

pyphoon 2023-10-31 pyphoon 2023-11-08

Try the northern vs southern hemisphere view:

pyphoon -s north pyphoon -s south

See how the crescent shapes flip! The same moon phase looks different depending on your position on Earth — it’s a subtle but fascinating demonstration of how perspective works in astronomy. Share screenshots of interesting phases with friends who ask, “What is that?”

Optional Expert Rabbit Hole

pyphoon is based on Jef Poskanzer’s 1979 Pascal implementation, itself translated to C and later to Python by Charles Choi [S1]. The source code is available on GitHub and reveals the astronomical calculation at the heart of the tool: given a date and observer location, the program computes the moon’s phase fraction and orientation, then maps that to a specific arrangement of text characters. For the truly curious, the code shows how a decades-old programming exercise can still be useful today.

You can also explore the -l flag, which lets you display the phase information in different languages. Try pyphoon -l spanish or pyphoon -l japanese to see how the phase text adapts. The -x flag removes the informational header below the moon for pure ASCII art output.

One Thing to Know

pyphoon only displays the moon’s near side — the half always visible from Earth [S1]. The far side, often called the “dark side,” remains permanently hidden from our viewpoint (though it gets sunlit just like the near side). The near side either shows the north pole up (for people living in the northern Earth hemisphere) or the south pole up (for the southern hemisphere) [S1]. This in turn changes the direction of the observable crescent: a waning crescent appears as 🌒 from the northern hemisphere and 🌘 from the southern hemisphere [S1].

Also, the terminal must support Unicode characters for the best rendering. Most modern terminals do, but if you see question marks or block characters instead of the moon, your terminal may need a font update.

The Bottom Line

If you enjoy the charm of seeing something real — your actual moon — rendered in text, go try pyphoon tonight. It’s a pocket-sized piece of astronomical nostalgia that proves text can still surprise and delight. Open your terminal, run pip install pyphoon, then pyphoon and watch the moon appear. It takes less than a minute from standstill to finished result.

If you’ve never used a terminal before, first learn how to open one: Ctrl+Alt+T on Linux, Terminal.app on Mac, or Windows Terminal on Windows. Then follow the three steps above. The entire experience takes about 90 seconds from terminal open to moon sighting.

Verdict: 4/5 — Strong Look

pyphoon is a genuinely delightful terminal tool that turns a simple astronomy question into an instant ASCII art experience. The first win is seeing tonight’s actual moon phase rendered in text after one pip install. It appeals to curious beginners who enjoy terminal art or astronomy novices. The tool has clear documentation, the install is trivial, and the result is both surprising and beautiful.

Best For

  • Terminal-curious beginners looking for an instant win
  • Astronomy hobbyists wanting a quick moon check
  • Fans of ASCII art nostalgia
  • Anyone who enjoys discovering beautiful things with one command

Skip If

  • You need photorealistic moon images with detailed craters
  • You want a feature-rich astronomy app with multiple data sources
  • You’re uncomfortable with any terminal commands

Evolve This

Try it on different dates to see how the moon changes. Then explore the asciimatics library for richer terminal animations, or create your own ASCII art generator using Python’s text manipulation capabilities.

Best Use of Your Time Today

Open your terminal right now and run pip install pyphoon. When it finishes, run pyphoon and see tonight’s moon phase. It’s the fastest way to add a moment of beauty to your day.

Safe to Skip

If you’ve never used a terminal and have no interest in learning, this isn’t the project to start with. There are many other beginner-friendly tools that use graphical interfaces.

Bottom Line

pyphoon is a pocket-sized piece of astronomical nostalgia that proves text can still surprise and delight. It’s a one-command terminal experience that turns the moon above us into ASCII art, and the delight you feel when you first see it is the whole point.

Sources

  1. [S1] pyphoon – ASCII Art Phase of the Moon (Python version) — GitHub (2024-01-15)
  2. [S2] pyphoon – PyPI Package — PyPI (2024-01-15)
  3. [S3] Phase of the Moon — Wikimedia Foundation (2026-07-10)