A project to build a JSON editor in Rust that comfortably handles files over 100 MB.
The easiest way to install jsed is via Homebrew:
brew install Kemosabert/tap/jsedThen run it from anywhere:
jsed ~/path/to/file.json # opens the file on startup
jsed # opens the empty app; use File > OpenTo upgrade later: brew upgrade jsed. To uninstall: brew uninstall jsed.
jsed accepts an optional file path as its first argument, so you can
launch it on any JSON file from the shell regardless of your current
directory.
Builds are currently published for Apple Silicon Macs only.
Install the Rust toolchain (includes rustc and cargo):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shAfter install, restart your shell or source "$HOME/.cargo/env". Verify:
rustc --version # should be 1.75 or newer
cargo --versionNo other system dependencies needed on macOS — the glow backend uses
OpenGL which is built into the OS.
json-editor/
├── Cargo.toml # workspace manifest
├── core/ # pure-logic crate (no UI deps)
│ ├── Cargo.toml
│ └── src/lib.rs # Document, loading, (later) formatting, search
└── gui/ # egui-based desktop app
├── Cargo.toml
└── src/main.rs
The split is deliberate: the core crate stays testable with plain
cargo test, and when we later swap the GUI framework or add a CLI, the
engine doesn't change.
# From the repo root
cargo run --release -p jsed-gui
# Or pass a file to open immediately:
cargo run --release -p jsed-gui -- ~/path/to/file.jsonThe first build will take 1–3 minutes while it compiles eframe and its dependencies. Subsequent builds are incremental and fast.
Use --release even during development — egui is noticeably smoother
with optimizations on, and the workspace is configured to always
optimize dependencies anyway so recompilation of our own code stays fast.
cargo test -p jsed-coreAll tests live in the core crate for now, since the logic worth testing
is there.