Skip to content
templating engine for DOCX and PPTX files
Branch: master
Clone or download
mbali and erdos make it build in JDK11
JDK11 removed javax.xml.bind (#28)
Latest commit dce38d4 Jun 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci configure codecov with circleci May 27, 2019
.github/ISSUE_TEMPLATE refine bug report issue template Jun 4, 2019
docs readme: links to api docs May 23, 2019
examples example: multipart template has image in header May 30, 2019
java-test/io/github/erdos/stencil add method to query fragment names in prepared template Jun 5, 2019
service release 0.3.3 Jun 5, 2019
src start working on 0.3.4-SNAPSHOT Jun 5, 2019
.gitignore small improvement: project.clj version eval, gitignore May 21, 2019
LICENSE.txt Initial commit. Release v0.2.1 Oct 3, 2018 release 0.3.3 Jun 5, 2019 performance improvements by removing unnecessary parallelism (#23) Apr 25, 2019 Initial commit. Release v0.2.1 Oct 3, 2018
project.clj additional test cases May 30, 2019
reflectconfig added script to build native using graalvm Mar 13, 2019
test-and-doc.jenkinsfile Initial commit. Release v0.2.1 Oct 3, 2018

Stencil Template Engine

Stencil is a templating engine to produce Office Open XML (mostly Microsoft Office's Word .docx files) from Java programs. It has a simple syntax and no programming is needed to write or modify document templates.

The aim of this project is to provide an easy-to-use and freely available tool for generating office documents.

stencil flow

You can use either Microsoft Word or LibreOffice to edit the document templates. The template expressions are just simple texts, and you can even colour-code them to make the template more readable.

Clojars Project CircleCI codecov contributions welcome HitCount EPL 2.0


  • Works with docx and pptx files
  • Simple value substitution
  • Substituting HTML text for dynamic text formatting
  • Conditional blocks in the template
  • Repeating blocks in the template
  • Dynamically show/hide rows and columns in tables

Getting Started


Latest stable version is 0.3.3

Latest snapshot version is 0.3.4-SNAPSHOT

If you are using Maven, add the followings to your pom.xml:

The dependency:


And the Clojars repository:


Alternatively, if you are using Leiningen, add the following to the :dependencies section of your project.clj file: [io.github.erdos/stencil-core "0.3.3"]

Previous versions are available on the Stencil Clojars page.


Copyright (c) Janos Erdos. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 2.0 ( which can be found in the file LICENSE.txt at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

You can’t perform that action at this time.