Jsonnet - The data templating language
Alternatives To Jsonnet
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Jsonnet6,2576126a day ago58December 21, 2021255apache-2.0Jsonnet
Jsonnet - The data templating language
Rabl3,6524,358685 months ago99May 30, 2021128mitRuby
General ruby templating with json, bson, xml, plist and msgpack support
Render1,7184232003 months ago13June 22, 2022mitGo
Go package for easily rendering JSON, XML, binary data, and HTML templates responses.
16 days ago3August 17, 202130mitC++
A Template Engine for Modern C++
Jb1,20934924 months ago12October 27, 202017mitRuby
A simple and fast JSON API template engine for Ruby on Rails
Treefrog Framework1,198
14 days agoDecember 09, 20173bsd-3-clauseC++
TreeFrog Framework : High-speed C++ MVC Framework for Web Application
St.js1,1141173 years ago5December 07, 201726mitJavaScript
JSON template over JSON
Ampersand8151325 years ago38September 22, 201516mitJavaScript
Quickest way to get started with ampersand.
React Landing Page Template812
2 months ago3mitJavaScript
A simple react one page landing page templates for startups/companies
4 years ago1May 15, 201793mitJavaScript
Complete solution for client side filtering and rendering using JSON data
Alternatives To Jsonnet
Select To Compare

Alternative Project Comparisons

Jsonnet - The data templating language

Build Status

For an introduction to Jsonnet and documentation, visit our website.

This repository contains the original implementation. You can also try go-jsonnet, a newer implementation which in some cases is orders of magnitude faster.

Visit our discussion forum.


Jsonnet is available on Homebrew:

brew install jsonnet

The Python binding is on pypi:

pip install jsonnet

You can also download and install Jsonnet using the vcpkg dependency manager:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./vcpkg integrate install
vcpkg install jsonnet

The Jsonnet port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Building Jsonnet

You can use either GCC or Clang to build Jsonnet. Note that on recent versions of macOS, /usr/bin/gcc and /usr/bin/g++ are actually Clang, so there is no difference.


To build Jsonnet with GCC, run:


To build Jsonnet with Clang, run:

make CC=clang CXX=clang++

To run the output binary, run:


To run the reformatter, run:



Bazel builds are also supported. Install Bazel if it is not installed already. Then, run the following command to build with GCC:

bazel build -c opt //cmd:all

To build with Clang, use one of these two options:

env CC=clang CXX=clang++ bazel build -c opt //cmd:all

# OR

bazel build -c opt --action_env=CC=clang --action_env=CXX=clang++ //cmd:all

This builds the jsonnet and jsonnetfmt targets defined in cmd/BUILD. To launch the output binaries, run:



cmake . -Bbuild
cmake --build build --target run_tests


See the contributing page on our website.

Developing Jsonnet

Running tests

To run the comprehensive suite:

make test

Locally serving the website

You need a doc/js/libjsonnet.wasm which can either be downloaded from the production website:

wget https://jsonnet.org/js/libjsonnet.wasm -O doc/js/libjsonnet.wasm

Or you can build it yourself, which requires checking out go-jsonnet. See the README.md in that repo for instructions.

Then, from the root of the repository you can generate and serve the website using Jekyll:


This should the website on localhost:8200, automatically rebuild when you change any underlying files, and automatically refresh your browser when that happens.

The standard library is documented in a structured format in doc/_stdlib_gen/stdlib-content.jsonnet. The HTML (input for Jekyll) is regenerated using the following command:

Popular Templates Projects
Popular Json Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.