JSON Online Beautifier & Editor

A zero-dependency, single-file JSON editor with a structured editing view and a mind-map view. Works with plain Web, Vue 3 and React 18 — no build step, no framework required.

Try it now Star on GitHub

Live Demo

This is the real editor running on this page — edit keys, values, insert blocks, switch to the mind-map tab. Nothing is simulated.

{ "project": "json-editor", "version": "1.0.0", "features": ["structured editor", "mindmap", "text view"], "stats": { "size": "45KB", "dependencies": 0, "frameworks": ["web", "vue3", "react18"] }, "nested": { "deep": [true, null, { "works": "everywhere" }] } }

How to Use

Three ways to integrate — all without a build step. Full parameter reference in the Docs.

Option 1: Vanilla JS (simplest) Web

Include one script, then use any of three declarative or programmatic styles.

<!-- A: <json> tag, auto-rendered, multiple instances -->
<json data-title="Config">{"name": "Jakey", "tags": ["admin"]}</json>

<!-- B: any element with tag="json" -->
<div tag="json" data-theme="dark">{"a": 1}</div>

<!-- C: container + JS call -->
<div id="editor"></div>
<script src="json-editor.js"></script>
<script>
  var editor = JED.create({
    el: '#editor',
    title: 'My Editor',
    theme: 'dark',
    max_height: '50vh',
    value: { hello: 'world' },
    onChange: function (json) { console.log(json); }
  });
</script>

Option 2: Vue 3 Vue

Include json-vue.js (engine included), register the global component, use v-model.

<script src="https://unpkg.com/vue@3"></script>
<script src="json-vue.js"></script>

<div id="app">
  <json-editor v-model="config" theme="dark" />
</div>
<script>
  Vue.createApp({ data: () => ({ config: { a: 1 } }) })
     .use(JED.vue)      // registers the global <json-editor> component
     .mount('#app');
</script>

Option 3: React 18 React

Include json-react.js (engine included), no JSX needed — plain createElement.

<script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
<script src="json-react.js"></script>

<div id="root"></div>
<script>
  const e = React.createElement;
  function App() {
    const [data, setData] = React.useState({ a: 1 });
    return e(JED.react.component, { value: data, onChange: setData });
  }
  ReactDOM.createRoot(document.getElementById('root')).render(e(App));
</script>

npm install

npm install @juicy696/jsoneditor

// import as needed in your project:
import '@juicy696/jsoneditor'         // vanilla
import '@juicy696/jsoneditor/vue'     // Vue 3
import '@juicy696/jsoneditor/react'   // React 18

Download

Download a single file and use it anywhere — or install via npm / reference the CDN.

json-editor.js

Core engine for plain HTML pages. ~45 KB, zero dependencies.

Download

json-vue.js

Core + Vue 3 adapter in one file. Includes everything above.

Download

json-react.js

Core + React 18 adapter in one file. No JSX needed.

Download

Source on GitHub

Clone, star, open issues, or contribute.

GitHub Repository