Skip to content


Repository files navigation

Ace - HTML template engine for Go

wercker status GoDoc


Ace is an HTML template engine for Go. This is inspired by Slim and Jade. This is a refinement of Gold.


= doctype html
html lang=en
    title Hello Ace
    = css
      h1 { color: blue; }
    h1 {{.Msg}}
        Ace is an HTML template engine for Go.
        This engine simplifies HTML coding in Go web application development.
    = javascript
      console.log('Welcome to Ace');


<!DOCTYPE html>
<html lang="en">
    <title>Hello Ace</title>
    <style type="text/css">
      h1 { color: blue; }
    <h1>Hello Ace</h1>
    <div id="container" class="wrapper">
        Ace is an HTML template engine for Go.<br>
        This engine simplifies HTML coding in Go web application development.
    <script type="text/javascript">
      console.log('Welcome to Ace');


Making Use of the Go Standard Template Package

Ace fully utilizes the strength of the html/template package. You can embed actions of the template package in Ace templates. Ace also uses nested template definitions of the template package and Ace templates can pass pipelines (parameters) to other templates which they include.

Simple Syntax

Ace has a simple syntax and this makes template files simple and light.

Caching Function

Ace has a caching function which caches the result data of the templates parsing process. You can omit the templates parsing process and save template parsing time by using this function.

Binary Template Load Function

Ace has a binary template load function which loads Ace templates from binary data in memory instead of template files on disk. You can compile your web application into one binary file by using this function. go-bindata is the best for generating binary data from template files.

Getting Started

Please check the following documentation.

  • Getting Started - shows the getting started guide.
  • Examples - shows the examples of the web applications which use the Ace template engine.


You can get the documentation about Ace via the following channels:

  • Documentation - includes the getting started guide and the syntax documentation.
  • GoDoc - includes the API documentation.

Discussion & Contact

You can discuss Ace and contact the Ace development team via the following channels:


Any contributions are welcome. Please feel free to create an issue or send a pull request.

Renderers for web frameworks


  • vim-ace - Vim syntax highlighting for Ace templates
  • ace-tmbundle - TextMate/Sublime syntax highlighting for Ace templates
  • atom-ace - Atom Editor syntax highlighting for Ace templates

Projects using Ace

Here is the list of the projects using Ace. Please feel free to add your awesome project to the list!