JSON Minify

Strip whitespace from JSON and see exactly how many bytes you saved

JSON

Minified

JSON Minify

Strip whitespace from JSON and see exactly how many bytes you saved

Features

  • Enstegs-minifiering via JSON.parse + JSON.stringify — går genom en riktig parser, så syntaktiskt ogiltig indata misslyckas snabbt med exakt JavaScript-motorfelmeddelande
  • Byteprecisa storleksstatistiker: TextEncoder.encode().length mäter UTF-8-bytes (inte teckenantal), så flerbytestecken och emoji vägs korrekt
  • Besparingsraden visar absolut bytedelta och procent av indatastorlek — matchar hur en minifierad-sedan-gzipad payload ser ut på linjen
  • Kopiera-knappen växlar till Kopierat! i 1,5 s efter klick, vilket tydligt bekräftar att skrivning till urklipp lyckades — inga tysta fel
  • Ladda ner-knappen ger en `minified.json`-Blob med application/json-MIME, redo att släppas i en HTTP-förfrågans body eller commita till en fixturmapp
  • Tolkningsfel kommer fram med JS-motorns fullständiga meddelande (rad/kolumn när parsern tillhandahåller dem), så du kan peka ut det stötande tecknet i stället för att gissa
  • Helt klientsida: indata lämnar aldrig webbläsaren, ingen telemetri, ingen uppladdning. Minifierings-anropet är synkront och omedelbart för typiska konfigurationer (sub-megabyte-JSON)
  • Utmatning bevarar nyckelordning och exakt numerisk representation — JSON.stringify omkodar inte heltal som flyttal eller ändrar Unicode-escapes, så den minifierade utmatningen är byte-ekvivalent med vad en strikt konsument skulle ompolsa

How to use

  1. Klistra in ditt JSON i den vänstra indatapanelen.
  2. Klicka Minifiera. Verktyget kör JSON.parse för att validera, sedan JSON.stringify utan indenteringsargument för att ta bort alla obetydliga whitespace.
  3. Läs statistikraden: indatabytes, utdatabytes och sparade bytes/procent — användbart för att bestämma om minifieringen är värd kompromissen i läsbarhet.
  4. Klicka Kopiera för att lägga den minifierade strängen i ditt urklipp, eller Ladda ner för att spara som `minified.json`.
  5. Om indata var ogiltig visar en röd felrad JS-motorns tolkningsmeddelande — fixa JSON och klicka Minifiera igen.

Tips & Best Practices

  • Om du minifierar främst för att passa en bundle-budget, aktivera även gzip i din CI:s statiska tillgångspipeline — gzipad pretty JSON är ofta mindre än okomprimerad-men-minifierad.
  • Behåll det ursprungliga pretty-printade JSON i källkontroll; minifiera i ett bygg-steg istället för att commita den minifierade versionen.
  • För mycket stor JSON (10 MB+) är TextEncoder-passet fortfarande snabbt, men paret JSON.parse + JSON.stringify spikar minne kort — okej i en webbläsarflik, problematiskt i en hot-path service worker.
  • Om ditt JSON innehåller tal nära JS:s safe-integer-gräns (2^53), var medveten om att JSON.parse konverterar dem till doubles — minify ändrar inte det, men det är värt att veta innan du felsöker en precisionsmissmatch.
  • Använd Ladda ner för att lägga den minifierade filen i en fixturmapp; para senare med JSON Diff om du behöver bekräfta att rundresan bevarade allt.

FAQ

Hur mycket mindre kommer min JSON att bli?

Helt beroende av hur mycket whitespace som fanns från början. En tungt pretty-printad konfig (2-mellanslagsindentering, nyckeljustering, sluttande radbrytningar) krymper ofta 30–50 %. En JSON som redan står på en rad krymper 0 %. Statistikraden rapporterar det exakta antalet — prova på din data innan du binder dig vid den minifierade versionen.

Bör jag minifiera JSON i produktion?

Oftast nej, eftersom gzip/brotli-komprimering redan krossar repeterad whitespace till några bytes. Minifiering hjälper när (1) du inte kan aktivera komprimering på transporten (vissa inbyggda mål), (2) du bäddar in JSON i en JS-bundle där varje byte räknas mot bundle-budgeten, eller (3) du optimerar IndexedDB/localStorage där det inte finns någon transportkomprimering.

Ändrar detta mina data på något sätt?

Nej. JSON.parse + JSON.stringify är en rundresa genom JavaScript-JSON-specen, som är en strikt delmängd av ECMAScript. Tal, strängar, booleaner, null, arrayer och objekt kommer alla ut byte-ekvivalenta till en giltig ompolsning. Den enda skillnaden är whitespace och nyckelordning (JSON.stringify behåller den ursprungliga insättningsordningen för ett objektliteral).

Hur räknas bytes?

Via TextEncoder().encode().length, som ger UTF-8-bytelängden. Vanlig ASCII är en byte per tecken; é är två bytes; de flesta CJK-tecken tre; de flesta emoji fyra. Att räkna JavaScript-stränglängd (kodenheter) skulle överrapportera ASCII och underrapportera supplementärplanstecken; TextEncoder ger dig talet som matchar det som går på linjen.

Varför misslyckas Minify på min indata?

JSON.parse är strikt: inga avslutande komman, inga kommentarer, inga enkla citattecken runt strängar, inga ociterade nycklar. Om du jobbar med avslappnad JSON (JSON5, JSONC) kommer parsern kasta — förbehandla med en avslappnad parser först, eller använd JSON Formatters JSONC-läge för att städa. Felraden visar motorns meddelande, ofta inklusive raden/kolumnen som bröt.

Skickas något till en server?

Nej. Båda panelerna stannar i din webbläsare; minifieringen körs synkront i samma JavaScript-kontext som renderade sidan. DevTools-nätverket visar inga förfrågningar vid klick på Minifiera. Sidan fungerar offline efter första laddning.

Blir minifierad JSON fortfarande diff-vänlig?

Mindre så. En pretty-printad JSON-fil diff-as radvis och granskare ser exakt vilken nyckel som ändrades. En minifierad JSON-fil är en gigantisk rad — en enskild teckenredigering visas som en hel radersättning i `git diff`. Håll källfiler pretty-printade; minifiera bara för transport eller lagring.

Hur skiljer det sig från JSON Formatter?

JSON Formatter har en Minify-knapp bredvid Pretty-Print plus trädvy, JSONPath, JSONC, schemavalidering och diff. Detta verktyg är den enskilda-syfte-lättviktsversionen: klistra in, minifiera, kopiera, ladda ner — inga paneler, inga lägen, bara sparade bytes.