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.
This is the real editor running on this page — edit keys, values, insert blocks, switch to the mind-map tab. Nothing is simulated.
Three ways to integrate — all without a build step. Full parameter reference in the Docs.
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>
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>
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 @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 a single file and use it anywhere — or install via npm / reference the CDN.