Jsonitamenu-bar JSON toolkit

Paste.
Format.
Fix. Copy.

A tiny macOS & Windows utility that lives in your menu bar — format, minify, traverse, unwrap nested strings, and AI-fix invalid JSON without ever leaving your keyboard.

+ + J
From any app. Press the combo and Jsonita is there.
Format Minify Tree To String
1 2 3 4 5 6 7 8 9 10
{
  "service": "jsonita-api",
  "region": "us-west-2",
  "version": "1.0.0-beta.2",
  "replicas": 3,
  "features": {
    "aiFix": true,
    "telemetry": false
  },
  "tags": ["json", "menu-bar"]
}
Run format
valid · 10 lines · 236 bytes
< 500 ms
P95 show
< 80 MB
Memory steady
< 15 MB
Install size
100%
Local · AI opt-in
Features

The nine JSON chores you do every day — done.

No editors, no browser tabs, no CLI detours. Jsonita handles the boring transforms and gets out of the way.

Format & minify, the way you want them.

Indent 2 / 4 / tab, sort keys, trailing newline — configurable. Long lines auto-widen the panel so you actually read what you pasted.

  • Indent 2, 4, or tab; sort keys; trailing newline toggle
  • Smart-width: the panel expands for long lines, collapses for short ones
  • ⌘ ↵ copies the result; ⌘ \ toggles single-pane focus
Format Minify Tree To String
{
  "service": "jsonita-api",
  "region": "us-west-2",
  "replicas": 3
}
valid · formatted indent 2 · sort keys off

Tree view & nested unwrap.

Collapse arrays, spot types at a glance. Paste the Go/Python/Java proto double-wrap and Jsonita unwraps every layer in one shot — with a 60 s hard timeout so it can never hang you.

  • Read-only tree view with type-colored values
  • One-click unwrap of multiply-escaped stringified payloads
  • Optional auto-unwrap on paste for stringified input
Format Minify Tree To String
root {9}
service: "jsonita-api"
region: "us-west-2"
version: "1.0.0-beta.2"
replicas: 3
features {3}
aiFix: true
autoUnwrap: true
telemetry: false
tags [3]
"json"
valid · tree of 9 keys click a node to copy path

AI Auto-Fix, only when you ask for it.

Pasted something almost-JSON from a log or a Slack snippet? Jsonita shows the AI Fix tab — you click, it shows a diff, and you Accept. Nothing leaves your machine without you pressing that button.

  • OpenAI-compatible and Anthropic providers, your own API key
  • Local JSON validation before anything is shown to you
  • Diff preview · Cancel leaves your original text untouched
Format Minify Tree To String
AI Fix
{
- "name": "Jin
+ "name": "Jin",
"plan": "pro",
"tags": ["founder",
- ],
+ ]
}
Cancel Accept
Review AI Fix result

Private by default. No accounts. No cloud.

Everything lives on your machine: history, settings, window state, and your API key. AI only fires when you click AI Fix — and only sends the document you are looking at.

  • History and settings live locally — nothing syncs anywhere
  • Your API key stays on this machine, stored with restricted permissions
  • Logs redact JSON content, API keys, and AI prompts/responses
0accounts
0cloud
0telemetry

Your JSON never leaves this machine — unless you click AI Fix, and then only the document you're looking at, with your own key.

Install

Get Jsonita.

v1.0 beta · macOS primary, Windows beta.

macOS

Or install in one line with Homebrew:

brew install jinhuang712/jsonita/jsonita

Or grab the DMG manually:

  1. Download the .dmg, open it and drag Jsonita.app into /Applications.
  2. Launch once (right-click → Open the first time), then press ++J anywhere.
Download macOS .dmg ↓
macOS 11 Big Sur or later · arm64 · ~4 MB
Unsigned beta: right-click → Open on first launch (signing lands in v1.1)
Windows
  1. Download the .exe installer from GitHub Releases.
  2. Run it — per-user install, no UAC, no admin needed.
  3. Press CtrlShiftJ from any app.
Download Windows .exe ↓
Windows 10 or later · x86_64 · unsigned beta ·
compiled and verified on GitHub Actions CI