TOON for TYPO3
Compact Β· Token-Efficient Β· Human-Readable Data Format for AI Prompts & LLM Contexts
π Table of Contents
- Overview
- Key Features
- Benchmark & Analytics
- Installation
- Configuration
- Usage
- Quick Benchmark Route
- Analytics & Visualization
- Integration Use Cases
- Compatibility
- Compression Visualization
- License
β¨ Overview
TOON for TYPO3 β also known as Token-Optimized Object Notation β is a TYPO3-native AI data optimization library that transforms large JSON or PHP arrays into a compact, readable, and token-efficient format.
Itβs crafted for developers working with ChatGPT, Gemini, Claude, Mistral, or OpenAI APIs, helping you: β Save tokens and reduce API costs β Simplify complex prompt structures β Improve AI response quality and context understanding β Maintain human readability and reversibility
π Key Features
| Feature | Description |
|---|---|
| π Bidirectional Conversion | Convert JSON β TOON with ease |
| π§© Readable & Compact | YAML-like structure, human-friendly format |
| π° Token-Efficient | Save up to 70% tokens on every AI prompt |
| π Preserves Key Order | Ensures deterministic data output |
| π Built-in Analytics | Measure token, byte, and compression performance |
| π AI & LLM Ready | Optimized for ChatGPT, Gemini, Claude, and Mistral models |
| π Complex Nested Array Support | Fully supports deeply nested associative and indexed arrays |
Complex & Nested Array Support
TOON now supports deeply nested and mixed data structures, including:
- Multi-level associative arrays
- Indexed collections inside objects
- Complex real-world structures like users, profiles, orders, metadata, and logs
This enhancement ensures that no structural information is lost, while still benefiting from TOONβs compact, token-efficient format.
Example: Nested Data Conversion
$data = [
'user' => [
'id' => 101,
'active' => true,
'roles' => ['admin', 'editor'],
'profile' => [
'age' => 32,
'location' => [
'city' => 'ABC',
'country' => 'India',
],
],
],
'orders' => [
[
'order_id' => 'ORD-1001',
'amount' => 1998,
'status' => 'paid',
],
],
];
echo \RRP\T3Toon\Service\Toon::convert($data);
This structure remains human-readable, reversible, and compact, even with deep nesting.
π§ͺ Real-World Benchmark
| Metric | JSON | TOON | Reduction |
|---|---|---|---|
| Size (bytes) | 7,718 | 2,538 | 67.12% smaller |
| Tokens (est.) | 1,930 | 640 | ~66.8% fewer tokens |
π Visual Comparison
JSON (7.7 KB)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TOON (2.5 KB)
βββββββββββββββββ
π‘ TOON reduces token load by 60β75%, improving AI efficiency, cost, and response quality.
βοΈ Installation
composer require rrp/t3-toon
βοΈ Configuration
π§ Usage
β€ Convert JSON β TOON
$data = [
'user' => 'ABC',
'message' => 'Hello, how are you?',
'tasks' => [
['id' => 1, 'done' => false],
['id' => 2, 'done' => true],
],
];
$converted = \RRP\T3Toon\Service\Toon::convert($data);
echo $converted;
Output:
user: ABC
message: Hello\, how are you?
tasks:
items[2]{done,id}:
false,1
true,2
β€ Convert TOON β JSON
$toon = <<<TOON
user: ABC
tasks:
items[2]{id,done}:
1,false
2,true
TOON;
$json = \RRP\T3Toon\Service\Toon::decode($toon);
print_r($json);
β€ Estimate Tokens
$stats = Toon::estimateTokens($converted);
print_r($stats);
Output:
{
"words": 20,
"chars": 182,
"tokens_estimate": 19
}
π Analytics & Visualization
| Metric | Description | Example |
|---|---|---|
json_size_bytes | Original JSON size | 7,718 |
toon_size_bytes | Optimized TOON size | 2,538 |
saving_percent | Space saved | 67.12% |
tokens_estimate | Estimated token count | 640 |
compression_ratio | Ratio (TOON/JSON) | 0.33 |
π§ Visual Graph (Efficiency Comparison)
| JSON: ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 100%
| TOON: ββββββββββββ 33%
π§© Integration Use Cases
| Use Case | Benefit |
|---|---|
| π€ AI Prompt Engineering | Compress structured data for LLMs |
| π Token Optimization | Reduce token usage and API costs |
| π§ Data Preprocessing | Streamline complex structured inputs |
| π§Ύ Logging & Debugging | Store compact, readable structured logs |
| ποΈ Database Storage Optimization | Reduce JSON storage size while preserving structure |
| π Developer Tools | Perfect for previews and compact dashboards |
π§° Compatibility
| TYPO3 | PHP | Package Version |
|---|---|---|
| 12.x β 13.x | β₯ 8 | v1.0.0 |
π Example Compression Visualization
JSON (7.7 KB)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TOON (2.5 KB)
βββββββββββββββββ
π§ ~67% size reduction while retaining complete data accuracy.
π‘ Contribution
Contributions are highly encouraged!
- Fork the repository
- Create a new feature branch
- Commit & push improvements
- Submit a Pull Request π
π License
Licensed under the MIT License β free for both commercial and personal use.
Made with π§‘ for TYPO3 community