Hand-writing ergonomics
Trailing commas, comments, and optional quotes for keys.
A human-friendly extension of JSON with quality-of-life improvements, extra types, and semantic identifiers.
Trailing commas, comments, and optional quotes for keys.
Tuples, bytes, raw strings, Temporal, and proper integer support.
Identifiers provide readability, debuggability, and optional validation.
Every valid JSON file is automatically valid Duper.
Duper excels in a variety of use cases:
| Feature | Duper | JSON | JSON5 | YAML | TOML | RON |
|---|---|---|---|---|---|---|
| Comments | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Trailing commas | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Unquoted keys | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Integers | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
| Tuples | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Bytes | ✅ | ❌ | ❌ | ✅[1] | ❌ | ✅ |
| Date and time | ✅[2] | ❌ | ❌ | ✅ | ✅ | ❌ |
| Raw strings | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
| Identifiers/tags | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ |
| Unambiguous | ✅ | ✅ | ✅ | ❌[3] | ⚠️[4] | ✅ |
| Simple | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| JSON-compatible | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Popular | ❌ | ✅ | ⚠️ | ✅ | ✅ | ⚠️ |
!!binary scalar type; limited support in implementations.