Skip to content


Repository files navigation

Djinni Generator

CI GitHub release (latest by date) GitHub all releases

➡️ Documentation:

Djinni is a tool for generating cross-language type declarations and interface bindings. It's designed to connect C++ with either Java or Objective-C.

Djinni generator parses an interface definition file and generates:

  • C++ implementations of types (enums, records)
  • Java implementations of types
  • Objective-C implementations of types
  • Python implementation of types
  • C++/CLI implementation of types
  • C++ code to convert between C++ and Java over JNI
  • C++ code to serialize/deserialize types to/from JSON
  • Objective-C++ code to convert between C++ and Objective-C
  • Python and C code to convert between C++ and Python over CFFI
  • C++/CLI code to convert between C++ and C#


Djinni requires Java to be able to execute!

Linux, macOS


GitHub release (latest by date)

Install with asdf

asdf plugin add djinni
asdf install djinni latest

MacOS homebrew

Add the tap:

brew tap cross-language-cpp/brew

Install the djinni generator:

brew install djinni


GitHub release (latest by date)


The generator is available at conan-center for Windows, Linux & macOS.

Add the generator/version as a build requirement in conanfile.txt:


Please adopt the version number as wanted, e.g. djinni-generator/1.3.2


Thanks goes to these contributors!

The code in this repository is in large portions copied from dropbox/djinni which was created by

  • Kannan Goundan
  • Tony Grue
  • Derek He
  • Steven Kabbes
  • Jacob Potter
  • Iulia Tamas
  • Andrew Twyman