The Stencil template language

Stencil is a simple and powerful template language for Swift. It provides a syntax similar to Django and Mustache. If you’re familiar with these, you will feel right at home with Stencil.

There are {{ articles.count }} articles.

  {% for article in articles %}
    <li>{{ article.title }} by {{ }}</li>
  {% endfor %}
import Stencil

struct Article {
  let title: String
  let author: String

let context = [
  "articles": [
    Article(title: "Migrating from OCUnit to XCTest", author: "Kyle Fuller"),
    Article(title: "Memory Management with ARC", author: "Kyle Fuller"),

let environment = Environment(loader: FileSystemLoader(paths: ["templates/"])
let rendered = try environment.renderTemplate(name: context)


The User Guide

For Template Writers

Resources for Stencil template authors to write Stencil templates.

For Developers

Resources to help you integrate Stencil into a Swift project.