The RWTH FSA Toolkit

FSA is an efficient and flexible toolkit to create, manipulate and optimize finite-state automata. It supports weighted and unweighted automata as well as transducers and is designed to use on-demand computations in order to keep memory footprint as low as possible. It may be used to model various problems from the field of natural language processing. The toolkit offers three different interfaces: a C++ library, a Python module and a command-line tool.

The FSA toolkit is described in detail in the following article:

S. Kanthak and H. Ney: FSA: An Efficient and Flexible C++ Toolkit for Finite State Automata Using On-Demand Computation". In Proceedings of the 42nd Annual Meeting of the Association for Computational Linguistics (ACL 2004), Barcelona, Spain, pp. 510-517, July, 2004.   download PDF

If you have any questions or suggestions, please contact us.


The latest version is 0.9.4 and may be obtained here.

Mailing Lists

In order to organize discussions about the RWTH FSA toolkit we offer two mailing lists: Register to the first one if you are only interested in the progress of the toolkit and new public versions. Register to the second one if you also want to get help on various problems, suggest extensions, etc. Of course, you can always send e-mails directly to the current maintainer of the toolkit.

If you have a particular problem with the toolkit, but are not subscribed to one of the lists yet, you are adviced to first have a look at the archives:


Other toolkits (no order):
The FSA Maintainer
Last modified: Tue Sep 20 09:28:47 CEST 2005