Add a file
Choose or drop a .json or .jsonl file. Paste content when the tool provides that option.
JSON Viewer is a browser-local viewer for JSON and JSONL files that parses and formats them, shows the top-level structure, and reports syntax errors by line and column while leaving the original text unchanged.
or drop a .json or .jsonl file here
Choose or drop a .json or .jsonl file. Paste content when the tool provides that option.
The tool reads and processes the file in this browser.
Check the result, then use the available copy, download, or next-step action.
Want to know how files are handled? Read the privacy notice →
Choose the file, drop it on the dashed area, or paste the text, then select the view button to open the JSON file. The page then splits into the top-level structure, a formatted view and the original content. Reading and parsing happen in this browser, with no account and nothing to install.
No. Your JSON file is never uploaded: reading, parsing and formatting all happen inside the browser tab you already have open. You can switch the network off before opening the file and the page still parses and formats it, and nothing remains on the site after you close the tab.
All three use the same page: open this viewer in Edge, Chrome, Safari or a mobile browser and pick the JSON file from local storage. On Windows you can drag a .json file straight out of File Explorer instead of letting Notepad claim it; on Mac drag it from Finder; on iPhone and Android use the Files app to select it, or paste the text if the picker will not offer it.
The message names the line and column of the first token that cannot belong to the document, so you can jump straight to it. Look at the character just before that spot: a missing comma, a trailing comma before a closing bracket, an unclosed quote, or a mismatched bracket explains almost every case.
Re-save the file as UTF-8 and open it again: bytes are decoded as strict UTF-8, so any other encoding is refused. A file written as GBK, Shift_JIS or UTF-16, or a binary that merely carries a .json name, cannot be decoded and is rejected rather than shown as garbled characters.
Two megabytes per file. Anything larger is refused with a message instead of being half-parsed, and only one file is handled at a time. Folders and multi-file selections are rejected, and content beyond 250,000 characters is shortened on screen while copying and downloading still return everything.
No. Formatting only adjusts indentation and line breaks, so large integers keep their exact digits and duplicate keys all survive. It works on the original tokens rather than on parsed values, which is why 9007199254740993, 1.50, 1e999 and two keys with the same name appear unchanged in the view and in the download.
A JSON file is one document; a JSONL file holds one record per line. Give the file a .jsonl name and it is read line by line. A complete JSON document is tried first, and only if that fails must every non-empty line be an object or an array, with the offending line number reported.
Yes, in the sense that nothing in the file runs: the content is treated purely as data, so scripts, links and paths inside strings are only ever displayed as text. There is no malware scanning and no judgement about where the file came from, so confirm the sender before acting on sensitive data.
Yes. This viewer is free, needs no account and installs nothing: a browser is the only requirement for reading a JSON file. There is no editor to download and no command line to learn, and for a quick check of one field or one syntax error, pasting the text is faster than installing anything.
No. Validity describes syntax only and says nothing about where the file came from, what the fields mean, or whether the values are accurate. Check the sender and apply your own business rules before you load the data into another system.
The copy button takes exactly what the active tab shows, and the download contains the complete formatted text, not the shortened preview. Copying follows the formatted or original view you are currently looking at, and the download file name never doubles up the extension.