Skip to content


Switch branches/tags

ST (StringTemplate) is a java template engine (with ports for C#, Python, and Objective-C coming) for generating source code, web pages, emails, or any other formatted text output. ST is particularly good at multi-targeted code generators, multiple site skins, and internationalization / localization. It evolved over years of effort developing and then ANTLR v3.

The main website is:

Its distinguishing characteristic is that it strictly enforces model-view separation, unlike other engines. See:

The documentation is in this repo

Per the BSD license in LICENSE.txt, this software is not guaranteed to work and might even destroy all life on this planet.


Manual Installation

All you need to do is get the StringTemplate jar into your CLASSPATH. See Java StringTemplate.


To reference StringTemplate from a project built using Maven, add the following to the <dependencies> element in your pom.xml file.



In build.gradle, add the following dependency:

dependecies {
    // ...

    compile group: 'org.antlr', name: 'ST4', version: '4.3.3'

Make sure you are using the mavenCentral repository by adding it if necessary:

repositories {
    // ...


Select a version on mvnrepository, and copy the snippet relevant to your build tool.


The source is at

If you would like to make changes to ST and build it yourself, just run mvn install from the root directory of the repo.

You can also run ant from the root dir.