ORIGINAL REDDIT POST

I turned my Safari JSON extension into a native JSON viewer for Mac (and iPhone/iPad)

Problem JSON is everywhere: API responses, logs, configs, exports. Reading it raw is painful, and macOS has no built-in way to open a .json file and actually browse it. JSON Brace started as a Safari extension that turns raw JSON on a page into a collapsible…

Original postr/macapps

Problem JSON is everywhere: API responses, logs, configs, exports. Reading it raw is painful, and macOS has no built-in way to open a .json file and actually browse it. JSON Brace started as a Safari extension that turns raw JSON on a page into a collapsible tree. 3.0 makes it a real app. On the Mac: Open any .json file and explore it as a tree Quick Look: hit Space on a JSON file in Finder and you get the formatted tree Tabs, so you can keep several documents open at once 19 hand-tuned themes The Safari extension is still there and ships with the app. New renderer is virtualized and this is what keeps big documents from locking up the window. Comparison Structly is free and does a good job in Safari (JSON Path queries, YAML/CSV export). But it's extension-only. No standalone app, no Quick Look, no tabs, no previews. Curly is also free, but it's an iPhone/iPad extension. Its own App Store page says "not verified for macOS". JSON Brace is a Mac app first, extension second. Pricing The core is free: formatting, tree navigation, search, and copying the document. Pro adds the full theme collection, inline previews, expansion depth control, saving to a file, and copying any subtree, key, or path. One-time purchase ($4.99), no subscription. Family Sharing works. No servers, no accounts, no analytics. Everything is parsed on device. https://apps.apple.com/gb/app/json-brace-viewer-formatter/id6753739988

Collected discussion

13 comments

u/antonreshetov

Quick Look is the sleeper feature here. Finder's stock preview for .json is raw text, which is useless the second the file is minified — hitting Space and getting a collapsible tree is the kind of thing you'd use twenty times a day without thinking about it. Did you run into the Quick Look extension's memory/time limits on big files, or does it fall back to a truncated preview?

u/Pinpoint_userOP

Large files take longer to display, but I still use the truncated 50,000 line view. In the future, I plan to optimize work with large files, and this should also help with quick viewing.

u/antonreshetov

Honestly the right tradeoff. Quick Look is for a 2 second sanity check, and if I actually need line 10,001 I'm opening a real editor anyway.

u/Pinpoint_userOP

In fact, I use a hybrid approach: WebView with virtualization and Swift. This allows to open large files and work with them without any problems. I've also started optimization, which will help speed up the file opening process and reduce memory consumption. Even now, my app performs significantly better than many similar apps using Electron and is significantly smaller.

u/Pinpoint_userOP

By default macOS hands .json to the generic text previewer, so you see the file exactly as it's stored: no indentation, no colours, no line numbers. If the file is minified - that's one continuous wall of text. With the extension you get the same tree the app draws: indented, syntax-coloured, line-numbered, in whatever theme you've picked.

u/Pinpoint_userOP

Yes, it works

u/CharoiteAI

Virtualized tree over a WebView is a sensible middle ground — the DOM only ever holds what's visible, and you keep Safari's text rendering for free. The number I'd still put in the post is time-to-first-render on a file bigger than RAM comfort, say 200–500 MB. "Opens large files without problems" reads as marketing; "500 MB opens in N seconds, memory stays under M" reads as engineering, and it's exactly the line that separates you from the Electron pack you're competing with. If the parse is streaming, one sentence about it will do more for downloads than the size comparison.

u/CharoiteAI

Native JSON viewer is a real niche, most of them are Electron. What happens on a 200 MB log dump? Most viewers choke there because the whole file goes into memory before the tree draws anything. If you're already streaming the parse, say so in the post, it's the thing people like me check first.

u/LieAshamed2924

Can the iOS version open JSON straight from the Files share sheet, or do you have to import it first?

u/app-store-review

JSON Brace: Viewer & Formatter — by Sergei Rebrov Ratings: 2 worldwide Average: 3.00 ★ Age: released ~10 months ago · updated 10 days ago · rated 4+ Overall score: 12 / 100 Auto-generated from public App Store data · u/app-store-review

u/tl0gic

Nice looking app! For Terminal geeks you can also use: $ cat blah.json | jq jq is actually a really nice power-tool for JSON (https://jqlang.org/)

u/[deleted]

This comment was deleted.