JSON Hero: A Multi-View JSON Explorer for the Web
Project brief: JSON Hero is an open-source, beautiful JSON explorer for the web that lets you browse, search and navigate your JSON files at speed. . Built with by the Trigger.dev team.
At a glance
- What is it?
- JSON Hero is an open-source web application for browsing, searching, and navigating JSON documents with column view, tree view, and editor view. It automatically infers the content of string values and provides previews for dates, image URLs, website URLs, and colors. The last push to the repository was on 2025-11-28.
- Who is it for?
- JSON Hero is appropriate for developers who regularly inspect API responses, debug webhook payloads, or validate JSON structures and want a richer interface than a plain text editor. The column view in particular suits deep JSON hierarchies where navigating with keyboard shortcuts reduces context-switching.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Activity is slowing. The repository last received commits 10 months ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What JSON Hero Provides Beyond a Text Editor
JSON Hero is a web application that renders a JSON document in one of several structured views rather than as raw text. The core value is that it treats JSON values as typed data: instead of showing a date string as 2024-01-15T08:00:00Z and leaving interpretation to the reader, JSON Hero detects the format and renders a calendar preview alongside the string. The same logic applies to image URLs (rendered as inline images), website URLs (rendered as link previews), tweet URLs, nested JSON URLs (fetched and rendered recursively), and hex color codes (rendered as color swatches).
The interface runs in the browser at jsonhero.io. The hosted version accepts documents by drag-and-drop, paste, or URL submission. There is also a VS Code extension in the marketplace and a Raycast extension. For organizations that need to inspect JSON without sending it to an external service, the repository provides a Dockerfile for self-hosting.
Three View Modes: Column, Tree, and Editor
The column view is inspired by the macOS Finder. It displays nested JSON as a sequence of columns where selecting a key in one column reveals its children in the next. Keyboard navigation, a path bar, and history are all supported. The README describes a feature specific to this view: holding the Option key (or Alt on Windows) while moving to a parent keeps the descendant selected and shows it in context. The user can then move between siblings in an array and compare the values at a deep path across the array's items without losing the selection.
The tree view presents the classic collapsible tree format with keyboard shortcuts. Both the column view and the tree view keep the sidebar active, showing content previews and related values for the currently selected field.
The editor view shows the full JSON document in a text editor layout while keeping the preview sidebar visible. As the user moves through the document, the sidebar updates to show previews and related values for the field at the cursor position.
Running JSON Hero Locally
The repository is a Remix application deployed to Cloudflare Workers. To run it locally, clone the repository, install dependencies, create a .env file with a session secret, build, and start the server:
git clone https://github.com/triggerdotdev/jsonhero-web.git
cd jsonhero-web
npm installCreate a file at the repository root named .env with the following content:
SESSION_SECRET=abc123Then build and start:
npm run build
npm startThe application then runs at http://localhost:8787. The Dockerfile in the repository automates this process: it builds in a Node 16.17.0 image and runs the same install, build, and start sequence. The Dockerfile sets SESSION_SECRET=abc123 as a build-time default, which should be replaced with a real secret in any production deployment.
Sending JSON to JSON Hero: Five Methods
The hosted version and the self-hosted version support several input methods. The drag-and-drop interface and paste-in-form cover the common case of a file or clipboard payload. For URL-based workflows, JSON Hero accepts a JSON URL as a query parameter:
https://jsonhero.io/new?url=https://jsonplaceholder.typicode.com/todos/1Base64-encoded JSON can be passed directly as a parameter:
https://jsonhero.io/new?j=eyAiZm9vIjogImJhciIgfQ==For programmatic use, the unofficial API accepts a POST request to jsonhero.io/api/create.json with a JSON body containing a title, the content object, an optional readOnly flag, and an optional ttl (time to live in seconds). The API returns an id, title, and location URL for the created document. The VS Code extension sends JSON from the editor directly to JSON Hero without requiring a manual copy-paste.
Search and Related Values
The search panel opens with a keyboard shortcut and performs fuzzy search across key names, key paths, values, and formatted values. The README gives a concrete example: searching for "Dec" will find datetime strings in the month of December, because the search runs over the pretty-formatted representation of each value, not just the raw string.
The related values panel shows all instances of a field with the same key path across the document. For a JSON array of objects, selecting a nested field shows all values at that path across every item in the array, including any that are undefined or null. This makes it fast to scan for edge cases in large uniform datasets such as API response lists or database exports.
Limitations and Maintenance Status
JSON Hero has no GitHub releases; the repository tracks development through commits rather than versioned releases. The last push to the repository was on 2025-11-28, which is approximately ten months before 2026-09-28. The dependency on Node 16.17.0 in the Dockerfile reflects this freeze: Node 16 reached end of life in September 2023.
The project was created and is maintained by the Trigger.dev team. The README states that the team's primary product is Trigger.dev, a workflow automation platform. JSON Hero is a side project that the team built and maintains alongside their main product.
Self-hosting with the provided Dockerfile is straightforward, but the dependency freeze means that known vulnerabilities in the npm dependency tree are not being patched. Organizations with security compliance requirements should audit the dependency tree before deploying.
JSON Hero versus Dadroit JSON Viewer
Dadroit JSON Viewer is a desktop application for Windows and macOS focused on handling very large JSON files. It targets developers who need to open multi-gigabyte JSON files that would be impractical to load in a browser. It is a paid product for commercial use.
JSON Hero is a web application with no file size limit documented in the README, designed for interactive document exploration with previews and related values. It runs in the browser and requires no installation. The use cases overlap for mid-sized JSON documents, but diverge for very large files (where Dadroit's desktop architecture has an advantage) and for previewing typed values like image URLs and colors (where JSON Hero's content inference provides more context than a plain viewer).
Editorial conclusion
JSON Hero is appropriate for developers who regularly inspect API responses, debug webhook payloads, or validate JSON structures and want a richer interface than a plain text editor. The column view in particular suits deep JSON hierarchies where navigating with keyboard shortcuts reduces context-switching. The repository has not received a push since 2025-11-28, which means no releases are tracking current security or dependency updates. Teams who need a JSON viewer for sensitive data should self-host using the provided Dockerfile rather than relying on the hosted jsonhero.io service, and should evaluate whether the dependency freeze is acceptable for their deployment.
Frequently asked questions
How do I open a JSON file in JSON Hero?
Go to jsonhero.io and drag a JSON file onto the page, paste JSON text, or supply a URL to a JSON endpoint. You can also pass a JSON URL as a query parameter: jsonhero.io/new?url=https://your-api.example.com/data.json.
Can I self-host JSON Hero?
Yes. The repository includes a Dockerfile that builds the application in a Node container. Clone the repository, create a .env file with a SESSION_SECRET value, then run the Docker build and start the container. The application runs on port 8787.
Does JSON Hero support keyboard navigation?
Yes. The column view and tree view both support keyboard navigation. The search panel opens with a keyboard shortcut for fuzzy searching across keys, paths, and values. Holding Option (or Alt on Windows) in the column view keeps a descendant selected while navigating up through parent levels.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/triggerdotdev-jsonhero-web)