Thymeleaf is a Java library. It is an XML/XHTML/HTML5 template engine able to apply a set of transformations to template files in order to display data and/or text produced by your applications.
It is better suited for serving XHTML/HTML5 in web applications, but it can process any XML file, be it in web or in standalone applications.
It also includes a special (optional) module for integration with Spring MVC, so that you can use it instead of JSP in your applications made with this technology, even with HTML5.
The main goal of Thymeleaf is to provide an elegant and well-formed way of creating templates. Its Standard Dialect allows you to create powerful templates that can still work at the same time as static prototypes, and you are also allowed to create your own dialects for applying your own transformations and logic to templates.
Its architecture allows a fast processing of templates, relying on intelligent caching of parsed files in order to use the least possible amount of I/O operations during execution.
And last but not least, Thymeleaf has been designed from the beginning with XML and Web standards in mind, allowing you to create fully validating templates if that is a need for you.
Thymeleaf is Open Source Software, and it is distributed under the terms of the Apache License 2.0.