Skip to content
Pony rewrite of cowsay.
Pony Python Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

ponysay — cowsay reimplemention for ponies.


Today your terminal, tomorrow the world!

Installation on GNU/Linux (or other Unix implementations)

Download or clone the project. In the terminal, cd into the ponysay directory and ./ install or python3 install. You may need to be super user to run ./ install without --private, on most systems this can be achieved by running sudo ./ install. For more information we have provided you with an extensive manual in PDF.

In order to use ponysay, run:

ponysay "I am just the cutest pony!"

Or if you have a specific pony in your mind:

ponysay -f pinkie "Partay!~"

Run info ponysay, man 6 ponysay or ponysay -h for more information. A Spanish manual is available: man -L es 6 ponysay.

Arch Linux

The package is in the official repositories as community/ponysay, there is also a git version named ponysay-git in AUR.


A git version of the package is available as ponysay-git in CCR, alongside a stable package as ponysay.

Gentoo Linux

There is a package for Gentoo, to make installation and keeping it up to date easy. You can find it in this overlay. The package is named games-misc/ponysay.

Debian GNU/Linux and Ubuntu

The DEB file can be found here and PPA:s can be found here and here.

Pony fortune on terminal startup

This requires that you have the fortune utility installed. You can install it from your repositories (may be named fortune-mod) or just fetch the source code from here.

You can try this script or ponypipe to ponify fortunes.

Edit your ~/.bashrc and add this to the end of the file

fortune | ponysay

Now every time you open a terminal a pony should give your fortune

Pony quotes

Running ponysay -q will give you a random pony saying one it its quote from MLP:FiM. Add one or more argument after -q to sepecify a set of ponies from which one will be selected randomly.

When running ponysay -l or ponysay -L the ponies which have quotes will be printed bold or bright (depending on terminal).

Ponies in TTY (Linux VT)

If you have a custom colour palette edit your ~/.bashrc and add

if [ "$TERM" = "linux" ]; then
    function ponysay
        exec ponysay "$@"

Read the PDF or info manual for more information.

Installation on Microsoft™ Windows®



Required runtime dependencies

coreutils: stty in coreutils used to determine size of the terminal

python>=3: written in python 3

Package building dependencies

gzip: used for compressing manuals (suppressable with ./configure --without-info-compression --without-man-compression)

texinfo: used for building info manual (suppressable with ./configure --without-info)

python>=3: the installation process is written in python 3

Run ./ if things are not working for you.


Q: The output looks like a mess in (TTY/PuTTY/other)!

A: Unfortunately we cannot make it perfect, see issue 1. But we have done a lot, read more about how to get the best the current state of the art has to offer in the manual.

Q: You are missing (my-favourite-pony)!

A: Ask and we'll add!

Q: Which programs do you use to generate the pony files?

A: The pony files are actually mostly a bunch of selected browser ponies, converted using util-say.

The PDF manual should answer most of your questions.

Something went wrong with that request. Please try again.