Skip to main content

jsonedit

A structured document editor for composing meaning in JSON.

jsonedit is a tree-based editor designed for working with hierarchical ideas, not just JSON text. It treats JSON as a living document — something you assemble, reshape, and extract from — rather than a file you manually type.

It is especially well suited for LLM prompt construction, context curation, and structured knowledge editing.


Screenshot

jsonedit screenshot


What jsonedit is (and is not)

jsonedit is not a traditional programmer’s JSON editor.

It is a document compositor built around one core idea:

Edit meaning locally. Commit structure deliberately.

Instead of editing lines of text, you work directly with the document’s tree structure — selecting nodes, reshaping hierarchies, and exporting semantic fragments when needed.


Why it exists

Modern workflows — especially those involving LLMs — often look like this:

  • assemble structured prompts
  • rearrange examples or schemas
  • experiment safely
  • extract only the relevant subtree
  • paste into an AI context window
  • iterate

Traditional editors treat JSON as text.

jsonedit treats JSON as thought structure.


Core Concepts

🌲 Structure First

The primary editing unit is a node, not a line.

Common operations include:

  • raise / lower items in hierarchy
  • duplicate subtrees
  • insert siblings
  • rename keys
  • delete with intelligent reselection

Navigation uses structural paths instead of line numbers.


✍️ Split-Brain Editing

Two coordinated views:

  • Tree view → orientation and structure
  • Text pane → focused semantic rewriting

You always know where you are structurally while editing what something means.


🧪 Safe Editing via Explicit Commit

Text edits remain sandboxed until you explicitly commit them.

This allows:

  • experimentation without breaking structure
  • temporary invalid JSON while thinking
  • deliberate structural mutation

No accidental global edits.


📦 Export is a First-Class Action

jsonedit assumes you frequently want pieces of documents.

You can quickly copy:

  • entire documents
  • selected subtrees
  • pretty or compact JSON

Ideal for moving structured context into LLM prompts.


🧠 JSON as a Living Document

Documents may include metadata and workspace information, encouraging long-lived structured artifacts rather than disposable config files.


Ideal Use Cases

jsonedit works best when JSON represents ideas, not just data.

✅ Excellent for

  • LLM prompt composition
  • Context packaging for AI systems
  • Agent or tool configuration
  • Structured writing and outlining
  • Dataset annotation
  • Knowledge assembly in hierarchical form

Typical workflow:

  1. Select subtree
  2. Rewrite locally
  3. Commit structure
  4. Copy compressed node
  5. Paste into LLM context

❌ Not Designed For

  • General programming JSON editing
  • Schema validation or linting
  • Large machine-generated JSON files
  • Collaborative merge workflows
  • High-speed code typing environments

If you want VS Code for JSON — use VS Code.

jsonedit optimizes for clarity of structure, not typing speed.


Install

pip install jsonedit

Run

jsonedit

Open a file directly:

jsonedit <filepath>

Requirements

  • Python
  • Tkinter available in your Python installation

(jsonedit is a desktop GUI application.)


Philosophy

jsonedit is built on a few assumptions:

  • JSON encodes ideas, not just data.
  • Structure matters more than formatting.
  • Users think in subtrees rather than lines.
  • Editing should be deliberate and reversible.
  • Exporting fragments is a primary activity.

License

CC0 1.0 Universal — public domain. See LICENSE.

Release files for jsonedit 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsonedit 0.1.2
File Size Uploaded
jsonedit-0.1.2.tar.gz 19.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jsonedit 0.1.2
File Interpreter ABI Platform
jsonedit-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 37.1 kB

Release files / jsonedit-0.1.2.tar.gz

Download URL jsonedit-0.1.2.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4aff3007b0b701efd023e0bf3ae990ece32ddf2731f015e269223eb7072a1f10
BLAKE2b-256 checksum
How to use checksums
6567e260afac2aee59ac85c52b2bd93d7c209aa5d24ec33f4abe564382072517
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / jsonedit-0.1.2-py3-none-any.whl

Download URL jsonedit-0.1.2-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca8e6135d14c080b89324c858421268bf90bf9fd0f803f1180216628f490687d
BLAKE2b-256 checksum
How to use checksums
485d49fa72310f4c299a6da01961ea29d446f5886db2a59d151972495c597483
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page