Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The haters told me BBSes, ANSI art and MIDI music were dead so I combined them together.

<-- click me

ANSIWAVE BBS is a bulletin board where you can have threaded discussions and share ANSI art and MIDI music. It is the glorious mashup that nobody asked for and everybody needs.

How to fire this puppy up and get 'er done

Either download a prebuilt binary, or you can build from source: install Nim and then do nimble install in this directory (make sure ~/.nimble/bin is on your PATH).

To access the BBS, just run it without any arguments:


If you have a specific post you want to go to, you can just give the URL as the argument:


To view the BBS offline, clone it with git and point the terminal client to it:

git clone
cd board
ansiwave .

You can also use ANSIWAVE as an offline tool; no need to share your creations on the BBS. You can open a new or existing file like this:

ansiwave hello.ansiwave

On the web portal of the BBS, there is a "plain view" button which takes you to a pure HTML version of the post. Its URL is very long because it contains the entire content inside of it. You can then open it in the terminal client like this:


And you can save it to a file like this:

ansiwave hello.ansiwave

There are a couple other cool things you can do. If you have a .ansiwave file, you can synthesize the music in it to a wav file:

ansiwave hello.ansiwave hello.wav

And if you have any old-school ANSI art encoded in CP437, you can convert it into an ansiwave:

ansiwave hello.ans hello.ansiwave --width=80

Oh, and if you just want to look at an ansiwave, there is already an ansiwave viewer built into every 'nix machine on the planet:

cat hello.ansiwave

It's just unicode, homies!