# jsoneditor

> A web-based tool to view, edit, format, and validate JSON

Latest version **10.4.3** (published 2026-04-01) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install jsoneditor
pnpm add jsoneditor
yarn add jsoneditor
bun add jsoneditor
```

## Health

**Score 63/100 (C)** — status: active.

Positive: has types package; no vulnerabilities; high maintenance score; high quality score; popular repo.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 10.4.3 |
| Published | 2026-04-01 |
| First published | 2013-05-04 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | separate (@types/jsoneditor) |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 7.8 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 12265 |
| Author | Jos de Jong |
| Maintainers | josdejong |

## Links

- npm: https://www.npmjs.com/package/jsoneditor
- Repository: https://github.com/josdejong/jsoneditor
- Homepage: https://jsoneditoronline.org
- Issues: https://github.com/josdejong/jsoneditor/issues
- npm.io page: https://npm.io/package/jsoneditor

## Dependencies (8)

- [ajv](https://npm.io/package/ajv.md) ^6.12.6
- [jmespath](https://npm.io/package/jmespath.md) ^0.16.0
- [picomodal](https://npm.io/package/picomodal.md) ^3.0.0
- [ace-builds](https://npm.io/package/ace-builds.md) ^1.36.2
- [jsonrepair](https://npm.io/package/jsonrepair.md) ^3.8.1
- [vanilla-picker](https://npm.io/package/vanilla-picker.md) ^2.12.3
- [json-source-map](https://npm.io/package/json-source-map.md) ^0.6.1
- [javascript-natural-sort](https://npm.io/package/javascript-natural-sort.md) ^0.7.1

## Recent versions

- 10.4.3 (latest) — 2026-04-01
- 10.4.2 — 2025-10-15
- 10.4.1 — 2025-08-28
- 10.4.0 — 2025-08-22
- 10.3.0 — 2025-08-01
- 10.2.0 — 2025-03-28
- 10.1.3 — 2025-02-17
- 10.1.2 — 2024-12-18
- 10.1.1 — 2024-11-13
- 10.1.0 — 2024-06-19
- 10.0.3 — 2024-04-25
- 10.0.2 — 2024-03-18
- 10.0.1 — 2024-02-09
- 10.0.0 — 2023-12-21
- 9.10.5 — 2023-12-21
- … 203 more at https://npm.io/package/jsoneditor/versions

## README

# JSON Editor

[![Version](https://img.shields.io/npm/v/jsoneditor.svg)](https://www.npmjs.com/package/jsoneditor)
[![Downloads](https://img.shields.io/npm/dm/jsoneditor.svg)](https://www.npmjs.com/package/jsoneditor)
[![Maintenance](https://img.shields.io/maintenance/yes/2026.svg)](https://github.com/josdejong/jsoneditor/pulse)
[![License](https://img.shields.io/github/license/josdejong/jsoneditor.svg)](https://github.com/josdejong/jsoneditor/blob/master/LICENSE)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjosdejong%2Fjsoneditor.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjosdejong%2Fjsoneditor?ref=badge_shield)

JSON Editor is a web-based tool to view, edit, format, and validate JSON. It has various modes such as a tree editor, a code editor, and a plain text editor. The editor can be used as a component in your own web application. It can be loaded as CommonJS module, AMD module, or as a regular javascript file.

The library was originally developed as core component of the popular web application https://jsoneditoronline.org and has been open sourced since then.

Supported browsers: Chrome, Firefox, Safari, Edge.

<img alt="json editor" src="https://raw.github.com/josdejong/jsoneditor/master/misc/jsoneditor.png"> &nbsp; <img alt="code editor" src="https://raw.github.com/josdejong/jsoneditor/master/misc/codeeditor.png">

Continuous integration tests are run on [GitHub Actions](https://github.com/josdejong/mathjs/actions), and [LambdaTest](https://www.lambdatest.com) is used to test on all major browsers.

[![LambdaTest](https://raw.github.com/josdejong/mathjs/master/misc/lambdatest.svg)](https://www.lambdatest.com)

Thanks, GitHub Actions and LambdaTest for the generous support for this open source project!

## Successor: svelte-jsoneditor

This library [`jsoneditor`](https://github.com/josdejong/jsoneditor) has a successor: [`svelte-jsoneditor`](https://github.com/josdejong/svelte-jsoneditor). The new editor is not a one-to-one replacement, so there may be reasons to stick with `jsoneditor`. 
The main differences between the two [are described here](https://github.com/josdejong/svelte-jsoneditor#differences-between-josdejongsvelte-jsoneditor-and-josdejongjsoneditor).

## Features

JSONEditor has various modes, with the following features.

### Tree mode

- Change, add, move, remove, and duplicate fields and values.
- Sort arrays and objects.
- Transform JSON using [JMESPath](http://jmespath.org/) queries.
- Colorized code.
- Color picker.
- Search & highlight text in the tree view.
- Undo and redo all actions.
- JSON schema validation (powered by [ajv](https://github.com/epoberezkin/ajv)).

### Code mode

- Colorized code (powered by [Ace](https://ace.c9.io)).
- Inspect JSON (powered by [Ace](https://ace.c9.io)).
- Format and compact JSON.
- Repair JSON.
- JSON schema validation (powered by [ajv](https://github.com/epoberezkin/ajv)).

### Text mode

- Format and compact JSON.
- Repair JSON.
- JSON schema validation (powered by [ajv](https://github.com/epoberezkin/ajv)).

### Preview mode

- Handle large JSON documents up to 500 MiB.
- Transform JSON using [JMESPath](http://jmespath.org/) queries.
- Format and compact JSON.
- Repair JSON.
- JSON schema validation (powered by [ajv](https://github.com/epoberezkin/ajv)).

## Documentation

- Documentation:
  - [API](https://github.com/josdejong/jsoneditor/tree/master/docs/api.md)
  - [Usage](https://github.com/josdejong/jsoneditor/tree/master/docs/usage.md)
  - [Shortcut keys](https://github.com/josdejong/jsoneditor/tree/master/docs/shortcut_keys.md)
- [Examples](https://github.com/josdejong/jsoneditor/tree/master/examples)
- [Source](https://github.com/josdejong/jsoneditor)
- [History](https://github.com/josdejong/jsoneditor/blob/master/HISTORY.md)


## Install

with npm (recommended):

    npm install jsoneditor

Alternatively, you can use another JavaScript package manager like https://yarnpkg.com/, or a CDN such as https://cdnjs.com/ or https://www.jsdelivr.com/.

## Use

> Note that in the following example, you'll have to change the urls `jsoneditor/dist/jsoneditor.min.js` and `jsoneditor/dist/jsoneditor.min.css` to match the place where you've downloaded the library, or fill in the URL of the CDN you're using.

```html
<!DOCTYPE HTML>
<html lang="en">
<head>
    <!-- when using the mode "code", it's important to specify charset utf-8 -->
    <meta charset="utf-8">

    <link href="jsoneditor/dist/jsoneditor.min.css" rel="stylesheet" type="text/css">
    <script src="jsoneditor/dist/jsoneditor.min.js"></script>
</head>
<body>
    <div id="jsoneditor" style="width: 400px; height: 400px;"></div>

    <script>
        // create the editor
        const container = document.getElementById("jsoneditor")
        const options = {}
        const editor = new JSONEditor(container, options)

        // set json
        const initialJson = {
            "Array": [1, 2, 3],
            "Boolean": true,
            "Null": null,
            "Number": 123,
            "Object": {"a": "b", "c": "d"},
            "String": "Hello World"
        }
        editor.set(initialJson)

        // get json
        const updatedJson = editor.get()
    </script>
</body>
</html>
```


## Build

The code of the JSON Editor is located in the folder `./src`. To build 
jsoneditor:

- Install dependencies:

  ```
  npm install
  ```

- Build JSON Editor:

  ```
  npm run build
  ```

  This will generate the files `./jsoneditor.js`, `./jsoneditor.css`, and  
  minified versions in the dist of the project.

- To automatically build when a source file has changed:

  ```
  npm start
  ```

  This will update `./jsoneditor.js` and `./jsoneditor.css` in the dist folder
  on every change, but it will **NOT** update the minified versions as that's
  an expensive operation.


## Test

Run unit tests:

```
npm test
```

Run code linting ([JavaScript Standard Style](https://standardjs.com/)):

```
npm run lint
```


## License

`jsoneditor` is released as open source under the permissive the [Apache 2.0 license](LICENSE.md).

**If you are using jsoneditor commercially, there is a _social_ (but no legal) expectation that you help fund its maintenance. [Start here](https://github.com/sponsors/josdejong).**

---
_Source: https://npm.io/package/jsoneditor · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
