abctab2ps and flabc

This is the homepage of abctab2ps by Christoph Dalitz. I am grateful to the German Lute Society for hosting this site. On the home page of the German Lute Society, you can also find information about contact and data privacy.


Sample Output
Source Code
Author and Contributors


abctab2ps is a music and tablature typesetting program which translates an input file in the abc language into postscript. It is based on Michael Methfessel's program abc2ps. While abc2ps can only typeset music, abctab2ps is an extension by Christoph Dalitz that can also handle lute tablature. flabc is an editor that can be used for writing abc files. The prefix "fl" is an allusion to the FLTK programming library which is used by flabc.

The features of abctab2ps include


abctab2ps and flabc are copyrighted by Christoph Dalitz and can be distributed freely under the terms of the GNU General Public License.

Sample Output

Sample output of abctab2ps


In order to create a music/tablature score with abctab2ps you must perform the following steps:

  1. start a text editor, enter the music in abc language and save it under a filename with the extension ".abc", eg. ""
  2. switch to the command line and call abctab2ps on that file, eg. "abctab2ps". This will create the score as postscript graphics in the file "".
  3. The generated postscript file can be viewed on the screen with a postscript previewer like gv or sent to the printer with lpr.

Alternatively you can use flabc which integrates all three steps within an easy to use graphical user interface.

flabc on MacOS X    flabc on Windows
flabc screenshot on MacOS X    flabc screenshot on Windows

Important Notice: abctab2ps is not bug free. In particular there might be buffer overflow bugs which can potentially be harmful. Thus you should not run abctab2ps under a superuser account and always have a look at the contents of unknown abc files before running them through abctab2ps. See the question "Can abctab2ps do any harm to my system?" in the FAQ document.


You will find the necessary documentation for the above steps in the source code distribution of abctab2ps:
  1. The detailed User's Guide describes the abc language and is essential for step 1. There is both a postscript version (for print out) and a HTML version (for online reference). Moreover there are some illustrative examples in the abctab2ps package.
  2. The manual page describes the invocation of abctab2ps and all command line parameters. It is essential for step 2. There is both a postscript version (for print out) and a nroff version (for online reference under Unix).

The documentation for using flabc is accessible from its main menu item "Help/Flabc Documentation". An online version can be found here. Example files can be found with the menu "File/Load Example".

The abctab2ps user's guide can be downloaded here as a PDF version.

Answers to frequently asked questions about installation and usage of abctab2ps can be found in the FAQ document.


In order to use abctab2ps you need the following additional software:

Recommendations for postscript software and editor alternatives to flabc are given in the section References.

If you want to compile the abctab2ps source code, you need an ANSI C++ compiler with STL support. For compiling the flabc source code you need additionally the FLTK C++ GUI toolkit. The binaries provided on this site have been compiled with gcc on Linux and MacOS X (gcc is shipped with Xcode) and MingW32 on Windows.

abctab2ps and flabc Download

If you want to know what's new in the latest version of abctab2ps, please read the latest release notes. Which version you download will depend on your operating system.


For MacOS X get the application bundle which includes flabc, abctab2ps, the abctab2ps user's guide and abc2midi. The following bundles are available:

For an installation unpack the archive with a double click in the Finder and move the application where you like. You can drag and drop abc files on the application. Note that you will additionally need a postscript viewer; see the menu "Help/Flabc Documentation" for installation instructions for a postscript viewer and configuration hints.


For Linux abctab2ps and flabc are distributed in seperate packages. The following packages include 64bit binaries and have been built on Ubuntu 16.04:

The following packages include 64bit binaries and have been built on Ubuntu 12.04:

The following packages include 32bit binaries and have been built on Ubuntu 8.04:

After installation you can open abc files with the command flabc. The documentation is installed into /usr/share/doc/abctab2ps and /usr/share/doc/flabc and is also accessible from the "Help" menu in flabc.

If you want to use midi conversion you will additionally need abc2midi. The easiest way to install abc2midi on Linux is by getting its source code from the abc2midi home page.


For Windows 7/8 get the binary installer flabc-setup-w64.exe, which includes 64bit binaries of flabc (version 1.1.2) and abctab2ps (version 1.8.12), the abctab2ps user's guide and abc2midi (version 1.49). Note that you will need additionally both ghostscript and gsview.

Source Code

If the above binaries do not suit your needs or you want to hack on abctab2ps and flabc yourself you can get the source code: abctab2ps-1.8.25.tar.gz and flabc-1.2.2.tar.gz. For an installation unpack the sources with tar xvzf ... and follow the instructions in the file README. Additionally, development snapshots can be downloaded from the github projects abctab2ps and flabc.

abctab2ps Addons

If you do not like flabc and prefer to use your favorite text editor for writing abc files, one of the following editor macro packages might be useful:

emacs abctab mode
(Version 1.6.2)
An abc language mode for the editor Emacs. Apart from various Unix platforms, Emacs is also available for Win32. By default Emacs has rather strange keymappings; the common CUA keymappings can be enabled with cua-mode.el.
This mode only works with GNU Emacs and not with Xemacs.
nedit abc mode
(Version 1.4)
An abc language mode for the Unix editor Nedit. Adds syntax highlighting and menu entries for previewing abc files, automatic cursor motion to errors and interactive selection of format parameters. Here is a screenshot.
Werner von Hörsten's
A Windows-GUI for abctab2ps and abc2midi that also offers tablature to music conversion (which flabc does not support). For more information, please contact Werner von Hörsten by email: wvhoersten (at) hotmail (dot) de.

Other possibly useful addons:

(Version 1.0)
A Python script to postprocess the abctab2ps output for encoding esperonto special characters (ĉ, ĝ, ĥ, ĵ, ŝ, ŭ) to latin3 encoding in postscript.
(Version 1.5)
A Perl script (requires Perl version 5.0 or higher) for the extraction of voices, movements etc. from abc-files. Output can be piped directly into abctab2ps. A man page is included. If you do not have Perl on Windows, download instead.
(Version 1.5)
A simple Perl script for adding page numbers to a postscript file. Position and start number can be changed by command line options. pspage -? gives a usage message. If you do not have Perl on Windows, download pspage.exe.gz (old version) instead.
(Version 1.8)
A Perl script which converts from Wayne Cripps' "tab" format to abc. Detailed documentation is included. If you do not have Perl on Windows, download (Version 1.6) instead.


Publications prepared with abctab2ps:

abctab2ps and abc related sites:

Postscript resources (please note that a good deal of postscript software is shipped with all Linux or FreeBSD distributions, so check the installation CDs of your operating system first):


abctab2ps is written by Christoph Dalitz, based upon code by Michael Methfessel. Apart from these two main authors, the following persons have additionally contributed to the project (in alphabetical order, see the file CHANGES in the source distribution for details):

James Allwright, Michael Burzan, Martin Fick, Luis Pablo Gasparotto, Werner von Hoersten, Markus Lutz, Jef Moine, Frank Nordberg, Alain Veylit, Anders Wiren, John Wright


All comments or suggestions are welcome and can be sent to

"christoph (dot) dalitz (at) hs-niederrhein (dot) de"

Last change 2023-10-22