Converting JSON to TOON in 5 Simple Steps

Mobeen Abdullah
Mobeen Abdullah
November 10, 2025
8 min read

A beginner-friendly guide to converting JSON to TOON format. Learn the process in 5 easy steps with practical examples and common pitfalls to avoid.

Ready to start saving on your LLM API costs? Converting JSON to TOON is easier than you think. Follow these 5 simple steps to transform your data and start seeing immediate token reductions.

What You'll Learn

By the end of this guide, you'll be able to:

  • Convert any JSON structure to TOON format
  • Understand the transformation rules
  • Avoid common conversion mistakes
  • Validate your converted data
  • Use conversion tools effectively

Before You Start

Prerequisites:

  • Basic understanding of JSON
  • A JSON file to convert
  • 10 minutes of your time

Tools Needed:

  • Text editor (VS Code, Sublime, or any editor)
  • Optional: Online TOON converter for validation

Let's dive in!

Step 1: Remove Curly Braces

The first and most visible change is eliminating curly braces.

JSON Structure

{  
  "name": "Alice",  
  "age": 30  
}  



Action: Remove Braces

"name": "Alice",  
"age": 30  

Rule: Delete the opening { and closing } from your object.

Why: TOON uses indentation to show structure, making braces unnecessary.

For Nested Objects

JSON:

{  
  "user": {  
    "name": "Bob"  
  }  
}  

Step 1 Result:

"user": {  
  "name": "Bob"  
}  

We'll handle the nested braces in later steps.

Step 2: Remove Quotes from Keys

Keys in TOON don't need quotation marks.

Starting Point

"name": "Alice",  
"age": 30  

Action: Remove Key Quotes

name: "Alice",  
  
age: 30  

Rule: Remove quotes around keys, but keep quotes around string values (for now).

Multiple Keys Example

Before:

"firstName": "John",  
"lastName": "Doe",  
"email": "john@example.com"  

After:

firstName: "John",  
  
lastName: "Doe",  
  
email: "john@example.com"  

Pro Tip: If a key contains special characters or spaces, you may need to keep quotes, but this is rare.

Step 3: Clean Up Value Formatting

Now let's handle values and remove unnecessary punctuation.

Remove Commas Between Lines

name: "Alice",  
  
age: 30  

Becomes:

name: "Alice"  
  
age: 30  

Rule: Each key-value pair goes on its own line. Commas are no longer needed.

Simplify String Values

For simple strings without spaces or special characters:

Before:

name: "Alice"  
  
status: "active"  

After:

name: Alice  
  
status: active  

When to Keep Quotes:

  • Strings with spaces: title: "Hello World"
  • Strings with special characters: message: "Say "Hi""
  • Numbers as strings: id: "12345" (if ID should remain a string)

Handle Other Data Types

Numbers (stay the same):

age: 30  
  
price: 29.99  

Booleans (stay the same):

isActive: true  
  
isVerified: false  

Null (stays the same):

middleName: null  

Step 4: Convert Nested Structures

Nested objects use indentation instead of braces.

Simple Nesting

JSON:

{  
  "user": {  
    "name": "Bob",  
    "age": 25  
  }  
}  

TOON:

user:  
  
  name: Bob  
  
  age: 25  

Rule:

  1. Remove braces from nested objects
  2. Add 2 spaces of indentation for nested content
  3. Parent key ends with a colon

Deep Nesting (3 Levels)

JSON:

{  
  "company": {  
    "department": {  
      "name": "Engineering",  
      "size": 50  
    }  
  }  
}  

TOON:

company:  
  
  department:  
  
    name: Engineering  
  
    size: 50  

Each nesting level = 2 more spaces of indentation

Mixed Nesting

JSON:

{  
  "user": {  
    "name": "Alice",  
    "contact": {  
      "email": "alice@example.com",  
      "phone": "555-0100"  
    }  
  },  
  "status": "active"  
}  

TOON:

user:  
  
  name: Alice  
  
  contact:  
  
    email: alice@example.com  
  
    phone: 555-0100  
  
status: active  

Note: The status key is at the root level (no indentation) because it's not nested under user.

Step 5: Handle Arrays Properly

Arrays require special attention in TOON.

Simple Arrays

JSON:

{  
  "colors": ["red", "green", "blue"]  
}  

TOON:

colors: [red, green, blue]  

Rule: Simple arrays stay in bracket notation. Remove quotes if values are simple strings.

Arrays of Primitive Values

Numbers:

scores: [95, 87, 92, 88]  

Mixed Types:

data: [42, true, null, "text"]  

Arrays of Objects

This is where TOON really shines:

JSON:

{  
  "users": [  
    {  
      "id": 1,  
      "name": "Alice"  
    },  
    {  
      "id": 2,  
      "name": "Bob"  
    }  
  ]  
}  

TOON:

users:  
  - id: 1  
  
    name: Alice  
  - id: 2  
  
    name: Bob  

Rule:

  1. Each array item starts with a dash (-)
  2. Dash is at the indentation level of the array content
  3. Object properties are indented 2 spaces from the dash

Complex Array Example

JSON:

{  
  "teams": [  
    {  
      "name": "Engineering",  
      "members": [  
        {  
          "name": "Alice",  
          "role": "Lead"  
        },  
        {  
          "name": "Bob",  
          "role": "Developer"  
        }  
      ]  
    }  
  ]  
}  

TOON:

teams:  
  - name: Engineering  
  
    members:  
      - name: Alice  
  
        role: Lead  
      - name: Bob  
  
        role: Developer  

Empty Arrays

JSON:

{  
  "items": []  
}  

TOON:

items: []  

Rule: Empty arrays remain as []

Complete Conversion Example

Let's put it all together with a realistic example.

Original JSON

{  
  "id": 12345,  
  "user": {  
    "firstName": "John",  
    "lastName": "Doe",  
    "email": "john@example.com",  
    "age": 30,  
    "isVerified": true  
  },  
  "preferences": {  
    "theme": "dark",  
    "notifications": {  
      "email": true,  
      "push": false  
    }  
  },  
  "tags": ["developer", "javascript", "nodejs"],  
  "projects": [  
    {  
      "id": 1,  
      "name": "Website Redesign",  
      "status": "active"  
    },  
    {  
      "id": 2,  
      "name": "Mobile App",  
      "status": "completed"  
    }  
  ]  
}  

Step-by-Step Transformation

After Step 1 (Remove braces at root):

"id": 12345,  
"user": {  
  "firstName": "John",  
  ...  
},  
...  

After Step 2 (Remove key quotes):

id: 12345,  
user: {  
  firstName: "John",  
  ...  
},  
...  

After Step 3 (Clean formatting):

id: 12345  
user: {  
  firstName: John  
  lastName: Doe  
  email: john@example.com  
  age: 30  
  isVerified: true  
}  
preferences: {  
  theme: dark  
  notifications: {  
    email: true  
    push: false  
  }  
}  
tags: [developer, javascript, nodejs]  
projects: [  
  {  
    id: 1  
    name: Website Redesign  
    status: active  
  },  
  {  
    id: 2  
    name: Mobile App  
    status: completed  
  }  
]  

After Step 4 (Convert nesting):

id: 12345  
user:  
  firstName: John  
  lastName: Doe  
  email: john@example.com  
  age: 30  
  isVerified: true  
preferences:  
  theme: dark  
  notifications:  
    email: true  
    push: false  
tags: [developer, javascript, nodejs]  
projects: [  
  {  
    id: 1  
    name: Website Redesign  
    status: active  
  },  
  {  
    id: 2  
    name: Mobile App  
    status: completed  
  }  
]  

After Step 5 (Fix arrays - Final TOON):

id: 12345  
  
user:  
  
  firstName: John  
  
  lastName: Doe  
  
  email: john@example.com  
  
  age: 30  
  
  isVerified: true  
  
preferences:  
  
  theme: dark  
  
  notifications:  
  
    email: true  
  
    push: false  
  
tags: [developer, javascript, nodejs]  
  
projects:  
  - id: 1  
  
    name: Website Redesign  
  
    status: active  
  - id: 2  
  
    name: Mobile App  
  
    status: completed  

Token Count:

  • JSON: ~245 tokens
  • TOON: ~135 tokens
  • Reduction: 45%

Common Mistakes and How to Fix Them

Mistake 1: Inconsistent Indentation

❌ Wrong:

user:  
  
 name: John  
  
   age: 30  

✅ Correct:

user:  
  
  name: John  
  
  age: 30  

Fix: Use exactly 2 spaces per indentation level consistently.

Mistake 2: Forgetting Colons

❌ Wrong:

user  
  
  name: John  

✅ Correct:

user:  
  
  name: John  

Fix: Parent keys always end with a colon.

Mistake 3: Wrong Array Syntax

❌ Wrong:

items:  
  1, 2, 3  

✅ Correct:

items: [1, 2, 3]  

Fix: Simple arrays use bracket notation.

Mistake 4: Incorrect Dash Placement

❌ Wrong:

users:  
- id: 1  
  
  name: Alice  

✅ Correct:

users:  
  - id: 1  
  
    name: Alice  

Fix: Dash should be indented at the level of array content.

Mistake 5: Over-Quoting

❌ Wrong:

name: "John"  
  
age: "30"  
  
status: "active"  

✅ Correct:

name: John  
  
age: 30  
  
status: active  

Fix: Only quote strings that need it (with spaces/special characters).

Quick Reference Cheat Sheet

Basic Transformations

JSONTOONNotes
{"key": "value"}key: valueRemove braces, quotes
{"key": 123}key: 123Numbers unchanged
{"key": true}key: trueBooleans unchanged
{"key": null}key: nullNull unchanged

Nesting

JSONTOON
{"a": {"b": "c"}}a:<br> b: c

Arrays

JSONTOON
{"arr": [1, 2]}arr: [1, 2]
{"arr": [{"id": 1}]}arr:<br> - id: 1

Validation Checklist

Before using your TOON file, verify:

  •  All braces removed
  •  Keys have no quotes
  •  Consistent indentation (2 spaces)
  •  Parent keys end with colons
  •  Arrays use correct syntax
  •  Values properly formatted
  •  No trailing commas
  •  Nested structures properly indented

Using Conversion Tools

For large files or production use, automated tools are recommended:

Benefits:

  • ⚡ Instant conversion
  • ✅ Error-free syntax
  • 📊 Token count comparison
  • 🔄 Batch processing

When to Use:

  • Large JSON files (>100 lines)
  • Production deployments
  • Time-sensitive projects
  • Team collaborations

Next Steps

Now that you know how to convert JSON to TOON:

  1. Practice with your own JSON files
  2. Measure your token savings
  3. Test with your LLM applications
  4. Deploy to production gradually
  5. Monitor your cost reductions

Conclusion

Converting JSON to TOON is straightforward:

  1. ✅ Remove curly braces
  2. ✅ Remove quotes from keys
  3. ✅ Clean up formatting
  4. ✅ Use indentation for nesting
  5. ✅ Handle arrays correctly

With practice, these conversions become second nature. Start small, validate your work, and scale up as you gain confidence.

Token savings of 30-60% await!


Ready to convert? Try our free online JSON to TOON converter and see your token savings instantly.

Mobeen Abdullah
Mobeen Abdullah
Content Creator & Tech Enthusiast

Start Optimizing Your LLM Token Usage Today

Ready to reduce your LLM API costs by 30-60%?

No signup, no installation, no cost — just better token efficiency.