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)