Skip to content
BookkeepKit

Convert CSV to JSON

Turn a CSV into an array of JSON objects, one per row, keyed by the header. Columns that contain only numbers or true/false are typed; codes with leading zeros stay text.

Drop a CSV file

Or paste the content below.

Processed in your browser. Your files never leave your computer.

How it works

  1. 1

    Drop or paste the CSV

    With a header row.

  2. 2

    Check the result

    Typed values and column names.

  3. 3

    Download or copy the JSON

    Pretty-printed and ready to use.

Typical uses

  • Preparing data for an API import or a script.
  • Turning a chart of accounts or a customer list into a configuration file.
  • Checking how a system will read a CSV, column by column.

What the output looks like

A CSV with the header account,name,balance and the row 1010,Checking,2500.75 becomes:

[
  { "account": 1010, "name": "Checking", "balance": 2500.75 }
]

The account column is a number here because every value in it is a number. If one row had 01010, the whole column would stay text, so codes are never silently changed.

Cleaning the CSV first

  • Header names become keys: rename columns to the names the receiving system expects before converting (for example date instead of Posting Date).
  • Remove total and summary rows at the bottom of exports, or they become records.
  • Large files: split them with the CSV splitter if an API limits how many records it accepts at once.

Privacy

Customer lists, payroll data and bank exports often end up in JSON for an integration. The conversion runs in your browser, so none of it is sent to a third-party website along the way.

Frequently asked questions

How are types decided?

Per column: if every value is a number, the column becomes numbers; if every value is true or false, booleans. Otherwise it stays text, so a ZIP code like 02134 is never turned into 2134.

What happens to empty cells?

They become empty strings in text columns and null in number or boolean columns.

What if a header is empty?

The column is named column1, column2… by position.

Is my file uploaded?

No. It's converted in your browser.

Can I get one JSON object per line (NDJSON)?

The tool produces a standard JSON array. Most systems that read NDJSON also accept an array; if yours doesn't, each element of the array is one line's object.

Are amounts with dollar signs typed as numbers?

No. Only plain numbers like 1234.56 or -35 are typed, so values like $1,234.56 stay text. Remove currency formatting in the source if you need numbers.