
A native JSON viewer and editor for iPhone, iPad and Mac.
Answers to common questions are below.
An editor for JSON documents, built around the things you actually do all day
with JSON: find the value, copy its path, copy the branch, and work out what a
field really contains. Everything you open and save is an ordinary
.json file — there is no project format and nothing to import. The
app is written natively for Apple platforms: there is no web view inside it, and
it needs no account and no internet connection.
The document is shown two ways, and both are the same file. The tree is for reading and restructuring, the source for fixing what does not parse, and split shows them side by side. On Mac the three sit in the segmented control at the left of the toolbar; on iPhone and iPad they are at the top of the "…" menu. Split needs width, so it is offered on Mac and iPad but not on iPhone.
Select a node and the inspector shows its path in every notation at once — dot, JSONPath, brackets, jq, Swift subscript and JSON Pointer — each with its own copy button. If you always want the same one, set it as Path notation in Settings: then Copy path in a row's menu is a single tap, and Copy path as still offers the rest.
A row's menu is a right-click on Mac and a long press on iPhone and iPad.
Copy value in the row's menu. On an object or an array the same command copies the entire subtree, formatted, and Copy minified copies it on one line. There is also Copy key, and Copy key and value, which gives you the pair ready to paste into a neighbouring object.
Because a copied id usually goes straight into a request, where the quotes are always in the way. If you would rather have the JSON literal, turn off Copy strings without quotes in Settings.
In the "…" menu in the toolbar. Its Document section holds Format, Minify, Sort keys, Expand embedded JSON, Remove empty values and Remove duplicate keys — plus Convert JSON Lines into an array, which appears only when the text actually is JSON Lines.
Tools holds Query, Summary, Compare, Generate types and Decode a token; on Mac they have their own toolbar button, on iPhone and iPad they are a section of the same "…" menu.
It still opens — that is usually why you opened an editor at all. The status bar at the bottom reports the problem with a line and a column, and tapping it jumps to that spot in the source. Syntax colouring keeps working on a broken document, which is exactly when it helps most: a string that stays green past where it should have ended shows you the missing quote.
Duplicate keys. JSON permits the same key twice in one object and most parsers
quietly keep one of them; here every occurrence gets its own row, marked with its
number — 1/2, 2/2 — so you can see which value is which.
An object that contains duplicates is marked as well, so you notice them without
expanding it, and the inspector explains the finding for the selected key.
To resolve them, use Remove duplicate keys in the "…" menu; it keeps the last occurrence, which is what most parsers would have given you.
It recognises what the value really is and says so next to it: Unix timestamps become a readable date, JWT tokens are decoded with their expiry checked, base64 is decoded when the result is readable text, and ISO 8601 dates and URLs are named as such. It also shows string length in characters and bytes, and flags integers beyond 253 — the usual reason an id breaks in JavaScript.
No. The token is decoded so you can read its header and payload; verifying the signature would need the issuer's key, so the app does not pretend to do it, and says so on screen. Decoding happens on your device, and nothing is sent anywhere.
Cmd+F on Mac, the magnifier in the toolbar on iPhone and iPad. You can search keys, values or both, with case sensitivity and whole-value matching. Branches that contain a match expand themselves and everything else is hidden, so the result is a tree of just the matches and the path to them. Closing the search brings the whole document back.
Show only this branch in the row's menu narrows the tree to that subtree until you leave it. For the opposite problem — a document that opens too far expanded, or not far enough — the Tree section of the "…" menu has Expand all, Collapse all and Expand to level 1–6, and Settings decides how many levels a document opens with.
Because the text is the source of truth and the tree is its parse. A file you have not touched is saved back byte for byte — foreign indentation, key order and all. But an edit made in the tree has to be written out again, and it is written with your own indentation setting. That is a fair trade, and it is one undo step if you want it back.
Yes — turn on Allow comments and trailing commas in Settings, and
single quotes and unquoted keys are accepted too. It is off by default on purpose:
a JSON editor should say plainly whether a file is valid JSON, and switching it on
is a deliberate choice made by someone working with .jsonc or with
fragments of a log.
.json, .jsonc, .jsonl and
.ndjson, and .geojson. A file opened as any of them is
saved back in place, so there is no forced "Save as".
On Mac, JSON Master registers itself as a handler for .json. If your
files still open in another app, select one in Finder, press Cmd+I, and under
Open with choose JSON Master and click Change All.
Wherever you save them. JSON Master is a standard document-based app, so it uses the system file picker: Files on iPhone and iPad, Finder on Mac, including iCloud Drive and any other provider you have connected. On iPhone and iPad, the app's own folder is under Browse → On My iPhone (or iPad) → JSON Master.
Export in the "…" menu writes formatted JSON,
minified JSON, or a CSV table; Copy document next to it puts the
whole text on the clipboard. CSV needs the document to be an array of objects —
nested objects become address.city columns and arrays stay as JSON in
the cell. If the shape is not a table, the app says so instead of inventing
columns.
On Mac it is Cmd+, or the JSON Master menu; on iPhone and iPad it is at the bottom of the "…" menu. It holds the interface language, the default path notation and unquoted copying, indentation, non-ASCII escaping and lenient parsing, and the appearance switches: type icons, count badges, scanlines, font size and how many levels a document opens with.
Cmd+F for search, Cmd+Z and Shift+Cmd+Z for undo and redo, Shift+Cmd+I to format the document, and Cmd+, for Settings on Mac. They work on iPad with a hardware keyboard too.
The amber palette is the app's identity rather than a preference, so it ignores the system theme; a light variant is impossible by design, because amber on white is unreadable. What you can change is the rest of the look: the Scanlines overlay is there if you want the full screen effect — off by default, since it costs a little text contrast — and the monospaced type scales from 9 to 22 points.
Yes. The app is available in English, German, French, Ukrainian, Spanish, Japanese and Portuguese. By default it follows your device language (falling back to English); you can change it any time in Settings, and it applies immediately without a restart.
No. The app works entirely offline and makes no network requests at all.
iPhone or iPad with iOS or iPadOS 18 or later, or a Mac with macOS 15 or later.
Didn't find your answer, found a document that behaves oddly, or want a tool the
app doesn't have yet? Write to us — we read everything, and a sample
.json file attached to your message helps enormously.
Email:
volodymyr.sichka@gmail.com