Compare Handlebars.js to these popular alternatives based on real-world usage and developer feedback.

TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.

Facilitating the separation of presentation (HTML/CSS) from application logic. This implies that PHP code is application logic, and is separated from the presentation

Mustache is a logic-less template syntax. It can be used for HTML, config files, source code - anything. It works by expanding tags in a template using values provided in a hash or object. We call it "logic-less" because there are no if statements, else clauses, or for loops. Instead there are only tags. Some tags are replaced with a value, some nothing, and others a series of values.

It is a full featured template engine for Python. It has full unicode support, an optional integrated sandboxed execution environment, widely used and BSD licensed.

This project was formerly known as "Jade." Pug is a high performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers.

It is a simple templating language that lets you generate HTML markup with plain JavaScript. No religiousness about how to organize things. No reinvention of iteration and control-flow. It's just plain JavaScript.

It is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance.

It is a modern template engine for PHP. It is flexible, fast, and secure. Its syntax originates from Jinja and Django templates.

Hogan.js is a 3.4k JS templating engine developed at Twitter. Use it as a part of your asset packager to compile templates ahead of time or include it in your browser to handle dynamic templates.

It is an open-source template language written in Ruby. It is the backbone of Shopify themes and is used to load dynamic content on storefronts. It is safe, customer facing template language for flexible web apps.

It is a data templating language for app and tool developers. It is a powerful DSL for elegant description of JSON data.

It is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities.

Flow is a static type checker for Javascript created by Facebook.
Rich Powerful language with block inheritance, autoescaping, macros, asynchronous control, and more. Heavily inspired by jinja2. It supports all modern browsers.

Slim is a template language whose goal is to reduce the view syntax to the essential parts without becoming cryptic. It started as an exercise to see how much could be removed from a standard html template (<, >, closing tags, etc...). As more people took an interest in Slim, the functionality grew and so did the flexibility of the syntax.

Ractive was originally created at theguardian.com to produce news applications. Ractive takes your Mustache templates and transforms them into a lightweight representation of the DOM – then when your data changes, it intelligently updates the real DOM.

Dust is a JavaScript templating engine designed to provide a clean separation between presentation and logic without sacrificing ease of use. It is particularly well-suited for asynchronous and streaming applications.

It is a templating engine, primarily used for server-side templating in NodeJS. It allows you to code without the need of tags making coding quicker and cleaner.

It implements a template rendering engine based on Jinja. It generates Rust code from your templates at compile time based on a user-defined struct to hold the template's context.

It is a fastest and concise javascript template engine for Node.js and browsers. It was created in search of the fastest and concise JavaScript templating function with emphasis on performance under V8 and Node.js. It shows great performance for both Node.js and browsers.

Fast, lightweight, pluggable embedded JS template engine. Supports async templates, partials, and fixes many of the parsing issues with doT and EJS. Faster than most template engines, including EJS, doT, Handlebars, Pug, and Nunjucks.

Never touch the DOM by hand again - Hamlet does a great job of transparently keeping your model code in sync with the DOM. So much so that in most cases you never have to access a DOM element by hand. The resulting markup is free of excess attrs, data-attrs, and directives.

It is a modern template engine for Java. It is not a syntax revolution, it uses familiar language and it is based on code islands, making it easier to read when mixed with content.

It is compiled to Handlebars.js that can then be compiled straight to JavaScript, that is finally rendered as HTML.

It is a free open-sourced templating framework for modern Java applications. Based upon the Composite pattern it is built to simplify the development of user interfaces.