Skip to content
Navritto
Tool · runs in your browser

Convert and clean CSV ⇄ JSON —
right in your browser.

Paste or drop a CSV or JSON file and convert between the two, then remove duplicate rows, trim whitespace, and drop empty rows or columns. Everything runs on your device — nothing is uploaded, there's no row limit, and it keeps working offline once loaded.

Loading converter…

Frequently asked questions

Does my data get uploaded to a server?
No. Your CSV or JSON is parsed, converted, and cleaned entirely in your browser — nothing is uploaded, stored, or logged anywhere. Once the page has loaded it works offline, so it's safe for customer lists, exports, and other confidential data. You can confirm it in your browser's Network tab: no requests go out while you convert.
Is there a row limit or file-size cap?
No row limit. Because the work happens on your own device rather than a server, there's no per-request cap — the practical limit is your device's memory. Large files are streamed and parsed in small chunks so the tab stays responsive, and a progress bar shows how far along it is. For very large data, upload it as a file rather than pasting so it streams.
Can it convert JSON to CSV too, not just CSV to JSON?
Yes — it goes both ways. Paste or drop a JSON array of objects and export it as CSV (keys become the header, and missing keys are filled with blanks so every row lines up), or paste CSV and export JSON as a pretty or minified array of objects. You can also keep the same format on both sides to just clean a file.
How does removing duplicate rows and cleaning work?
Toggle the cleaning passes you want: remove exact duplicate rows (the first occurrence is kept and the original order preserved), trim leading and trailing whitespace from every cell, remove fully empty rows, and optionally drop columns that contain no data. It shows a before-and-after row count so you can see exactly what changed.
Does it detect the delimiter and header row?
Yes. The delimiter is auto-detected, so comma-, tab- (TSV), semicolon-, and pipe-separated files all work without configuration, and the detected delimiter is shown. Whether the first row is a header is a toggle (on by default) — turn it off for headerless data, which converts to a JSON array of arrays.
Does it support Excel (.xlsx) files, and does it work on mobile?
Not yet — v1 handles CSV, TSV, and JSON. Excel's .xlsx format is deliberately not supported for now: the browser libraries that read it have carried security issues, and we won't ship one that puts your data at risk. Export your spreadsheet as CSV (File → Save As / Export → CSV) and it'll work. The tool runs in any modern browser on Android, iPhone, Windows, Mac, and Linux — no app to install.