Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ATD project - Static Types for Json APIs


ATD stands for Adaptable Type Definitions. It is a syntax for defining cross-language data types. It is used as input to generate efficient and type-safe serializers, deserializers and validators.

Target languages currently supported:

All can installed with opam e.g.

$ opam install atdgen




The ATD suite of tools is developed and maintained by volunteers—users like you. Various issues are in need of attention. If you'd like to contribute, please leave a comment on the issue you're interested in, or create a new issue. Experienced contributors will guide you as needed.

There are many simple ways of making a positive impact. For example, you can...

  • Use the software in your project.
  • Give a demo to your colleagues.
  • Share the passion on your blog.
  • Tweet about what you're doing with atd.
  • Report difficulties by creating new issues. We'll triage them.
  • Ask questions on StackOverflow.
  • Answer questions on StackOverflow.
  • Discuss usage on the OCaml forums.
  • Pick a task that's easy for you.

Check out in particular good first time issues and other issues with which we could use some help.

For guidelines on how to contribute code, consult


The ATD project started in 2010. Contributors include:

  • Martin Jambon
  • Rudi Grinberg
  • Ivan Jager
  • David Sheets
  • Jeff Meister
  • Carmelo Piccione
  • oleksiy
  • Louis Roché
  • Daniel Weil
  • Egor Chemokhonenko
  • Gabriel Scherer
  • Raman Varabets
  • tzm
  • Mathieu Baudet
  • Oleksiy Golovko
  • Rauan Mayemir
  • John Billings
  • Brendan Long
  • Caio Wakamatsu
  • Chris Yocum
  • Pierre Boutillier
  • Shon Feder
  • Anurag Soni
  • Arjun Ravi Narayan
  • Asya-kawai
  • Christophe Troestler
  • Damien Doligez
  • Daniel M
  • François Pottier
  • Javier Chavarri
  • Stephane Legrand
  • Vincent Bernardoff
  • haoyang
  • pmundkur
  • ygrek

We distribute the source code under the terms of a BSD license.