CSV (Comma-Separated Values) är ett vanligt textformat där varje rad är en datapost och fälten inom en post separeras av en avgränsare, vanligtvis ett kommatecken. CSV har varit ett standardformat för datautbyte sedan persondatorns tidiga dagar och formaliserades i RFC 4180. Kalkylblad, databaser och dataexportverktyg producerar alla CSV eftersom det är enkelt, kompakt och läsbart av nästan alla programmeringsspråk.
JSON (JavaScript Object Notation) representerar strukturerad data som nyckel-värdepar och ordnade arrayer. Till skillnad från CSV stöder JSON nästlade objekt, typade värden (tal, booleaner, null) och poster med variabel längd. Eftersom JSON förstås direkt av JavaScript-motorer är det det dominerande formatet för datautbyte mellan webbläsare och server samt för REST API-svar. Dessa egenskaper gör JSON till standardformatet för webb-API:er, konfigurationsfiler och NoSQL-databaser som MongoDB och CouchDB.
Att konvertera CSV till JSON innebär att varje rad i tabellen mappas till ett JSON-objekt, där rubrikraden används som egenskapsnamn och cellvärdena som egenskapsvärden. Resultatet är vanligtvis en JSON-array av objekt. Denna konvertering är nödvändig när du behöver mata in platt tabelldata i ett system som förväntar sig strukturerad JSON-inmatning, till exempel ett REST API, en frontend-datatabell eller en dokumentorienterad databas.
Varför använda det här verktyget?
Den här konverteraren tolkar din CSV i webbläsaren, bygger JSON-utmatning omedelbart och skickar aldrig dina data till en server.
⚡
Omedelbar konvertering
Klistra in CSV och få JSON-utmatning direkt. Inget väntan på en serverroundtrip eller filuppladdning. Konverteringen sker medan du skriver.
🔒
Integritetsfokuserad bearbetning
Dina data stannar i din webbläsarflik. Inget överförs via nätverket. Säkert för interna datamängder, inloggningsuppgifter eller personuppgifter som inte bör lämna din dator.
🔀
Automatisk avgränsaridentifiering
Verktyget känner igen kommatecken, tabbar, semikolon och pipe-tecken som avgränsare. Du kan också ange avgränsaren manuellt om din fil använder ett ovanligt tecken.
📋
Kopiera eller ladda ned
Kopiera JSON-resultatet till urklipp med ett klick eller ladda ned det som en .json-fil. Redo att använda direkt i din kod, API-klient eller databasimport.
Användningsfall för CSV till JSON
Frontend-utveckling
Konvertera en CSV-export från ett designverktyg eller kalkylblad till JSON för att använda som testdata i React-, Vue- eller Angular-komponenter under prototyparbete.
Inläsning av backend-API:er
Transformera CSV-databasdumpar till JSON-nyttolaster för att initiera ett REST- eller GraphQL-API. Många ORM:er och migreringsverktyg accepterar JSON-fixturdata för initial dataladdning.
DevOps-konfiguration
Konvertera CSV-inventeringslistor eller miljömatriser till JSON för användning i Ansible-playbooks, Terraform-variabelfiler eller CI/CD-pipeline-konfigurationer.
Förberedelse av testdata för QA
Omvandla kalkylbladsbaserade testmatriser till JSON-arrayer som kan användas av testramverk som Jest, pytest eller Playwright för datadriven testning.
Datapipelines
Konvertera CSV-utdata från SQL-frågor eller ETL-exporter till JSON för inläsning i dokumentdatabaser som MongoDB, Elasticsearch eller BigQuerys JSON-inläsningsläge.
Studentprojekt och inlärning
Konvertera snabbt exempel-CSV-datamängder (Kaggle, offentliga dataportaler) till JSON för användning i webbutvecklingskurser, tutorials eller personliga projekt.
Referens för CSV-avgränsare
CSV-filer använder inte alltid kommatecken. Avgränsaren beror på språkinställning, det exporterande programmet och datainnehållet. Här är de fyra vanligaste avgränsarna och när de vanligtvis används:
Avgränsare
Standard
Filändelse
Noteringar
Comma (,)
RFC 4180 default
.csv
Most common; Excel default export
Tab (\t)
TSV variant
.tsv
Avoids quoting fields that contain commas
Semicolon (;)
European locale CSV
.csv
Used where comma is the decimal separator (DE, FR, BR)
Pipe (|)
Fixed-width alternative
.csv
Rare in field values, good for messy data
CSV vs JSON: Strukturella skillnader
Skillnaden mellan de två formaten är anledningen till att rubrikmappning, typinferens och hantering av saknade värden kräver explicita beslut vid konvertering.
CSV
Platt, radbaserat format. Varje post har samma antal fält. Alla värden är strängar om inte konsumenten tolkar typer. Inget stöd för nästling eller poster med variabel längd. Rubrikrad är valfri enligt RFC 4180, men krävs för meningsfull JSON-konvertering.
JSON
Trädstrukturerat, självbeskrivande format. Varje objekt kan ha olika nycklar. Värden är typade: sträng, tal, boolean, null, objekt eller array. Stöder godtyckligt nästlingsdjup. Egenskapsordning garanteras inte av JSON-specifikationen (ECMA-404), även om de flesta tolkare bevarar insättningsordningen.
Kodexempel
Hur man konverterar CSV till JSON programmatiskt i populära språk och CLI-verktyg:
import csv, json, io
csv_string = """name,age,city
Alice,30,Berlin
Bob,25,Tokyo"""
reader = csv.DictReader(io.StringIO(csv_string))
data = [row for row in reader]
print(json.dumps(data, indent=2))
# → [{"name": "Alice", "age": "30", "city": "Berlin"}, ...]
# With type coercion (age as int)
import pandas as pd
df = pd.read_csv(io.StringIO(csv_string))
print(df.to_json(orient="records", indent=2))
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]
Go
package main
import (
"encoding/csv"
"encoding/json"
"fmt"
"strings"
)
func main() {
input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
r := csv.NewReader(strings.NewReader(input))
records, _ := r.ReadAll()
headers := records[0]
var result []map[string]string
for _, row := range records[1:] {
obj := make(map[string]string)
for i, h := range headers {
obj[h] = row[i]
}
result = append(result, obj)
}
out, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(out))
// → [{"age":"30","city":"Berlin","name":"Alice"}, ...]
}
CLI (jq + Miller)
# Using Miller (mlr) — handles quoting, types, and edge cases
mlr --icsv --ojson cat data.csv
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]
# Using csvjson from csvkit (Python-based)
csvjson data.csv
# Using jq with @csv (reverse: JSON → CSV)
# For CSV → JSON, pipe through Miller or Python
cat data.csv | python3 -c "
import csv, json, sys
reader = csv.DictReader(sys.stdin)
json.dump(list(reader), sys.stdout, indent=2)
"
Vanliga frågor
Hur hanterar konverteraren CSV-filer utan rubrikrad?
Om din CSV saknar rubrikrad använder konverteraren autogenererade nycklar som "field1", "field2" osv. För bästa resultat, lägg till en rubrikrad innan du konverterar, eller byt namn på nycklarna i JSON-utmatningen efteråt.
Vad händer med citerade fält som innehåller kommatecken eller radbrytningar?
Tolkaren följer RFC 4180:s citeringsregler. Fält som omsluts av dubbla citattecken kan innehålla kommatecken, radbrytningar och till och med dubbla citattecken (undkomna som ""). Konverteraren tar bort de yttre citattecknen och bevarar det inre innehållet som ett enskilt JSON-strängvärde.
Bevarar konverteringen datatyper som tal och booleaner?
CSV är ett otypat format; alla cellvärden är strängar. Den här konverteraren ger strängvärden som standard för att undvika dataförlust. Om du behöver typade värden, tolka JSON-resultatet i din applikation och konvertera fält explicit. Bibliotek som Papa Parse (JavaScript) och pandas (Python) erbjuder dynamisk typning vid tolkning.
Kan jag konvertera CSV med semikolon eller tabbar istället för kommatecken?
Ja. Verktyget stöder kommatecken, tabbar, semikolon och pipe-tecken som avgränsare. Välj rätt avgränsare i rullgardinsmenyn eller låt autoidentifieringen avgöra det. Semikolon är vanliga i CSV-exporter från Excel med europeiska språkinställningar, där kommatecknet fungerar som decimalavgränsare.
Finns det en filstorleksgräns för CSV-inmatning?
Eftersom bearbetningen sker helt i din webbläsare beror den praktiska gränsen på enhetens tillgängliga minne. Filer upp till 10–20 MB konverteras vanligtvis utan problem på modern hårdvara. För mycket stora filer (hundratals MB) använder du en strömningsbaserad tolkare som Papa Parse i Node.js eller Pythons csv-modul, som bearbetar data rad för rad utan att läsa in allt i minnet.
Hur hanterar jag CSV-rader med olika antal kolumner?
Ojämna CSV:er (rader med färre eller fler fält än rubriken) är vanliga i verkliga exporter. Den här konverteraren fyller saknade fält med tomma strängar och ignorerar extra fält utöver rubrikantalet. Om dina data konsekvent är ojämna, undersök källfilen efter ej undkomna avgränsare eller saknade citattecken.
Vad är skillnaden mellan en JSON-array och ett JSON-objekt som utmatning?
En JSON-array av objekt är standardutmatningen: varje CSV-rad blir ett objekt i arrayen med rubriknamn som nycklar. Vissa verktyg erbjuder också en "kolumnbaserad" utmatning där varje rubrik blir en nyckel med en array av alla värden i den kolumnen. Formatet array-av-objekt är vanligare för API:er, databaser och frontend-databindning.