How to Convert a CSV File to JSON: Step-by-Step Tutorial
{ } Open the CSV to JSON Converter and follow along with this tutorial.
Open Tool →Steps
This tutorial walks you through converting a CSV file to JSON using the free FinancialDataTools.com CSV to JSON Converter. The tool parses and converts your .csv or .tsv file entirely inside your browser using PapaParse — nothing is ever sent to any server.
Try the CSV to JSON Converter — runs entirely in your browser and never uploads your files.
Open the Converter →Step 1: Locate Your CSV File
Find the .csv, .tsv, or .txt file you want to convert. CSV is the most common export format across financial platforms:
- Brokerage transaction history and position exports
- Bank statement downloads
- Price history and market data from providers like Alpha Vantage or FRED
- Accounting exports from QuickBooks, Xero, or similar platforms
- Any delimited text file with column headers in the first row
The file must have column headers in the first row — these become the keys in the JSON objects. If your file lacks headers, add a header row before loading.
Step 2: Open the Converter
Navigate to financialdatatools.com/converters/csv-to-json/ in any modern desktop browser. No login, account, or installation is required.
The converter opens with two panels side by side: the Source (CSV) panel on the left and the Output (JSON) panel on the right. Both start in their empty placeholder state.
Step 3: Load Your File
There are two ways to load your CSV file:
- Click the green "Open" button in the toolbar and select your file using the system file picker.
- Drag and drop your file onto the left (Source) panel.
The file is parsed immediately using PapaParse. For most files this is nearly instantaneous. Very large files may take a second or two.
Once loaded, the file name appears in the toolbar, and the stats bar updates to show the total row count, column count, and a format badge — CSV for comma-separated files, TSV for tab-separated files. A READY TO CONVERT badge appears confirming the file is loaded and ready.
Step 4: Review the Source Preview
The left panel renders your CSV data as a scrollable table — column headers across the top, data rows below. Use this preview to confirm your file loaded correctly before converting:
- Check that column names appear correctly in the header row
- Verify numeric columns show blue right-aligned values
- Confirm empty cells show as
NULL— these will becomenullin the JSON output - Check the row count in the stats bar matches your expectation
For files with more than 500 rows, the preview is capped at 500 rows for performance. A notice at the bottom of the table confirms how many rows are being previewed versus the total. The full dataset will still be converted — the preview cap only affects the on-screen table.
Step 5: Convert to JSON
Click the Convert to JSON button in the toolbar. The converter processes your entire dataset and renders the JSON output in the right panel. A brief Converting… spinner appears for large files.
After conversion, the status badge in the stats bar changes from READY TO CONVERT to CONVERTED, and the Export JSON button becomes active.
Step 6: Inspect the JSON Output
The right panel displays the full JSON output with syntax highlighting. Scroll through it to verify the structure looks correct:
- The output is a JSON array — it starts with
[and ends with] - Each data row is a JSON object inside the array, enclosed in
{ } - Each column header from your CSV is a key (shown in blue) in every object
- Numeric values appear as JSON numbers (orange), not quoted strings
- Empty CSV cells appear as
null(muted italic) - Text values appear as quoted JSON strings (green)
For example, a two-row CSV with columns date, ticker, and close produces an array with two objects, each having those three keys.
[
{
"date": "2026-01-02",
"ticker": "AAPL",
"close": 182.5
},
{
"date": "2026-01-03",
"ticker": "AAPL",
"close": 184.1
}
]
Step 7: Export the JSON File
Click the Export JSON button in the toolbar. The browser downloads the JSON file directly to your downloads folder — no dialog or additional confirmation needed.
The downloaded file is named to match your input file with the extension changed to .json. A file named portfolio_export.csv downloads as portfolio_export.json. A file named transactions.tsv downloads as transactions.json.
Tip: The exported JSON is the complete converted dataset — not limited to the preview rows visible in the source panel. All rows from your original file are included.
Step 8: Reset for Another Conversion
To convert a different file, click the Reset button in the toolbar. This clears the loaded file, the source preview, the JSON output, and all status badges — returning the tool to its initial empty state so you can start a fresh conversion immediately.
Alternatively, you can click Open again and load a new file without resetting — the new file replaces the previous one and the JSON output panel clears automatically.
Privacy reminder: Your file is never uploaded anywhere. All parsing and conversion happens locally inside your browser tab. Closing the tab clears all data from memory immediately.
