A simple desktop GUI tool for viewing and editing JSON files without writing JSON by hand.
The main window shows the tree view, property editor, and JSON text tab in one place.
A sample file for trying the UI is available at samples/local/sample.json.
- Create, open, save, and save as JSON files
- Browse objects and arrays in a tree view
- Edit the selected node with a property panel
- Switch the UI language between English and Japanese
- View path, type, key, parent type, index, and value for the selected node
- Change primitive values and node types from GUI controls
- Validate, format, and minify JSON
- Add object keys and array items
- Rename object keys from the property panel, delete selected values, and copy paths
- Duplicate selected nodes with deep copy behavior
- Reorder array items by dragging them in the tree
- Keep an advanced JSON text tab for direct edits when needed
Ctrl+C: copy the selected nodeCtrl+V: paste the copied nodeCtrl+Z: undoCtrl+Y: redoDel: delete the selected nodeF2: start editing the last clicked tree column: key, type, or value
Copy and paste follows the JSON structure:
- Object key/value nodes can only be pasted into objects.
- Array item nodes can only be pasted into arrays.
- Root data can only be pasted over the root.
- Multiple copy is allowed only within the same object or the same array.
- Python 3.11 or later
- Tkinter
There are no additional runtime dependencies. Tkinter is included with most standard Python distributions.
git clone https://github.com/ipl091/edit_json_tool.git
cd edit_json_tool
python -m venv .venv
.venv\Scripts\Activate.ps1
python src/json_gui_editor.pyA sample JSON file is included at samples/local/sample.json for quick testing and screenshots.
See RELEASE.md for a publication-ready summary of the initial public release.
GitHub Actions is configured to build a Windows executable and publish it to GitHub Releases when a tag matching v* is pushed.
Example:
git tag v1.0.0
git push origin v1.0.0The test suite uses pytest.
python -m pip install pytest
python -m pytest- JSON Schema validation and guided editing
- Better undo and redo support
- Search and filtering
- Lazy loading for large JSON files
- Packaged desktop releases for Windows, macOS, and Linux
This project is released under the MIT License. See LICENSE.
