sbsaga / toon
π§ TOON for Laravel β a compact, human-readable, and token-efficient data format for AI prompts & LLM contexts. Perfect for ChatGPT, Gemini, Claude, Mistral, and OpenAI integrations (JSON β TOON).
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 0
Forks: 3
Open Issues: 0
pkg:composer/sbsaga/toon
Requires
- php: >=8.1
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
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
- CLI Commands
- Integration Use Cases
- Compatibility
- Compression Visualization
- SEO & AI Integration Keywords
- License
β¨ Overview
TOON for Laravel β also known as Token-Optimized Object Notation β is a Laravel-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
π¬ βCompress your prompts, not your ideas.β
π 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 |
| βοΈ Seamless Laravel Integration | Built with Facades, Service Providers, and Artisan commands |
| π 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 |
π§ͺ 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 sbsaga/toon
Laravel automatically discovers the Service Provider and Facade.
βοΈ Configuration
php artisan vendor:publish --provider="Sbsaga\Toon\ToonServiceProvider" --tag=config
Creates a configuration file at config/toon.php:
return [ 'enabled' => true, 'escape_style' => 'backslash', 'min_rows_to_tabular' => 2, 'max_preview_items' => 200, ];
π§ Usage
β€ Convert JSON β TOON
use Sbsaga\Toon\Facades\Toon; $data = [ 'user' => 'Sagar', 'message' => 'Hello, how are you?', 'tasks' => [ ['id' => 1, 'done' => false], ['id' => 2, 'done' => true], ], ]; $converted = Toon::convert($data); echo $converted;
Output:
user: Sagar
message: Hello\, how are you?
tasks:
items[2]{done,id}:
false,1
true,2
β€ Convert TOON β JSON
$toon = <<<TOON user: Sagar tasks: items[2]{id,done}: 1,false 2,true TOON; $json = Toon::decode($toon); print_r($json);
β€ Estimate Tokens
$stats = Toon::estimateTokens($converted); print_r($stats);
Output:
{
"words": 20,
"chars": 182,
"tokens_estimate": 19
}
π§ͺ Quick Benchmark Route
use Illuminate\Support\Facades\Route; use Sbsaga\Toon\Facades\Toon; Route::get('/toon-benchmark', function () { $json = json_decode(file_get_contents(storage_path('app/users.json')), true); $jsonEncoded = json_encode($json, JSON_PRETTY_PRINT); $toonEncoded = Toon::convert($json); return response()->json([ 'json_size_bytes' => strlen($jsonEncoded), 'toon_size_bytes' => strlen($toonEncoded), 'saving_percent' => round(100 - (strlen($toonEncoded) / strlen($jsonEncoded) * 100), 2), 'json_content' => $jsonEncoded, 'toon_content' => $toonEncoded, ]); });
π 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%
π§° Artisan Commands
php artisan toon:convert storage/test.json php artisan toon:convert storage/test.toon --decode --pretty php artisan toon:convert storage/test.json --output=storage/result.toon
π§© Integration Use Cases
| Use Case | Benefit |
|---|---|
| π€ AI Prompt Engineering | Compress structured data for ChatGPT / LLMs |
| π Token Optimization | Reduce token usage and API costs |
| π§ Data Preprocessing | Streamline complex structured inputs |
| π§Ύ Logging & Debugging | More human-readable than JSON |
| π Developer Tools | Perfect for previews and compact dashboards |
π§° Compatibility
| Laravel | PHP | Package Version |
|---|---|---|
| 9.x β 12.x | β₯ 8.1 | v1.1.0+ |
π Example Compression Visualization
JSON (7.7 KB)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TOON (2.5 KB)
βββββββββββββββββ
π§ ~67% size reduction while retaining complete data accuracy.
π SEO & AI Integration Keywords
Keywords:
laravel ai, ai for laravel, chatgpt laravel, laravel chatgpt, gemini laravel, laravel gemini, laravel anthropic, laravel mistral, laravel openai, openai laravel, laravel llm, llm laravel, ai laravel package, prompt compression, token optimizer, laravel json formatter, compact notation, laravel data compressor, token saver, laravel ai integration, sbsaga toon, laravel-toon, toon php, laravel ai toolkit, openai cost optimizer, laravel ai efficiency, chatgpt laravel toolkit, ai-ready laravel package.
π‘ 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.
π§ βCompress your prompts, not your ideas.β β TOON helps you talk to AI efficiently.
