JSON Editor

Developer: Vlad Badea

Current Version: 1.32

Last Updated: 5 months ago

Download Size: 5.6 MB - Download


JSON Editor is a must-have editor for JSON data. In a clean, uncluttered and user-friendly interface, it allows you to quickly create, visualize, modify, validate, format and save your JSON documents.
Along with the included HTTP Client, is a powerful tool to inspect and debug your API endpoints.


• Edit JSON documents both in tree and text modes
• Multiple selection in tree mode - you can select multiple siblings and perform standard operations (i.e. copy, drag and drop etc) on them
• Syntax coloring, auto-indentation and line numbers
• Validation of the JSON document
• Highlight of the validation errors, along with a description of them
• Make the JSON document human readable or compact, even if it is not entirely valid
• Auto-detect if the document is human readable or compact, and preserve this format
• Cut, copy, paste, delete and reorder the tree items
• Undo & redo
• Easily embed selected items in Array or Object (dictionary)
• Find & Replace, both in tree and text modes
• In tree mode you can choose where the Find (and Replace) will take place: in "Key" column or "Value" column or both. The option which controls which columns will be searched is available by clicking the "search" image in the find bar (Command + F) and then accessing the options from "Find In" submenu
• Find also lets you configure where in the JSON's keys and values to look for matches: "Contains", "Equals To", "Starts With" and "Ends With".
• Import and export property list (.plist) files
• Support for pasting plist data, either from XML text or from Xcode
• Copy JSON nodes as Swift objects so you can use them in Xcode
• Copy JSON nodes as Objective-C objects (both modern and classic syntax) so you can use them in Xcode
• Copy JSON nodes as JSON Path strings
• Copy JSON nodes as XML plist so you can paste them in Xcode or other text editor
• Ability to change the default font - this font applies both to the JSON tree and to the text editor
• Ability to increase and decrease font size for better readability
• Detect when the JSON document is changed by another application. In Preferences (Command + ,) -> "General" tab, you have the ability to customize what to do when this happens: "Keep JSON Editor's version" or "Ask how to resolve" or "Update to modified version"
• Double click on one of JSON tree's column separators to resize the corresponding column so the largest text in that column will be visible


• To open HTTP Client window choose "Window -> HTTP Client" (Shift + Command + K)
• HTTP Client allows you to easily perform HTTP requests. While its main purpose is to ease the fetch of JSON content from a server, it can be used to get or upload any content, including binary. The following HTTP verbs are supported: GET, POST, PUT, DELETE, HEAD
• You can create folders to group the HTTP requests. Folders inside folders are supported, too! This feature is very handy to group the projects or APIs you're working with
• Automatically detects if response body is text or binary, and for binary responses will shows its preview, while also allowing you save it to the desired file
• For response bodies which are text, you will have the option to beautify them as JSON and to open them in a new JSON Editor document
• Both HTTP authentication (basic, digest) and Proxy authentication, with Keychain integration, are supported
• OAuth 2.0 is also supported. In addition to the built-in providers (bitly, Facebook, Foursquare, GitHub, Google, Instagram) you may add your custom ones, too
• Once you have added and setup an OAuth 2.0 authorization you can attach it to a HTTP request - JSON Editor will take care of refreshing and attaching access token to the HTTP request
• Export and import HTTP requests and OAuth authorizations

• Dark Mode (on macOS Mojave 10.14)
• Fullscreen
• Versions
• Services
• Command-line/Terminal integration
• AppleScript (incl. JXA; JavaScript for Automation)


Release Notes:

• The keys for the items enclosed in an array are now displayed using a lighter gray color, to underline that they are not editable.
• When an item which is contained in an Object (Dictionary) is embedded in an Array or Object, then the item which is created as a result will retain the key of the item which was embedded. Note that this works only when embedding a single item, for multiple items the name of the key will continue to start with "New item -".

Bug fixing
• The expanded items no longer (annoyingly) collase when you move or embed them in an array or dictionary.

Introduced in Version 1.31

• Adds support for regular expression in the Replace field. This works as long as you perform a search for regular expression. The technique used to do the regular expression replace is "template matching", where you can use $0, $1, $2 and so on, to specify which text of the capture group will be substitued. $0 will be replaced by the contents of the matched range, $1 by the contents of the first capture group, and so on. Additionally, backslash character '\' can be used to suppres any special meaning for the next character. Backslash escaping in replace text is only required for '$' and '\', but may be used on any other character without bad effects. For additional information, see NSRegularExpression.
• The "Editor" menu was split into two menus: "Tree Editor", which contains the items which make sense while you're in JSON Tree Editor, and "Text Editor" which contains the items which make sense in JSON Text Editor mode.
• Adds preference for how much to indent the text. This is available from "Preferences" -> "View and Edit" -> "Indent using".
• Completely removed the sending of crash reports and analytics from the app. Note that until now the sending happened only if you explicitly allowed it to happen.

Introduced in Version 1.30

• Adds "PATCH" in the list of HTTP verbs support by the HTTP Client.

Introduced in Version 1.29

• Adds support to turn off the "+" and "-" buttons which appear on the row tracked by mouse. This can be done from Preferences (Command + ,) , by unchecking "Show "+" and "-" buttons on the row tracked by mouse" option from "View and Edit" tab.
• User's consent is now obtained before collecting crash reports and analytics.

Bug fixing
• Fixes the printing in Dark mode.

Introduced in Version 1.28

Bug fixing
• Fixes an issue where sometimes the response of a web service failed to be opened from command-line.

Introduced in Version 1.27

Bug fixing
• Fixes an issue where sometimes the response of a web service failed to be opened from command-line.


Most Helpful Reviews

Version 1.17
Review by bpapa

Excellent app - I’m an iOS developer and that means I spend a lot of time trying to make sense of JSON responses from RESTful web servers. This app is an indespensable tool as it does a fantastic job of: 1 - Saving common requests I need to make, it’s just a click to switch between endpoints! 2 - Formats the JSON in an easily digestible format. This especially plays well with the new Codable/Decodable technology in Swift 4, which oftentimes reports an error such as “you have a problem at index 46 of the array”. Using JSON Editor’s JSON Document feature, I can quickly click through a UI (reminsicent of a plist editor) to see what the problem is. Also the developer is super helpful and responsive to support requests. I can’t praise this app enough!

Found helpful by 2 out of 2 people

More Reviews for Current Version

Version 1.32
Review by robbychess

Perfect Tool for JSON Slinging - Can't live without this app. Editing, validating is great, but dragging collapsed nodes to reorder is something a text editor will never match. I'd love to see 2 things: Multiple selection (which sounds like it's coming in v1.5) and the ability to customize the columns a bit more – like reorder them and even hide/show the "Type" column which sometimes gets in the way when browsing large data sets. Also, maybe some colorizing? Thanks for a great app!

Found helpful by 1 out of 1 people
Version 1.32
Review by KyleIshie

Nice Native App! - Wonderful little native mac app that has just enough to get the job done. If you want a seemless json experience get this app now. P.S. There is a CSV version too!

Found helpful by 0 out of 0 people