Comparison of web template engines

The following table lists the various web template engines used in Web template systems and a brief rundown of their features.

Engine (implementation)[a] Languages[b] License[c] Variables[d] Functions[e] Includes[f] Conditional inclusion[g] Looping[h] Evaluation (language)[i] Assignment[j] Errors and exceptions[k] i18n[l] Natural templates[m] Inheritance[n]
Apache Velocity Java, C# Apache Yes Yes Yes Yes Yes Yes Yes Yes No No No
ASP.NET (Microsoft) C#, VB.NET Proprietary Yes Yes Yes Yes Yes Yes Yes Yes ? ? ?
ASP.NET (Mono) C# LGPL Yes Yes Yes Yes Yes Yes Yes Yes ? ? ?
Laravel Blade PHP MIT Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes
CheetahTemplate Python MIT Yes Yes Yes Yes Yes Yes Yes Yes No No Yes
CodeCharge Studio Classic ASP, C#, VB.NET, PHP, Perl, Java/JSP, ColdFusion Proprietary Yes Yes Yes Yes Yes Yes Yes No Yes Yes ?
ColdFusion CFML, CFScript Proprietary Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
CTPP C, C++, Perl, PHP, Python BSD-like Yes Yes Yes Yes Yes No No Yes No Yes No
Django Python BSD-like Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes
Epsilon Generation Language Java Eclipse Public License Yes Yes Yes Yes Yes Yes Yes Yes No Yes No
EJS JavaScript Various Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
eRuby Ruby GNU GPL / Ruby License Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
FreeMarker Java Apache Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
Genshi (templating language) Python BSD-like Yes Yes Yes Yes Yes Yes (Python) Yes Yes Yes Yes No
Go templates Go BSD Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Haml Ruby, PHP (WIP) MIT Yes Yes Yes Yes Yes Yes (Ruby) Yes Yes Yes No No
Hamlets Java BSD Yes Yes Yes Yes Yes No Yes Yes ? ? ?
JavaServer Pages Java CDDL + GNU GPL[1] Yes Yes Yes Yes Yes Yes Yes Yes ? Yes ?
Jinja Python BSD Yes Yes Yes Yes Yes Yes (Python) Yes No Yes No Yes
Jinja2 Python BSD Yes Yes Yes Yes Yes Yes (Python) Yes Yes Yes No Yes
Tera Rust MIT Yes Yes Yes Yes Yes No Yes Yes No No No
Kid Python MIT Yes Yes Yes Yes Yes Yes (Python) Yes Yes No Yes No
Lucee CFML LGPL Yes Yes Yes Yes Yes Yes (CFML) Yes Yes Yes Yes Yes
Mako Python MIT Yes Yes Yes Yes Yes Yes (Python) Yes Yes Yes No Yes
Mustache 30+ languages MIT Yes Yes Yes Yes Yes (foreach) No No Yes Yes Yes No
Open Power Template PHP 5 BSD-like Yes Yes Yes Yes Yes Yes (PHP) Yes Yes No Yes Yes
PHP PHP PHP License Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Pug JavaScript MIT[2] Yes Yes Yes Yes Yes Yes (JavaScript) Yes Yes No No Yes
Razor C#, F#, VB.NET Apache Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Smarty PHP LGPL Yes Yes Yes Yes Yes Yes (PHP) Yes Yes? Yes No Yes
Slim Ruby MIT[3] Yes Yes Yes Yes Yes Yes Yes Yes No No Yes
Template Attribute Language Various open source Yes Yes Yes Yes Yes Yes Yes Yes No Yes ?
Template Toolkit Perl, Python Perl Yes Yes Yes Yes Yes Yes (Perl) Yes Yes No No Yes
Thymeleaf Java Apache Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Twig PHP BSD Yes Yes Yes Yes Yes No Yes Yes Yes No Yes
web2py Python LGPL3 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
WebMacro Java Apache, GNU GPL Yes Yes Yes Yes Yes Yes Yes Yes ? ? ?
Engine (implementation)[a] Languages[b] License[c] Variables[d] Functions[e] Includes[f] Conditional inclusion[g] Looping[h] Evaluation (language)[i] Assignment[j] Errors and exceptions[k] i18n[l] Natural templates[m] Inheritance[n]


Cite error: There are <ref group=lower-alpha> tags or {{efn}} templates on this page, but the references will not show without a {{reflist|group=lower-alpha}} template or {{notelist}} template (see the help page).

  1. ^ JavaServer(TM) Pages Implementation
  2. ^ "pugjs/pug". GitHub. Retrieved 2021-05-17.
  3. ^ "slim-template/slim". Github. Retrieved 2021-05-17.