I am looking for a JSON viewer for Windows that can:

Ideally:

  • tabs
  • gratis
  • can edit JSON data
  • displays the filename somewhere, unlike JSON Viewer
  • provide some statistics on the JSON content

Example of large JSON file: https://www.dropbox.com/s/2a6ytj5wa1zlm1c/tracker004_track_2015-08-28_22-22-01-238000.json?dl=0

  • @ThomasWeller Example: dropbox.com/s/2a6ytj5wa1zlm1c/… – Franck Dernoncourt Jul 13 '16 at 19:10
  • @ThompasWeller definitely, that's pretty much my configuration :) A few minutes is ok. I think Pavel was also thinking of creating such a tool (@pavel sorry for not having replied to your email yet, this week is a bit hectic) – Franck Dernoncourt Jul 14 '16 at 3:59
up vote 11 down vote accepted
+50

I have written Huge JSON viewer based on JSON.NET, one of the fastest JSON frameworks. It matches the requirements as follows:

  • open decently large files: it can open the 1.44 GB example file without crashing in ~ 2:45 minutes on my machine (Intel Core i7, 16 GB RAM, SSD). To do that, the OS must be 64 bit. A progress bar is shown
  • has a decently responsive UI: I use a commercial tree view from DevExpress which I hope is optimized very well.
  • can collapse/expand a given level: it is a full tree view and can expand/collapse any nodes. It has a feature to expand to a given level
  • works off-line: it's a Windows desktop application. Needs .NET
  • provide some statistics on the JSON content: some. Can definitely be improved.
  • tabs: yes.
  • gratis: yes. MIT license, but closed source.
  • displays the filename somewhere: yes, in the tab

The only thing it can definitely not (but was optional):

  • "can edit JSON data"

Additional features:

  • search capability
  • performance warning when memory swapping to disk is expected

System requirements:

  • Windows 7 SP1 or higher, x64 bit recommended
  • Physical RAM roughly 7 times the file size to be opened
  • .NET 4.5

Watch out the list of known issues until it's out of beta phase.

Screenshots: Huge JSON Viewer

Performance warning

  • 2
    Looks interesting Thomas! Is it possible to make it portable instead of requiring an installer? Also, will this be open-source or closed-source? I hereby award to you an "honorary badge" for being the first person to post an answer for software than is not available yet! Thanks for letting us know about your exciting project. – RockPaperLizard Jul 15 '16 at 1:54
  • 1
    @RockPaperLizard: it can be made portable by copying the installation directory. I'll provide a portable version in the future. At the moment, this was more a proof of concept and it's not ready to be open source yet. Since I don't really want to maintain it, I want to make it open source once it has the necessary features. – Thomas Weller Jul 15 '16 at 17:22
  • 1
    @jj_: ok, thanks. The only difference I can think of is that I needed to copy the file from my download folder to the virtual machine. I'll check that and make sure I have Cybercapture activated. Thanks for providing all that information. – Thomas Weller May 11 '17 at 11:05
  • 1
    "not ready to be open source yet" said everyone considering open sourcing a project ever. ;^D Then they eventually gave up and went ahead and open sourced it anyhow. If it's not a copyright thing, go ahead and release! The worst that happens is someone helps you get it "ready" for the release it already got. And the best is that now nobody cares what Avast says b/c they're building it themselves now. – ruffin Jun 9 '17 at 13:48
  • 1
    Hi, may I ask the progress about the portable version? Have no admin rights on my PC sadly. – dofine Sep 19 '17 at 2:29

I'm using JSONedit, typically with 1-2MB of text. Largest data sets I've tested were around 50MB and it's annoyingly slow with loading it and peak RAM usage reaches few hundreds MB - there is definitely room for improvement, but it's at least order of magnitude better than browser-based editors I've tested. It seems to meet most of your requirements except tabs and I don't know what you mean by statistics - JSONedit can count nodes by type or count total length of strings for memory usage estimation for DOM-style parsers, maybe this is sufficient).

enter image description here

It can show node statistics:

enter image description here

  • Thanks, pretty good but too slow when the JSON file is over 10 MB :/ – Franck Dernoncourt May 2 '15 at 16:58
  • This worked well for me with a 12MB file that Visual Studio choked on. – Leslie Jul 11 '16 at 0:40

You can use JSToolNpp:

  • open source (GPL 2.0)
  • javascript plugin for Notepad++ (formerly JSMinNpp)
  • can open file up to 100 MB (I haven't tried larger yet)
  • has a responsive UI
  • can collapse/expand a given level (treeview / outline)

enter image description here

  • 1
    Notepad++ itself seems to start having issues when file size grows above 100 MB. – 3ventic Dec 8 '15 at 6:24
  • @3ventic yes :-( I'm still looking for better solutions. – Franck Dernoncourt Dec 8 '15 at 14:30
  • 1
    This is the only reason I don't like NPP+, they even acknowledge the problem and it doesn't sound like they have any good solution. docs.notepad-plus-plus.org/index.php/Large_Text_Files – Caimen Jul 14 '16 at 20:06

Disclaimer: I'm the author of JSONBuddy.

JSONBuddy can do all of this for you and even more:

  1. Can open and edit very large JSON and text data (please use the Plus edition if you need to edit multi-GB text files).
  2. Grid view in addition to the standard text editor.
  3. Built-in JSON validator and syntax-checking.
  4. Entry-helpers based on schema context.
  5. A JSON schema analyzer.

JSONBuddy text editing window

Those are the points related to this posting. Besides that, JSONBuddy also offers additional functionality like CSV and XML to JSON conversions, batch validation or JSON schema documentation.

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.