JSON Viewer: Complete Feature Guide & Reference
{ } Open the JSON Viewer to explore every feature described in this guide.
Open JSON Viewer →Contents
- What Is the JSON Viewer?
- Supported File Formats
- Format Auto-Detection
- Supported JSON Structures
- Handling Nested Objects and Arrays
- The Toolbar
- Stats Bar
- Column Type Inference
- Sorting Columns
- Row Filtering
- Global Search
- Cell Detail Panel
- File Info Panel
- Pagination
- Export Options
- Privacy & Security
- Use Cases for Financial Data
What Is the JSON Viewer?
The FinancialDataTools.com JSON Viewer is a free, browser-based tool for opening and exploring JSON files as a spreadsheet-style data table. It parses your file entirely inside your browser using native JavaScript — no external parsing library and no file upload to any server.
The viewer is designed for financial analysts, data engineers, and developers who regularly work with JSON data from APIs, data pipelines, algorithmic trading systems, or financial data providers.
Try the JSON Viewer — runs entirely in your browser and never uploads your files.
Open the JSON Viewer →Supported File Formats
| Extension | Description | Common Source |
|---|---|---|
| .json | Standard JSON — array of objects, single object, or object with array values | API responses, data exports, model outputs |
| .jsonl | JSON Lines — one JSON object per line | Streaming APIs, log exports, ML datasets |
| .ndjson | Newline-delimited JSON — identical to JSONL | Data pipelines, event logs, financial feeds |
Format Auto-Detection
The viewer automatically determines the format of your file without any configuration:
- Files with a
.jsonlor.ndjsonextension are parsed as JSON Lines immediately - Files where the first non-whitespace character is
{and the content spans multiple lines are also parsed as JSON Lines - All other files are parsed as standard JSON
The detected format is shown as a badge in the stats bar (JSON or JSONL).
Supported JSON Structures
The viewer accepts several common JSON structures and normalizes them to a row-and-column table:
| Structure | Example | How It's Handled |
|---|---|---|
| Array of objects | [{"id":1,"name":"AAPL"}, ...] | Each object becomes a row; all keys become columns |
| Object with an array value | {"data": [{"id":1}, ...]} | The first array-valued property is used as the row data |
| Single object | {"id":1,"name":"AAPL"} | Wrapped in an array to produce a single-row table |
| JSON Lines | One {...} per line | Each line parsed as a separate row; malformed lines skipped |
Columns are built from the union of all keys across all rows. If some rows have keys that others lack, the missing values are shown as null in those rows.
Handling Nested Objects and Arrays
JSON data frequently contains nested objects and arrays as field values. The viewer handles these by serializing them to their JSON string representation for display in the table cell. For example, a field containing {"bid": 150.25, "ask": 150.30} is displayed as that JSON string in the grid cell.
To inspect the full nested value, click any cell to open the Cell Detail Panel. If the cell contains a valid JSON object or array, it is automatically pretty-printed with indentation for easy reading. You can then copy the full value using the Copy value button.
Tip: The viewer does not recursively flatten nested objects (e.g., turning address.city into its own column). If your data has nested structures you want as separate columns, pre-process the JSON with a tool like jq or Python's pandas.json_normalize() before opening in the viewer.
The Toolbar
| Button | Function |
|---|---|
| Open File | Opens a system file picker to select your .json, .jsonl, or .ndjson file |
| Info | Opens the file info panel showing column overview, row count, and format |
| Export | Opens the export dialog |
| File name display | Shows the currently loaded file name |
| Search box | Global text search across all columns simultaneously |
You can also drag and drop a file anywhere on the viewer to open it without using the Open button.
Stats Bar
- Rows: Total number of JSON objects (rows) in the file
- Showing: Number of rows visible after applying filters
- Cols: Number of unique keys discovered across all rows
- Format badge: JSON or JSONL, indicating the detected format
- Filter badge: Pink badge showing active column filter count; click to clear all
Column Type Inference
The viewer samples the first 200 rows of each column to infer whether it contains predominantly numeric, boolean, or string values:
| Inferred Type | Badge Color | Detection Rule |
|---|---|---|
| NUM | Blue | >80% of sampled non-null values are numeric; right-aligned in grid |
| BOOL | Purple | >80% of sampled non-null values are JSON booleans |
| STR | Green | Default for all other columns |
| OBJ | Amber | Column values are serialized JSON objects or arrays |
Type inference is used only for display hints (alignment and badge color). All filtering and sorting operations treat values as strings by default unless both values can be parsed as numbers, in which case numeric comparison is used.
Sorting Columns
Click any column header to sort ascending, click again to sort descending, and a third click returns to the original file order. Numeric columns sort numerically when both values can be parsed as numbers; all other columns sort lexicographically.
Sorting reorders the entire dataset, not just the current page — a sort on a paginated file correctly produces globally-ordered results across all rows.
Row Filtering
Click the filter icon in any column header to open the column filter panel. Two modes are available:
- Values mode: A checklist of all distinct values in that column (up to 500 most-common values). Uncheck values to hide those rows. A search box in the panel lets you find specific values quickly.
- Conditions mode: Apply up to two conditions with operators including contains, equals, does not equal, begins with, ends with, greater than, less than, is empty/null, and is not empty/null. Combine two conditions with AND or OR logic.
Multiple column filters stack with AND logic. Active filters show as a pink badge in the stats bar; click it to clear all column filters at once.
Global Search
The toolbar search input performs a real-time text search across all columns simultaneously. Any row where no column contains the search term is hidden. Global search stacks with column filters — a row must satisfy both the search term and all active column filters to remain visible.
Cell Detail Panel
Clicking any cell in the grid opens the Cell Detail Panel on the right side of the viewer. This panel shows:
- The row number
- The column key name
- The inferred column type
- The character length of the cell value
- The full value, with automatic pretty-printing if the value is a valid JSON object or array
A Copy value button copies the raw value to the clipboard. This is especially useful for nested JSON values that are truncated in the grid cell — the detail panel always shows the complete value regardless of length.
File Info Panel
Click the Info button in the toolbar to open the file info modal. It displays:
- The loaded file name
- Total row count and column count
- Detected format (JSON or JSONL)
- A column overview table listing each key and its inferred type
Use the Copy Column List button to copy the column overview as plain text — useful for documenting an API response schema or setting up a target table definition.
Pagination
JSON files with more than 50,000 rows are automatically paginated to 5,000 rows per page. The page bar at the bottom shows the current page, total pages, and absolute row range. Sorting and filtering apply to the entire dataset before pagination, so filters on a paginated file correctly count and display results from all rows, not just the current page.
Export Options
| Format | Best For | Notes |
|---|---|---|
| CSV | Spreadsheets, data pipelines, pandas DataFrames | Nested objects serialized as JSON strings; UTF-8 encoded |
| JSON | Re-exporting filtered data, downstream APIs | Array of objects; keys from the union column set; null preserved |
| Excel (.xlsx) | Sharing with stakeholders | Frozen header row; auto-sized columns; attribution sheet included |
| TSV | Tab-separated import targets | Useful when values contain commas |
Two export scopes: Filtered view exports only the rows currently visible after filters, and Full file exports all rows ignoring any active filters.
Privacy & Security
The JSON Viewer processes your file entirely inside your browser tab using native JSON.parse() and JavaScript string operations. No file content is transmitted to any server. The only network requests are to load the viewer tool itself and ExcelJS from a CDN (used only during Excel export).
This makes the viewer appropriate for sensitive financial data including API responses containing portfolio data, algorithmic trading system outputs, financial model results, and any other confidential data delivered in JSON format.
Closing the browser tab clears all data from memory immediately. No data is written to localStorage or any persistent browser storage.
Use Cases for Financial Data
JSON has become a standard interchange format across financial APIs and data systems. Common scenarios where the viewer adds immediate value:
- Financial API responses: Data from providers like Alpha Vantage, Polygon.io, IEX Cloud, Quandl, and FRED is commonly returned as JSON. Download a response and inspect it as a table without writing any code.
- Trading system outputs: Algorithmic trading frameworks and signal generators frequently output trade lists, position snapshots, and performance summaries as JSON. The viewer lets you inspect these without opening a Python environment.
- Brokerage API data: Modern brokerages expose portfolio and order data via REST APIs that return JSON. The viewer lets you paste or open a saved response and explore it as a table.
- Financial model outputs: Scenario analysis, Monte Carlo simulation results, and risk model outputs stored as JSON arrays can be quickly browsed, filtered by scenario, and exported to Excel for presentation.
- Event log analysis: Audit trails, transaction logs, and system event logs stored in JSONL format (one event per line) can be opened and filtered to find specific event types, error codes, or date ranges.
- Data validation: Before loading a JSON dataset into a database or analytics pipeline, the viewer lets you verify record counts, spot unexpected null values, and confirm field types are as expected.
