JSON Editor

JSON Editor

Mac OS Developer Tools

Own Wish Buy Buy

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)

Show More...

What's New

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.

Introduced in Version 1.26

• Adds command-line/Terminal integration. "Preferences" -> "Integration" contains the details how you can set this up. This integration allows you to control JSON Editor from the command-line, like piping text to a new document in JSON Editor. The command set, currently implemented in the command-line tool, is fairly limited, but based on your needs I may choose to expand it. Just drop an email to json.editor.contact@gmail.com with the features you would like to see.
• Enables support for AppleScript (incl. JXA; JavaScript for Automation). Currently, in addition to the standard suite, the only functionality which is supported is to get and set the (raw JSON) content of a JSON document. Based on your feedback, more functionalities might be added.
• Appearance/Theming can be customized from "Preferences" -> "View and Edit" tab -> "Appearance". Available only from macOS 10.14, you can choose between "Respect System Setting", "Light" and "Dark".
• Adds option, in "Preferences", to specify what kind of content to be created when opening a new document in "JSON Tree Editor" and, respectivelly, in "JSON Text Editor". For "JSON Tree Editor", you may choose between "Object" and "Array" and for "JSON Text Editor" you have the options "Object", "Array" and "None (Empty)".

Bug fixing
• Fixes a couple of crashes reported by Crashlytics.

Introduced in Version 1.25

• You can now disable the sending of crash reports and analytics from "Preferences" -> "General" tab.

Bug fixing
• Fixes a crash/freeze which happened when saving a document where you previously edited a JSON key or value and then collapsed the parent item before ending the edit.

Introduced in Version 1.24

• Dark Mode - JSON Editor now properly supports Dark Mode on macOS Mojave 10.14.

Introduced in Version 1.23

• Adds support to export and import HTTP Requests and OAuth Authorizations. Just right click an item and select "Export...". You may even choose the root groups for "HTTP Requests" and "OAuth 2.0 Authorizations" or other arbitrary group. The selection will be exported in a file with ".httpclientexport" extension. To import right click an item and choose "Import..." or use the "+" button at the bottom of the "HTTP Client" window.

Introduced in Version 1.22

Bug fixing
• Removes any restriction regarding the nesting depth of a JSON array or object. This will make "Input depth exceeds max depth of 32" error to not appear anymore.

Introduced in Version 1.21

Bug fixing
• Fixes the import of .plist files.

Introduced in Version 1.20

• Adds support to sort items. Just select the items you want, choose "Editor -> Sort..." (Command + Shift + R) and adjust the sort options. There are multiple options which control how the sort is performed: Sort by key or by value or by subkey, Sort ascending or descending. Selecting a single item which is an array or dictionary/object, allows you to sort the children of that item.
• Find is enhanced with the following option which configures how to look for matches: "Regular Expression". This option is available by clicking the "search" image in the Find bar (Command + F).
• "New Array from Selection" and "New Object from Selection" have been renamed to "Embed in Array" and "Embed in Object"
• Other stability improvements and other under the hood changes.

Introduced in Version 1.19

• Removes the occassional reminder to rate the application. Because it's cheesy.
• Stability improvements and other under the hood changes.

My Rating

App Store Rating