docs/ecosystem/implementations.md
TOON has official and community implementations across multiple programming languages. All implementations are intended to conform to the same Specification to ensure compatibility and interoperability.
The code examples throughout this documentation site use the TypeScript implementation by default, but the format and concepts apply equally to all languages.
[!NOTE] When implementing TOON in other languages, please follow the spec to ensure compatibility across implementations. The conformance tests provide language-agnostic test fixtures that validate your implementation.
These implementations are actively being developed by dedicated teams. Contributions are welcome! Join the effort by opening issues, submitting PRs, or discussing implementation details in the respective repositories.
| Language | Repository | Status | Maintainer |
|---|---|---|---|
| .NET | toon-dotnet | In Development | Official Team |
| Dart | toon-dart | In Development | Official Team |
| Go | toon-go | In Development | Official Team |
| Java | toon-java | ✅ Stable | Official Team |
| Julia | ToonFormat.jl | ✅ Stable | Official Team |
| Python | toon-python | ✅ Stable | Official Team |
| Rust | toon-rust | ✅ Stable | Official Team |
| Swift | toon-swift | ✅ Stable | Official Team |
| TypeScript/JavaScript | toon | ✅ Stable | Official Team |
Community members have created implementations in additional languages:
| Language | Repository | Maintainer |
|---|---|---|
| Apex | ApexToon | @Eacaw |
| C | TOONc | @UsboKirishima |
| C++ | ctoon | @mohammadraziei |
| C# | ToonEncoder | @Cysharp |
| Clojure | toon | @vadelabs |
| Crystal | toon-crystal | @mamantoha |
| Elixir | toon_ex | @kentaro |
| Gleam | toon_codec | @axelbellec |
| Go | gotoon | @alpkeskin |
| Java | json-io | @jdereg |
| Kotlin | ktoon | @lukelast |
| Laravel Framework | laravel-toon | @mischasigtermans |
| Lua/Neovim | toon.nvim | @thalesgelinger |
| OCaml | ocaml-toon | @davesnx |
| Perl | Data::TOON | @ytnobody |
| PHP | toon-php | @HelgeSverre |
| R | toon | @laresbernardo |
| Ruby | toon-ruby | @andrepcg |
| Scala | toon4s | @vim89 |
| Python (Rust backend) | toons | @alesanfra |
Building a TOON implementation for a new language? Great! Here are some steps to get started: