Features
ToonConverter delivers bidirectional conversion between TOON and 21+ data formats across 15 SDKs with zero external dependencies.
JSON
Lossless, base conversion pipeline
XML
Named elements = keys, <item> = arrays, xsi:nil = null
CSV (RFC 4180)
Multi-separator: , ; \t | — quoted fields, embedded newlines
EDI Fixed-Width
Field layout defined in TOON format, configurable pad/line endings
TSV
Tab-separated, delegates to CSV engine with tab lock
YAML
In-house zero-dep parser (block subset)
JSONC
Strip // + /* */ comments, then JSON pipeline
JSON5
Custom tokenizer (unquoted keys, hex, trailing commas)
SOAP
XML wrapper with namespace stripping, SOAP 1.1/1.2
GeoJSON
RFC 7946 validation, coordinates folded as JSON-string
KML
In-house XML parser with sibling grouping
GPX
XML arrays wrapper, lat/lon auto-parsed to numbers
LOG
Configurable regex pattern, template-based emission
Syslog
RFC 5424 + RFC 3164 auto-detection, PRI parsing
NPY
NumPy .npy binary format (NEP-1 v1.0)
FITS
Astronomy data format (FITS 4.0 primary HDU)
MAT v5
MATLAB binary file format (10 numeric classes)
DTA v118
Stata 14 binary format (5 numeric types)
RData
R RDS V2/V3 XDR binary serialization
SHP
ESRI Shapefile (5 2D shape types)
Direct serialization
Skip the JSON intermediate — serialize native objects directly to TOON.
| Language | Method | Description | Speed |
|---|---|---|---|
| TypeScript | toToon() | Direct via normalizeValue() | Optimal |
| Python | to_toon() | Direct with dataclass support | Optimal |
| Go | ToTOON() | Reflection with struct tags | Optimal |
| Rust | to_toon() | Serde zero-cost | Optimal |
| Java | toToonDirect() | Direct reflection (~40% faster) | ~40% faster |
| C# | ToToonDirect() | Direct reflection (~47% faster) | ~47% faster |
Configuration options
Encoder options
indent_size Indentation size (default: 2) strict Strict mode (default: true) key_folding "off" or "safe" (default: "off") default_delimiter comma / tab / pipe (default: comma) Decoder options
strict Strict mode (default: true) expand_paths "off" or "safe" (default: "off") indent_size Indentation size (default: 2)