CodeKitHub
JSON-verktyg

JSON-formaterare och validerare online

Senast uppdaterad:

Klistra in din JSON nedan för att formatera, snygga till eller minifiera den direkt. Verktyget validerar din JSON medan den formaterar och visar exakt fel om något är fel. Allt körs lokalt i din webbläsare — din data laddas aldrig upp till någon server.

Så använder du det

  1. Klistra in din JSON i inmatningsrutan till vänster (eller klicka på "Läs in exempel" för att testa).
  2. Välj 2- eller 4-blanksteg indentering.
  3. Klicka på "Formatera" för att snygga till, eller "Minifiera" för att komprimera till en enda rad.
  4. Om JSON är ogiltig, läs felmeddelandet under rutorna för att hitta problemet.
  5. Klicka på "Kopiera" för att kopiera resultatet till urklipp.

Exempel

Inmatning

{"name":"CodeKitHub","tools":["json","base64"],"free":true}

Resultat

{
  "name": "CodeKitHub",
  "tools": [
    "json",
    "base64"
  ],
  "free": true
}

Samma data, formaterad med 2-blanksteg indentering. Minifiera gör motsatsen: den tar bort allt whitespace.

Vad är detta verktyg?

En JSON-formaterare tar rå, minifierad eller rörig JSON-text och skriver om den med konsekvent indentering och radbrytningar så att den blir lätt att läsa. JSON (JavaScript Object Notation) är det vanligaste dataformatet som används av API:er, konfigurationsfiler och loggsystem, men servrar skickar det oftast som en enda oläsbar rad för att spara bandbredd.

Verktyget fungerar också som en JSON-validerare: det tolkar din indata med samma strikta regler som webbläsare använder, så om din JSON har ett saknat kommatecken, en okänd nyckel eller ett avslutande kommatecken kommer du att se det exakta felmeddelandet istället för ett tyst fel.

JSON definieras formellt av två samstämda standarder, RFC 8259 och ECMA-404 — och specifikationen är medvetet strängare än JavaScript självt, vilket är varför ett kodavsnitt som körs utan problem som JS-kod ändå kan misslyckas med strikt JSON-validering här.

Praktiska tips

  • Felsöker du ett API? Klistra in det råa svaret först, formatera sen — validatorn pekar ut exakt rad och kolumn för eventuella syntaxproblem, vilket slår att kisa på en enradig klump.
  • Använd 2-blanksteg indentering för läsning på skärm och minifiera innan du klistrar in JSON i en URL, en miljövariabel eller ett chattmeddelande — whitespace kostar bara byte där.
  • JSON5-liknande kommentarer och avslutande kommatecken är de två vanligaste anledningarna till att handskriven konfiguration "ser bra ut" men misslyckas med validering: strikt JSON tillåter ingetdera.
  • För mycket stora filer (loggar, databasdumpar), formatera bara den del du bryr dig om — din editor förblir responsiv och strukturen blir lättare att följa.

Var detta passar in i verkliga arbetsflöden

Det vanligaste flödet vi ser: ett API returnerar Base64-inbäddad eller minifierad JSON inuti en token- eller webhook-payload. Avkoda Base64 först, formatera JSON därefter, och jämför två svar sist när något ändrats mellan miljöer. Varje steg har ett dedikerat verktyg här, och dina payloads lämnar aldrig webbläsaren i något av dem.

Frontend-utvecklare använder minifieringsriktningen precis lika ofta som formatering: skickar du en stor statisk JSON-fil? Att minifiera den sparar vanligtvis 20–30% redan innan gzip ens börjar.

→ Base64-kodare/avkodare · Textjämförelse

Vanliga JSON-fel och hur du fixar dem

De flesta "ogiltig JSON"-rapporter kan spåras till en liten grupp återkommande fel. Tabellen nedan täcker de vanligaste du stöter på när du redigerar konfigfiler för hand eller felsöker inklistrat API-svar.

FelExempelÅtgärd
Avslutande kommatecken{"a": 1, "b": 2,}Ta bort kommatecknet efter det sista objektet i en array eller ett objekt.
Enkla citattecken{'a': 1}JSON kräver dubbla citattecken för nycklar och strängvärden.
Ocitad nyckel{a: 1}Omslut varje nyckel med dubbla citattecken: {"a": 1}.
Kommentarer{ // obs\n "a": 1 }Strikt JSON tillåter inga kommentarer — ta bort // och /* */ innan validering.
Saknat kommatecken{"a": 1 "b": 2}Lägg till ett kommatecken mellan varje nyckel-värde-par.
NaN / undefined / Infinity{"a": NaN}Dessa är giltig JavaScript men inte giltig JSON — använd null eller en sträng istället.

Vanliga användningsfall

  • Läsa ett minifierat API-svar som returnerats som en oläsbar rad, för att förstå dess struktur under felsökning.
  • Validera en konfigurationsfil (som en package.json eller en JSON-baserad inställningsfil) som mystiskt inte läses korrekt av en applikation.
  • Dela ett läsbart, formaterat JSON-avsnitt i en buggrapport, kodgranskning eller dokumentation.
  • Krympa en JSON-payload till dess minsta form innan den bäddas in i en URL-parameter eller lagras i en databaskolumn med storleksgränser.

Varför använda det?

BankID-integrationen kastar ett 500-fel och loggen sparar hela svaret som en enda rad — klistra in det här för att direkt se vilket fält som saknades i payloaden.

Du bygger ett Swish-liknande betalningsflöde och får "Unexpected token at position 112" — verktyget pekar ut exakt rad och kolumn istället för att du ska räkna tecken för hand.

Du ska skicka en konfiguration till ett tredjeparts-API och vill minska payloadens storlek innan den lämnar din maskin — minifiera med ett klick.

JSON:en innehåller personnummer eller kunddata och du får inte klistra in den i ett externt verktyg av GDPR-skäl — allt sker lokalt i din webbläsare, ingenting lämnar din enhet.

Du granskar en kollegas pull request där testdatan är en enda minifierad rad — formatera den först så att diffen faktiskt visar vad som ändrats.

Vanliga frågor

Laddas min JSON-data upp till en server?

Nej. Detta verktyg körs helt i din webbläsare med JavaScript. Din JSON lämnar aldrig din enhet, vilket gör det säkert att använda med känslig eller intern data.

Varför är min JSON ogiltig?

De vanligaste orsakerna är: saknade eller extra kommatecken, nycklar utan dubbla citattecken, enkla citattecken istället för dubbla, avslutande kommatecken efter sista objektet, och kommentarer (JSON tillåter inte kommentarer). Felmeddelandet under inmatningsrutan visar vad tolkaren hittade.

Vad är skillnaden mellan Formatera och Minifiera?

Formatera lägger till indentering och radbrytningar för att göra JSON läsbar för människor. Minifiera tar bort allt onödigt whitespace för att göra JSON så liten som möjligt — användbart innan överföring eller inbäddning.

Finns det en storleksgräns?

Det finns ingen hård gräns som verktyget sätter. Mycket stora filer (tiotals megabyte) kan vara långsamma beroende på din enhet, eftersom all bearbetning sker lokalt i din webbläsare.

Kan verktyget fixa trasig JSON automatiskt?

Nej — verktyget talar om exakt var JSON är trasig så att du kan fixa det, men det gissar eller ändrar inte din data. Detta är medvetet: att tyst "fixa" data kan dölja riktiga buggar.

Stöder verktyget JSON5 eller JSONC (kommentarer, avslutande kommatecken, ocitade nycklar)?

Nej, och det är medvetet — verktyget validerar mot strikt RFC 8259-JSON, det format som dina API:er och JSON.parse() faktiskt kräver. Ska du formatera en JSONC-konfigfil (som tsconfig.json), ta bort kommentarerna först, annars rapporterar tolkaren dem som fel.

Hur skiljer sig det här från att bara köra JSON.stringify i webbläsarens konsol?

JSON.stringify(JSON.parse(x), null, 2) gör samma omformatering, men du behöver en öppen konsol och den kastar ett otydligt generiskt fel vid ogiltig indata istället för att peka ut den exakta rad och kolumn som det här verktyget gör.

Fungerar detta lika bra i alla webbläsare, som Safari eller äldre Edge?

Ja. Verktyget använder webbläsarens inbyggda JavaScript-tolkare, som är identiska i alla moderna webbläsare (Chrome, Firefox, Safari, Edge) — samma resultat oavsett enhet eller operativsystem.

Vad är skillnaden mot den inbyggda JSON-formateringen i min textredigerare?

Principen är densamma, men det här verktyget kräver ingen installation, fungerar i vilken webbläsare som helst, visar exakt felposition och går att använda även när du inte sitter vid din egen dator — till exempel på en delad arbetsstation eller mobilen.

Vad händer om jag av misstag klistrar in känsliga uppgifter, som personnummer?

Eftersom all bearbetning sker i din webbläsare och ingenting skickas till någon server är risken densamma som att klistra in texten i ditt eget anteckningsblock. Vi rekommenderar ändå att du alltid tar bort riktiga personnummer och kunduppgifter innan du delar resultatet vidare.

Relaterade verktyg