Local-first JSON/CSV/YAML/XML conversion for developers. No server, no telemetry, deterministic output.
Input → Transform → Output
↑ ↑ ↓
CSV Validate TypeScript
XML Format Schema
YAML Repair Tree View
Use it in 10 seconds:
- Open mackan.eu/tools/json
- Paste your data
- Click convert
No signup. No installation. Works offline after first load.
Input:
name,role,active
Alice,admin,true
Bob,user,falseOutput:
[
{"name": "Alice", "role": "admin", "active": true},
{"name": "Bob", "role": "user", "active": false}
]Input:
{"id": 1, "name": "Product", "price": 29.99, "tags": ["sale"]}Output:
interface Root {
id: number;
name: string;
price: number;
tags: string[];
}Input:
{name: 'Alice', active: true,} // single quotes + trailing commaOutput:
{"name": "Alice", "active": true}| Operation | Input | Output | Notes |
|---|---|---|---|
| CSV | CSV, TSV | JSON | Auto-detect delimiter, transpose |
| JSON | CSV | Array-of-objects export | |
| XML | XML | JSON | Preserves attributes |
| JSON | XML | Configurable output | |
| YAML | YAML | JSON | YAML 1.2 compliant |
| JSON | YAML | Flow/block style | |
| Format | JSON | JSON | Beautify, minify, sort keys |
| Validate | JSON | Report | Syntax + schema validation |
| Repair | Broken JSON | Valid JSON | Trailing commas, quotes, comments |
| Diff | 2× JSON | Diff | Visual comparison |
| Query | JSON | Subset | JSONPath expressions |
| Schema | JSON | JSON Schema | Draft-07 |
| Transform | JSON | TS/Go/Python | Interfaces, structs, dataclasses |
| Utilities | String | String | Base64, URL encode, escape |
| Tree | JSON | Tree view | Interactive navigation |
| Concern | Server-based | JSON Toolbox |
|---|---|---|
| Data privacy | Sent to third party | Never leaves browser |
| PII/PHI handling | Compliance risk | No compliance burden |
| Offline | Requires internet | Works offline |
| Speed | Network latency | Instant |
| Determinism | Server may change | Same input = same output |
| Enterprise | May violate policy | IT-approved friendly |
When to use JSON Toolbox:
- Converting production data exports with PII
- Working with API keys or credentials
- Processing proprietary business data
- Air-gapped or regulated environments
- Needing reproducible, auditable output
Press ? to view all shortcuts.
| Shortcut | Action |
|---|---|
? |
Show shortcuts |
Ctrl+Enter |
Run operation |
Ctrl+1-9 |
Switch tabs |
Ctrl+Shift+C |
Copy output |
JSON Toolbox works fully offline after initial page load.
For air-gapped environments:
- Load page once with internet
- All resources cached locally
- Disconnect — tool continues working
Disable analytics entirely:
<script>window.ANALYTICS_DISABLED = true;</script>Or download this repo and self-host.
Is my data sent anywhere?
No. All processing happens in your browser. User data never leaves your machine.
Can I use this with PII/PHI/sensitive data?
Yes. JSON Toolbox is designed for regulated workloads. Data stays local, no compliance burden.
What about analytics/telemetry?
Telemetry: None. No user tracking, no identifiers, no fingerprinting.
Analytics: Optional aggregate usage stats (which tabs are used). Cookieless, self-hosted, respects DNT. Disable with ANALYTICS_DISABLED = true.
Does it work offline?
Yes. After first load, all features work without internet. No external dependencies at runtime.
What dependencies does it use?
Self-hosted only (no CDN):
- PapaParse — CSV parsing
- js-yaml — YAML parsing
- jsonrepair — JSON fixing
- Lucide — Icons
No frameworks, no build systems, no external services.
Can I self-host this?
Yes. Clone this repo, serve statically. Set ANALYTICS_DISABLED = true for full air-gap.
JSON Toolbox follows the Deterministic Developer Utility pattern:
- Local execution — No network calls during operation
- Deterministic output — Same input → same output, always
- Zero onboarding — Paste, click, done
- No side effects — Nothing installed without consent
- Keyboard-first — Full operation via shortcuts
This is a tool, not a service.
- Zero telemetry (no user tracking)
- Optional aggregate analytics (cookieless, self-hosted, opt-out)
- No cookies
- User data never transmitted
- Allowed: Local-only capability libraries
- Disallowed: Frameworks, CDNs, external services
- WCAG AA contrast (≥4.5:1)
- Full keyboard navigation
- Screen reader compatible
See SECURITY.md for full security model.
JSON Toolbox is part of the mackan.eu developer utility suite — a collection of deterministic, privacy-first tools:
| Tool | Purpose | Status |
|---|---|---|
| JSON Toolbox | Data conversion & manipulation | v1.0.0 |
| Password Generator | Cryptographic passwords | Available |
| Image Converter | Local format conversion | Available |
| Coordinate Converter | GPS transformation | Available |
Suite philosophy: Local execution, zero telemetry, deterministic output.
├── index.php Main page
├── lang.php i18n strings (sv/en)
├── script.js Core logic, shortcuts
├── style.css Design system
├── modules/ 13 capability modules
│ ├── csv.js, xml.js, yaml.js, css.js
│ ├── format.js, validate.js, fix.js
│ ├── diff.js, query.js, schema.js
│ └── transform.js, utilities.js, tree.js
├── vendor/ Self-hosted libraries
├── docs/ QA reports, design docs
└── SECURITY.md Security policy
See CONTRIBUTING.md for guidelines.
TL;DR: PRs welcome. No new dependencies. No telemetry. Preserve local-only execution.
Version: 1.0.0
URL: mackan.eu/tools/json
Source: github.com/retea-se/json