A JSON viewer and notes plugin for all JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, PhpStorm, RubyMine, etc.). View, format, minify, and organize JSON in a dedicated tool window with persistent tabs that sync across IDEs and machines.
- Plain text keyword highlighting — Optional colors for common programming keywords in plain text; enable in JSON Notes settings.
- Word occurrences — Highlights other occurrences of the word at the caret or selection in the text editor.
- Layout — Refined spacing and borders; optional side toolbar in settings.
- Tabs & focus — Tab shortcuts cooperate with editable text and the search field; improved next/previous tab behavior.
Earlier 1.0.4 highlights: keyboard shortcuts, tab actions, and the Keyboard shortcuts table in settings — see CHANGELOG.md.
Full history: CHANGELOG.md. Marketplace What’s new matches <change-notes> in plugin.xml.
- Text mode — Edit raw JSON in a syntax-friendly editor (2-space indent).
- Tree (Viewer) mode — Interactive tree view with color-coded types (object, array, string, number, boolean, null).
- Property grid — Select any node in the tree to see its key and value (or child summary) in a side panel.
- Expand / collapse — Expand all or collapse all from the toolbar or via right-click context menu on any node.
- Copy value — Right-click a tree node → “Copy value” to copy that node’s value to the clipboard.
- Format — Pretty-print JSON with consistent indentation (works on any text; preserves content inside strings).
- Minify — Remove whitespace while preserving string content.
- Multiple tabs — Work with several JSON documents side by side; each tab has a name and stores JSON text.
- Persistent tabs — Tabs are saved automatically and restored when you reopen the IDE.
- Cross-IDE tabs — Tabs are shared across all JetBrains IDEs on the same machine via a shared file (
~/.config/json-viewer/tabs.jsonon Linux/macOS,%APPDATA%\json-viewer\tabs.jsonon Windows). - JetBrains Settings Sync — When you enable Settings Sync, your JSON Notes tabs sync across machines.
- Tree expansion state — Which nodes you expanded in the tree is remembered per tab and restored when you switch back.
- Find — Ctrl+F / Cmd+F opens a search bar; works in both Text and Viewer mode.
- Next / previous — Jump between matches; match count is shown.
- Highlights — Matching text is highlighted (yellow); in the tree, matching nodes are highlighted and parents expanded to reveal them.
- Paste — Paste from clipboard into the current tab (e.g. API responses).
- Copy — Copy the full JSON from the current tab to the clipboard.
- Tab bar — Previous / Next / New tab / Delete tab; tab title shows
[current/total] Tab name. Closing a tab asks for confirmation. - Tool window — Ctrl+Shift+J (Windows/Linux) or Cmd+Shift+J (macOS), or Tools → Open JSON Notes.
- Main editor — Tools → Open JSON Notes in Editor or Ctrl+Shift+Alt+J (⌃⇧⌥J) for the same features in the editor area.
Marketplace: JSON Notes on JetBrains Marketplace
- In your JetBrains IDE: Settings/Preferences → Plugins → Marketplace.
- Search for JSON Notes (or open the Marketplace listing in a browser).
- Install and restart the IDE.
Or install from disk: Settings → Plugins → ⚙️ → Install Plugin from Disk and select the built *.zip from the project’s build/distributions/ folder.
- Open the tool window: Tools → Open JSON Notes or Ctrl+Shift+J / Cmd+Shift+J.
- Paste or type JSON in the text area (Text mode).
- Use Format / Minify as needed.
- Switch to Viewer to see the tree; select nodes to inspect them in the property grid.
- Use multiple tabs to keep several JSON snippets or API responses; they persist and sync as described above.
./gradlew buildPluginThe plugin archive is produced in build/distributions/. Use Install Plugin from Disk and select that zip.
Run a sandbox IDE with the plugin loaded:
./gradlew runIdeThe idea for this plugin was inspired by the Online JSON Viewer by jsonviewer.stack.hu. That project has been helping users format and visualize JSON since 2008. This JetBrains plugin brings a similar experience into the IDE with extra features like persistent notes-style tabs and cross-IDE sync.
Plugin page: plugins.jetbrains.com/plugin/30568-json-notes
When you publish or update the plugin on JetBrains Marketplace, use the description from plugin.xml (or the one in build.gradle.kts if you use the Gradle plugin to generate metadata). The plugin description is already set in this repo and includes credit to jsonviewer.stack.hu.
Select these in the Plugin Upload form or under General Information in the plugin’s admin panel:
- JSON
- Formatter
- Tools
- Data
- Viewer
- Developer tools
Pick the tags that best match the marketplace’s available list; the exact tag names may vary. Tags improve discoverability when users search for “JSON”, “formatter”, “viewer”, etc.
See the repository for license information.