JSON Analyzer is a local-first desktop app for validating, formatting, and exploring JSON data. It helps you inspect large payloads, spot duplicate records and values, review field patterns, and safely preview or run guarded curl requests.
Your JSON stays on your machine. The app runs through a Rust + Tauri desktop shell and does not send pasted JSON to a remote service.
- Validate, format, clear, and load example JSON.
- Analyze objects, arrays, nested structures, and duplicate-key JSON.
- Review summary statistics, field patterns, duplicate records, and grouped values.
- Search, sort, page, expand, and copy values from the Values Explorer.
- Parse and run guarded
curlrequests with redaction, timeouts, response-size limits, redirect limits, and private-network guardrails.
Desktop builds are published on the GitHub Releases page:
Download the .dmg for your Mac from the latest release:
- Apple Silicon:
aarch64/ ARM64 - Intel:
x86_64
Open the .dmg and drag JSON Analyzer into Applications.
Linux builds require a distro with WebKitGTK 4.1.
Enable the repository once per machine:
bash <(curl -fsSL https://github.com/ddv1982/json-analyzer/releases/latest/download/install-apt-repo.sh)The setup script downloads the repository setup package to a temporary file, verifies it against a GPG-signed SHA256 sidecar from the release, installs the JSON Analyzer archive keyring and APT source configuration, then removes the temporary files.
Refresh APT metadata:
sudo apt updateInstall JSON Analyzer:
sudo apt install json-analyzerAfter the repository is enabled, use normal sudo apt update and sudo apt install json-analyzer commands for installs and updates. JSON Analyzer can also be installed by searching for "JSON Analyzer" in GNOME Software or Ubuntu Software after package/AppStream metadata has refreshed.
The standalone .AppImage, .deb, and .rpm release assets remain available as direct-download fallback options. Use the .rpm package on RPM-based distributions such as Fedora, RHEL-compatible, and openSUSE systems that provide WebKitGTK 4.1.
Requirements:
- Rust stable with edition 2024 support
- Node.js 24
- pnpm 11.5.1
- Tauri system prerequisites for your operating system
Install dependencies:
pnpm installRun the desktop app:
pnpm tauri:devRun the frontend in a browser for UI-only work:
pnpm -C frontend devSome desktop behavior is mocked in browser mode, so pnpm tauri:dev is the authoritative local app path.
Run the full local quality gate:
pnpm checkCompile the Tauri app without installer bundles:
pnpm tauri:build:no-bundleCreate unsigned local bundles for the current platform:
pnpm tauri:package:localBuild outputs are written under src-tauri/target/release/. Installer bundles are written under src-tauri/target/release/bundle/ or a target-specific bundle directory when cross-target builds are used.
Each release tag must have matching notes in:
docs/releases/vX.Y.Z.md
CI builds and validates Linux packages, including desktop/AppStream metadata. The release workflow reuses the passing Linux CI artifact, signs Debian packages when signing is enabled, publishes the signed APT repository to GitHub Pages, and builds macOS DMGs from the same prebuilt frontend artifact.
frontend/ React + TypeScript UI
src/ Rust JSON parser, analyzers, DTOs, config, and service layer
src-tauri/ Tauri desktop shell, command handlers, permissions, and package metadata
scripts/ Packaging and release validation helpers
tests/ Rust integration tests and fixtures
docs/ Decisions, plans, reviews, release notes, and research notes
- JSON analysis runs locally.
- The frontend talks to Rust through narrow Tauri commands.
- The app does not grant broad filesystem, shell, or general frontend network access.
- Curl execution is handled by Rust with guardrails and in-memory jobs only.