A product by APERTURESyndicate
A modern, lightweight data format.
Simple for humans. Optimized for AI. Built for logic.
npm i @aperturesyndicate/synx pip install synx-format
Clean & Simple
Just key, space, value. No quotes, no commas, no braces. Indentation creates hierarchy — 2 spaces per level, always.
Active by Design
Add !active to unlock logic — read env variables, compute values with :calc, inherit blocks with :inherit, localize with :i18n. All built into the format itself.
How It Works
Two stages. Parsing is always fast — the engine only runs when you need it.
1
.synx file
Your config in plain text — key, space, value
→
2
Parser
Builds key-value tree, records markers as metadata
→
3
Engine
Resolves :env :calc :i18n …
only if !active
→
4
JS Object
Plain data — ready to use in your app
Auto engine switching — Node.js
Pure TypeScript < 5 KB zero startup overhead
or
Native Rust (NAPI) ≥ 5 KB compiled speed
Token Efficiency
110-key config, GPT-4 tokenizer. Every token costs money when you're talking to an LLM.
JSON
~3 300 chars ~980 tokens
YAML
~2 500 chars ~760 tokens
SYNX ✦
~2 000 chars ~580 tokens
40% fewer than JSON
Try It Live
Write SYNX, see JSON instantly. No server — runs entirely in your browser.
What makes SYNX different?
SYNX goes beyond simple key-value storage. Its syntax eliminates quotes and commas in favor of clean space-separated structures, drastically accelerating both creation and parsing. Its flagship !active mode unlocks programmable configs — read env variables, compute values, localize strings, and validate data — all from within the format itself.
Performance Benchmarks
Native Rust core with pure TypeScript fallback. Adding markers does not slow down parsing.
Rust core — criterion (110-key config, 2.5 KB)
Python — 10 000 iterations
Node.js — 50 000 iterations
Built Secure by Default
SYNX is a declarative config format — no code execution, no surprises.
No Code Execution
Purely declarative — no eval, no scripts, no dynamic imports. Parsing can never run arbitrary code.
Path Jail
All file references (!include, :watch) are locked to the working directory. ../ traversal is blocked at the parser level.
10 MB File Cap
Input files exceeding 10 MB are rejected immediately — preventing memory exhaustion from oversized configs.
Depth & Include Limits
Nesting capped at 64 levels. Recursive !include depth capped at 10 — circular includes are impossible.
Calc Expression Cap
:calc expressions are limited to 4 096 characters, preventing regex-based denial-of-service attacks.
Audit-Friendly
Plain text, human-readable format. Every config value is visible at a glance — no hidden binary state, no obfuscation.
LLM Benchmark
125 parse tests + 125 generation tests across 6 leading models.
gemini-2.0-flash
gemini-1.5-pro
claude-opus
claude-sonnet
gpt-4o
claude-haiku-4-5
Built with SYNX
Real projects running on SYNX in production.
Your project could be listed here. If you built something with SYNX, send us a short description at [email protected].