Notepad++ colors JSON through its built-in json language, but it has no way to indent it. That’s why minified API responses and exported files stay unreadable in a stock install. Add JSON Viewer or JSTool from Plugins Admin, select the text, and run Format JSON (JSON Viewer) or JSFormat (JSTool). The one-liner comes out as indented, readable lines.
JSON Viewer’s relaxed parser, added in version 1.40, accepts trailing commas, comments and NaN, none of which RFC 8259 allows. So a file that formats cleanly can still fail in a strict parser.
Which plugin formats JSON in Notepad++?

Notepad++ ships without a JSON formatter, so a plugin does the work. JSON Viewer and JSTool both format and minify, and if your files are JSON only, JSON Viewer is the better default.
Both install from Plugins Admin and run on Windows, the platform Notepad++ is built for.
| Feature | JSON Viewer | JSTool |
|---|---|---|
| Built for | JSON only | JavaScript and JSON |
| Format command | Format JSON | JSFormat |
| Minify command | Compress JSON | JSMin |
| Extras | Tree view, node search, error position marker, sort by key | JSON tree viewer, JSON sorting |
| Pick it when | You inspect and validate JSON daily | You already minify JavaScript with it |
JSON Viewer ships regular releases. Its GitHub release page lists v2.2.0.0 as the latest build as of November 2026, after the 2.0.x and 2.1.x versions added tree search and array element counts, plus sort by key.
If you open JSON files often and want the error position when parsing fails, JSON Viewer fits. It also has a collapsible tree, if that’s your thing. JSTool only makes sense when you already minify JavaScript with it and JSON is the occasional extra.
How to install a JSON plugin in Notepad++

The route is the same for JSON Viewer and JSTool.
- Open Plugins > Plugins Admin.
- Search for JSON Viewer or JSTool on the Available tab.
- Tick the checkbox next to the plugin. Clicking only the name shows details and leaves Install unavailable, per the Notepad++ user manual.
- Click Install and wait for the automatic restart.
- Check the Plugins menu for the new entry.
A first attempt can fail quietly. A Notepad++ Community report on a fresh v8.1.9.1 install describes JSTool restarting the editor without installing, then installing correctly on the second try.
If Plugins Admin doesn’t list the plugin at all, update Notepad++ first. Plugins that no longer match your Notepad++ version move to the Incompatible tab instead.
No write permission to the Notepad++ folder? Relaunch the editor with Run as administrator before installing.
Installing a plugin manually from GitHub
Manual installs cover plugins that Plugins Admin doesn’t list or can’t download. Grab the release zip from the plugin’s GitHub page and copy the DLL into its own subfolder under plugins.
For JSON Viewer, NPPJSONViewer.dll goes into plugins\NPPJSONViewer, according to the project README. JSTool’s DLL is JSMinNpp.dll and lives in plugins\JSMinNpp. It is not called JSTools.dll, as Notepad++ Community answers point out. Either way the folder name has to match the DLL name without the extension, or Notepad++ skips the plugin.
Windows blocks DLLs downloaded from the internet. Right-click the file, open Properties, tick Unblock if the option appears, and click Apply before you start Notepad++.
A normal 64-bit install keeps plugins under %PROGRAMFILES%\Notepad++\plugins, which usually asks for administrator rights. Restart Notepad++ by hand afterward.
How to format JSON with JSON Viewer or JSTool
Select the JSON and run Plugins > JSON Viewer > Format JSON, or Plugins > JSTool > JSFormat if that’s the plugin you installed. One-line JSON turns into indented, multi-line text.
With JSON Viewer

- Open the file or paste the JSON into a new tab.
- Select the JSON. Ctrl+A covers the whole document.
- Go to Plugins > JSON Viewer > Format JSON.
- Read the result in the same tab.
The plugin also sets the document language to JSON while it formats. The project’s release notes list that behavior under 1.40 and again as a fix in 2.0.4.0.
One older bug is worth knowing about. Before v2.0.7.0, Format JSON did nothing when the focused tab sat in the other view of a split window. Updating the plugin removes the problem.
With JSTool
JSTool keeps it to one menu command. JSFormat under Plugins > JSTool turns minified JSON into indented text, and JSMin collapses it back to a single line.
Select the text first, with Ctrl+A for a whole file. The JSTool repository describes one format algorithm for JavaScript and JSON, while JSON Viewer is the plugin that marks the error position when parsing fails.
Which keyboard shortcut formats JSON in Notepad++?
Ctrl+Alt+Shift+M runs Format JSON in JSON Viewer by default. Several tutorials mix it up with Ctrl+Alt+Shift+J, which opens the tree view instead.
| Command | Plugin | Default shortcut | Where it is documented |
|---|---|---|---|
| Format JSON | JSON Viewer | Ctrl+Alt+Shift+M | JSON Viewer issue tracker |
| Show JSON Viewer | JSON Viewer | Ctrl+Alt+Shift+J | JSON Viewer README |
| JSFormat | JSTool | Ctrl+Alt+M | Community answers only |
The JSTool shortcut has no first-party documentation in the sources checked. Confirm it in the Plugins menu, where Notepad++ prints the assigned combination beside each command.
To change any of them, open Settings > Shortcut Mapper > Plugin commands, select the command, click Modify and assign a new combination. That tab lists each plugin command with its current shortcut and the plugin it belongs to.
The Shortcut Mapper also has a message area that names any other command already using the selected shortcut, and a Notepad++ Community thread on Ctrl+Shift+T shows a menu command and a Scintilla command sharing one combination. If a shortcut does nothing, look for a clash before blaming the plugin.
How to change indentation and minify JSON in Notepad++
Indentation is a plugin setting, not a separate command. JSON Viewer’s settings dialog, added in v2.0.2.0, controls indentation and line ending, along with a line format option that decides how arrays are laid out. You open it from the JSON Viewer entry in the Plugins menu.
Earlier builds read the tab settings from Notepad++ itself (1.31), and 1.40 fixed cases where those were ignored. Line ending has followed the editor’s EOL setting since 1.40, and got its own control in the dialog from 2.0.2.0.
The macOS port README mirrors the Windows toggles, listing indent as tab, a set number of spaces or auto, and line format as default or single-line arrays.
JSTool’s indent options aren’t documented in the sources checked, so reach for JSON Viewer when the indent has to match a team style.
Minifying is safe because RFC 8259, the IETF standard published in December 2017, allows insignificant whitespace around the six structural characters. Spaces and line breaks change layout and nothing else.
Minify before pasting JSON into a one-line config field or a curl command. Compress JSON arrived in 1.40, after users asked for a function that removes line breaks and spaces (issues 57 and 60).
JSTool’s JSMin applies Douglas Crockford’s JSMin algorithm, which its repository describes as a JavaScript minifier.
How to set JSON syntax highlighting and use the tree view

Pick JSON from the Language menu (Language > J > JSON). The Notepad++ user manual lists json and json5 among roughly 90 built-in languages, so highlighting needs no plugin.
Setting the JSON language
Notepad++ usually picks the language for you, and its detection rules explain the cases where it doesn’t. A saved file with a known extension such as .json gets JSON automatically. Pasted text in an unsaved “new 1” tab keeps the default language until you save it, and a manual choice in the Language menu overrides whatever was detected.
The coloring comes from a lexer in the Lexilla library, running on the Scintilla editing component.
If colors look wrong, check the Language menu before blaming the plugin. JSON Viewer also carries its own highlighting option, made configurable in v2.0.5.0.
Browsing with the tree view
The tree view turns a document into collapsible nodes, and most of its navigation tools came in later releases. The selected node’s path shows at the bottom, and you can copy the node itself or just its value or path (v2.0.1.0).
From v2.0.2.0 the tree follows whichever JSON file is active. Selecting a node moves the editor to it, and a double-click selects the key (v2.1.0.0). Ctrl plus mouse wheel, or a slider, resizes the tree (v2.1.1.0).
The tree appears once the parser accepts the JSON, and what the parser accepts is looser than the standard. That matters for validation.
How to validate JSON and fix syntax errors
JSON Viewer marks the position where parsing fails. Fix that spot, run Format JSON again, and repeat until the document formats.
The marker shows where the parser gave up, which can sit after the real mistake (an unclosed brace is the classic case).
| Pattern | RFC 8259 rule | Fix |
|---|---|---|
| Trailing comma | A comma only separates one member or value from the next | Delete the last comma |
| Single quotes, unquoted keys | Strings and member names sit between double quotation marks | Switch to double quotes |
| Comments | The grammar has no comment syntax | Remove them |
| NaN, Infinity, undefined | Not permitted; literals are lowercase false, null and true | Use null or a string |
JSON itself is small. RFC 8259 defines two structured types (objects and arrays) and four primitives (strings, numbers, booleans and null), and ECMA-404 describes the same grammar by design.
The standard rejects trailing commas, comments and NaN, yet JSON Viewer 1.40 added relaxed parsing that accepts all of them (comments for parsing only). RFC 8259 allows this, because a parser may accept non-JSON extensions while a generator must conform strictly. A file that formats cleanly in the plugin can still fail in a strict parser elsewhere.
Since v2.0.2.0 the settings dialog lets you choose whether to ignore trailing commas and comments. Switch those off when the goal is validation, then test the file in the system that will read it.
When does JSON formatting in Notepad++ fail?
Mostly with very large or single-line files, with plugins that won’t load, and in the odd case where formatting changes your content. Each has a documented cause and a workaround.
Files that are too large

None of the plugin documentation checked states a size limit, so the documented limits belong to Notepad++ itself. Files above 200 MB get no syntax highlighting by default, and Settings > Preferences > Performance changes the threshold (Notepad++ user manual). On the opening side, the 64-bit build dropped its 2 GB restriction in the v8.2.2 release candidate, according to the Notepad++ Community announcement.
Line endings matter more than raw size. Participants in that thread note that Scintilla crashes on huge files with no line endings, and one tester opened a file over 2 GB once newlines were added.
A minified export is one long line, which is exactly that case.
Formatting that changes your content
JSON Viewer parses the text and writes it back, so some content doesn’t make the round trip unchanged.
The 1.40 release notes describe comment support as parsing only, so assume comments don’t survive a format until you test it. Version 2.0.6.0 added an option that replaces undefined with null.
Long numbers are the other catch. Version 2.2.0.0 changed how raw number values are handled during formatting, and RFC 8259 names integers from -(2^53)+1 to (2^53)-1 as the range software agrees on exactly. Test files with longer numeric IDs on a copy first.
Plugins that will not load or uninstall
Plugins Admin sometimes fails to remove a plugin. Notepad++ Community replies suggest running Notepad++ as administrator first. If that doesn’t help, close Notepad++ and delete the plugin’s folder under plugins by hand, which those replies call the recommended fallback.
To only park a plugin, Deactivate in Plugins Admin moves its files into the disabled subfolder, so Notepad++ stops loading them at startup.
Manual formatting with Find and Replace
Search > Replace (Ctrl+H) can split flat JSON onto separate lines without any plugin. Set Search Mode to Regular expression, put a single comma in Find what, and a comma followed by \r\n in Replace with. The user manual confirms that control-character syntax such as \r\n works in the Replace with box.
The trick breaks on real data. Commas inside string values get split too, and nothing is indented, which is why the manual points heavier needs to external tools.
When jq is the better tool
The jq 1.8 manual says its identity filter validates and pretty-prints input, and jq runs from the command line.
| Goal | Command |
|---|---|
| Pretty-print and validate | jq . file.json |
| Indent with tabs | jq –tab . file.json |
| Set the indent (7 spaces at most) | jq –indent 4 . file.json |
| Minify to one line | jq -c . file.json |
For very large inputs, jq –stream parses incrementally, and the manual pairs it with the reduce and foreach syntax.
jq 1.8 also keeps the original text of a number it never modifies, unless it was built with decnum disabled. For files in the hundreds of megabytes, it is the saner tool.
FAQ About Formatting JSON in Notepad++
Can Notepad++ format JSON automatically when a file opens?
Yes, through JSON Viewer. Version 2.0.2.0 added an auto-format option that runs when a file opens or when you switch to its tab. You switch it on in the plugin’s settings dialog.
The documentation checked describes no equivalent that formats on save.
Is there a way to format every open file at once?
Not with a built-in command. Format JSON works on one document at a time, and issue 152 in the JSON Viewer GitHub tracker requests a bulk option.
With auto-format on open enabled, clicking through the tabs formats each file as it comes into view.
Can I use an online JSON formatter instead of a plugin?
Yes. Web tools such as JSONLint format pasted JSON without any install.
Some tools process the text on their servers though, so check that before pasting API keys or customer data. For sensitive files, JSON Viewer or jq keeps everything on your machine.
How do I update a JSON plugin in Notepad++?
Open Plugins > Plugins Admin, switch to the Updates tab, tick the plugin and click Update. Notepad++ installs the newer version and restarts.
A release on GitHub can reach Plugins Admin later than it reaches the repository, so a manual install covers the gap when you need the newer build sooner.
A Repeatable Routine for Formatting JSON in Notepad++
Start by confirming the Format JSON shortcut in the Plugins menu, since it works on every file. Next, switch off the ignore options for trailing commas and comments, so a clean format actually tells you something about validity.
Auto-format on open comes last, and only for trusted files. It rewrites text the moment a file opens, so anything with comments or long numeric IDs stays on the manual command.
This sequence was checked against JSON Viewer v2.2.0.0 and the Notepad++ user manual in November 2026. Recheck the Shortcut Mapper after each plugin update, since an update can reassign a default combination.
- Protecting Users and Brand Standards Across Image-Driven Platforms - November 10, 2026
- Go Cheat Sheet - November 9, 2026
- Build or White-Label Software? How Software Teams Decide What to Resell in 2026 - November 9, 2026



