How to Convert CSV to JSON in Python Without Pandas

Published April 2025 · 5 min read

You don't need pandas for simple CSV to JSON conversion. Python's built-in modules work perfectly.

The Simple Way (5 Lines)

import csv, json

with open('data.csv') as f:
    reader = csv.DictReader(f)
    data = list(reader)

with open('data.json', 'w') as f:
    json.dump(data, f, indent=2)

One-Liner for Quick Conversion

import csv, json
print(json.dumps(list(csv.DictReader(open('data.csv'))), indent=2))

From String (No File)

import csv, json, io

csv_string = """name,age,city
John,30,New York
Jane,25,London"""

reader = csv.DictReader(io.StringIO(csv_string))
print(json.dumps(list(reader), indent=2))

Output

[
  {"name": "John", "age": "30", "city": "New York"},
  {"name": "Jane", "age": "25", "city": "London"}
]

Want to Do It Without Code?

Use our CSV to JSON Converter — paste your CSV and get JSON instantly.

Related