JSON escapen
Escape elke tekst of JSON tot een geldige JSON-stringliteral in je browser. Verwerkt aanhalingstekens, regeleindes, tabs, Unicode en slashes. 100% privé, geen upload, direct.
Opties
Wat is JSON escapen?
JSON escapen is het proces waarbij een ruwe string wordt omgezet in een vorm die veilig is om binnen een JSON-document in te sluiten. JSON heeft een kleine set tekens met structurele betekenis — het dubbele aanhalingsteken begrenst strings, de backslash start een escape-sequentie — plus controltekens (regeleindes, tabs) die niet letterlijk binnen een string mogen voorkomen. Escapen vervangt elk hiervan door een veilige sequentie van twee tekens (\", \\, \n, \t) of een \uXXXX-Unicode-escape, zodat de resulterende string overal schoon parset.
Je grijpt vaker naar JSON escapen dan je misschien denkt. Het meest voorkomende geval is JSON-in-JSON: een webhook-envelop, een message-queue-payload of een auditlog slaat een requestbody op als stringveld, wat betekent dat de binnenste JSON geëscaped moet worden voordat hij kan worden toegewezen. Een ander geval is JSON-config met de hand schrijven: een shellscript, SQL-query of code-snippet over meerdere regels in één JSON-waarde plakken vereist dat elk regeleinde \n wordt. Een derde is REST-requestbodies met de hand bouwen in tools als curl, waar een JSON-string tussen aanhalingstekens geëscaped moet worden om de shell en de HTTP-laag te overleven.
Deze tool heeft drie onderscheidende eigenschappen ten opzichte van een naïeve escaper. Ten eerste is hij gebouwd op de exacte regels van de JSON-specificatie — dezelfde logica die een conforme serializer gebruikt — dus de uitvoer roundtript verliesvrij: escape hier, parse overal, krijg je bytes terug. Ten tweede zet de optionele ASCII-veilige modus elk niet-ASCII-teken (inclusief astral-emoji, verwerkt als surrogaatparen) om naar \uXXXX voor systemen die geen UTF-8 aankunnen. Ten derde draait alles 100% in je browser — je payloads, die vaak PII, tokens en geheimen bevatten, raken nooit een server. Om het proces om te keren, gebruik je onze tool JSON unescapen; om eerst JSON te valideren, zie de JSON-formatter.
// Input text
She said "hi"
then left.
// Escaped (Wrap on) — identical to JSON.stringify(input)
"She said \"hi\"\nthen left."
// Escaped (Wrap off) — just the body, for hand-built JSON
She said \"hi\"\nthen left.
// JSON-in-JSON
{"a":1} -> "{\"a\":1}" -> {"payload": "{\"a\":1}"} Belangrijkste functies
Spec-nauwkeurig escapen
Gebouwd op de exacte regels van de JSON-specificatie — aanhalingstekens, backslashes, regeleindes, tabs, regelteruglopen en controltekens worden identiek geëscaped aan een conforme serializer. De uitvoer roundtript verliesvrij door elke JSON-parser.
Uitvoer met of zonder aanhalingstekens
Omhullen in dubbele aanhalingstekens aan geeft een volledige JSON-stringliteral (zelfde als JSON.stringify); uit geeft alleen de geëscapede body voor wanneer je de aanhalingstekens zelf typt in een met de hand geschreven JSON-document.
ASCII-veilige \uXXXX-modus
Zet optioneel elk teken boven U+007F om naar een Unicode-escape, met astral-tekens zoals emoji verwerkt als correcte surrogaatparen. De uitvoer is pure ASCII, veilig voor legacypipelines die UTF-8 verkeerd verwerken.
HTML-veilig slash-escapen
Forward slash escapen zet / om in \/, waardoor de sequentie </script> geneutraliseerd wordt zodat JSON kan worden ingelijnd binnen een HTML-<script>-tag zonder die voortijdig te sluiten. Standaard uit voor schone uitvoer overal elders.
Wisselen voor roundtrip-verificatie
Eén knop Richting wisselen schakelt ter plekke naar unescape-modus en voert de uitvoer terug als invoer, zodat je kunt bevestigen dat escape → unescape je oorspronkelijke tekst byte voor byte teruggeeft voordat je hem verstuurt.
100% browsergebaseerde privacy
Al het escapen draait client-side — je payloads (PII, tokens, geheimen) verlaten nooit de browser. Verifieer het in het Netwerk-tabblad: nul verzoeken bij plakken. De enige veilige manier om gevoelige data te escapen in een onlinetool.
Voorbeelden
JSON in JSON insluiten (JSON-in-JSON)
{"event":"signup","user":{"id":42,"name":"Alice"}} Escape dit object zodat het als stringwaarde binnen een ander JSON-document kan staan — bijvoorbeeld een veld in een webhook-payload of een Kafka-bericht-envelop. Met Omhullen aan is de uitvoer klaar om meteen achter een dubbele punt te plakken.
Code-snippet over meerdere regels in een configveld
function greet(name) {
return `Hello, ${name}!`;
} Zet een JS-functie van meerdere regels om in één JSON-string op één regel. Regeleindes worden \n en de backtick-template blijft intact — plak het in een JSON-configwaarde zonder het bestand te breken.
Tekst met aanhalingstekens en tabs
She said "hello" then left.
Dubbele aanhalingstekens worden geëscaped naar \" en de tab wordt \t, zodat de string veilig in elke JSON-parser, logregel of REST-requestbody past.
ASCII-veilige uitvoer voor legacysystemen
Price: 9.99€ — café société
Zet Niet-ASCII escapen aan om € en letters met accent om te zetten naar \uXXXX. Het resultaat is pure ASCII, veilig voor systemen die UTF-8 onderweg verminken.
Hoe te gebruiken
- 1
Plak je tekst of JSON
Voer of plak iets in het invoerveld — een JSON-object, een code-snippet, een logregel of gewone tekst. Het geëscapede resultaat verschijnt direct. Klik op 'Voorbeeld laden' om een sample te proberen, zoals een JSON-in-JSON-payload of een functie over meerdere regels.
- 2
Kies escape-opties
Houd 'Omhullen in dubbele aanhalingstekens' aan voor een volledige JSON-stringliteral (zelfde als JSON.stringify), of uit om alleen de geëscapede body te krijgen. Zet 'Niet-ASCII escapen' aan voor pure-ASCII \uXXXX-uitvoer, en 'Forward slash escapen' bij het inlijnen van JSON in een HTML-<script>-tag.
- 3
Kopieer de geëscapede string
Klik op Kopiëren om het resultaat te pakken, klaar om te plakken in een JSON-document, REST-requestbody of configbestand. Klik op Richting wisselen om naar unescape-modus te schakelen en een verliesvrije roundtrip te verifiëren.
Veelvoorkomende valkuilen bij escapen
Dubbel escapen (al-geëscapede tekst escapen)
Twee keer escapen verandert \n in \\n en \" in \\\", zodat de consument een letterlijke backslash-n ziet in plaats van een regeleinde. Dit gebeurt meestal wanneer tekst stroomopwaarts al JSON-geëscaped was. Unescape eerst (Richting wisselen) om te controleren, en escape dan precies één keer.
Input already escaped: line1\nline2 Escaped again -> line1\\nline2 (literal backslash-n)
Raw input: line1 line2 Escaped once -> line1\nline2 (real newline encoded)
De omringende aanhalingstekens vergeten
Met Omhullen uit krijg je alleen de geëscapede body, niet een volledige JSON-string. Die rechtstreeks plakken waar een waarde wordt verwacht levert ongeldige JSON op omdat de aanhalingstekens ontbreken. Houd óf Omhullen aan, óf zorg dat je de aanhalingstekens zelf typt.
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON {"msg": "hello \"world\""}
// Wrap on supplies the quotes -> valid JSON Niet-ASCII onnodig over-escapen
Niet-ASCII escapen aanzetten terwijl de consument UTF-8 prima aankan, blaast de uitvoer alleen maar op en schaadt de leesbaarheid — café wordt caf\u00e9 zonder reden. Laat de optie uit tenzij een specifiek legacysysteem pure ASCII vereist.
café -> caf\u00e9 (no downstream need; just noise)
café -> café (valid JSON, readable, smaller)
Veelvoorkomende toepassingen
- JSON-in-JSON-webhook-payloads
- Escape een requestbody zodat hij als stringveld kan worden opgeslagen binnen een webhook-envelop, Kafka-bericht of auditlog. Houd Omhullen aan en de uitvoer is klaar om aan een sleutel in het buitenste document toe te wijzen.
- Snippets over meerdere regels in config
- Zet een shellscript, SQL-query of code-snippet over meerdere regels om in één JSON-stringwaarde. Elk regeleinde wordt \n zodat het JSON-configbestand geldig blijft op één regel.
- Handgebouwde REST-requestbodies
- Escape een JSON-string voordat je hem in een curl --data-argument of een HTTP-client zet, zodat aanhalingstekens en regeleindes de shell en de verbinding overleven zonder het verzoek te breken.
- Log-veilige string-encoding
- Escape door gebruikers aangeleverde content voordat je hem naar een gestructureerde logregel schrijft, zodat geïnjecteerde aanhalingstekens of regeleindes het logformaat of een downstream JSON-logparser niet corrumperen.
- ASCII-only legacy-integraties
- Produceer pure-ASCII \uXXXX-uitvoer voor SOAP-gateways, e-mailheaders of oudere systemen die UTF-8 onderweg verminken, terwijl het volledig decodeerbaar blijft door elke moderne JSON-parser.
- JSON inlijnen in HTML
- Escape forward slashes zodat een JSON-blob rechtstreeks binnen een <script>-tag kan worden ingesloten voor server-gerenderde pagina's, zonder dat </script> in de data de tag te vroeg sluit.
Technische details
- Escape-algoritme
- De tool serialiseert je invoer met de stringregels van de JSON-specificatie: U+0022 (") → \", U+005C (\) → \\, U+0008 → \b, U+000C → \f, U+000A → \n, U+000D → \r, U+0009 → \t, en elk ander teken onder U+0020 → \u00XX. Met Omhullen aan worden de omringende dubbele aanhalingstekens meegenomen; met de optie uit worden ze weggelaten. Dit komt exact overeen met de uitvoer van een conforme serializer, wat verliesvrije roundtrips garandeert.
- Unicode en surrogaatparen
- Standaard worden tekens boven U+007F uitgezonden als letterlijke UTF-8, wat JSON toestaat. Met Niet-ASCII escapen aan wordt elk zo'n teken omgezet naar \uXXXX op basis van zijn UTF-16-code-unit; tekens buiten de Basic Multilingual Plane (emoji, zeldzame schriften) worden gecodeerd als een surrogaatpaar van twee \uXXXX-escapes — bijvoorbeeld 😀 (U+1F600) wordt \ud83d\ude00, dezelfde representatie die een JSON-serializer produceert.
- Forward slash en HTML-context
- JSON vereist geen escapen van /, dus standaard blijft hij behouden. Wanneer Forward slash escapen is ingeschakeld, wordt elke / een \/. De enige praktische reden om dit te doen is HTML-insluiting: binnen een <script>-tag sluit de letterlijke substring </script> de tag ongeacht de JSON-context, dus de slash escapen naar <\/script> houdt de ingelijnde JSON intact terwijl het spec-geldig blijft.
Best practices
- Houd Omhullen aan voor volledige literals
- Wanneer je een waarde nodig hebt om in code toe te wijzen of achter een dubbele punt in JSON te plakken, houd Omhullen in dubbele aanhalingstekens aan — de uitvoer is een volledige, parsebare JSON-string identiek aan JSON.stringify. Zet het alleen uit wanneer je de omringende aanhalingstekens zelf typt.
- Laat Unicode-escapen uit tenzij vereist
- Ruwe UTF-8 is geldige JSON en veel beter leesbaar. Schakel Niet-ASCII escapen alleen in voor een specifiek downstream-systeem dat UTF-8 verkeerd verwerkt (legacy-SOAP, sommige logpipelines, ASCII-only bronbestanden). Standaard alles escapen maakt de uitvoer alleen maar rumoeriger.
- Escape slashes alleen voor HTML-insluiting
- De forward-slash-escape doet ertoe op precies één plek: JSON ingelijnd in een HTML-<script>-tag. Buiten die context voegt het rommel toe zonder voordeel, dus laat het uit voor REST-bodies, configbestanden en bericht-payloads.
- Verifieer roundtrips met Wisselen
- Voordat je geëscapede data een pipeline in stuurt, klik op Richting wisselen om het te unescapen en te bevestigen dat je de oorspronkelijke tekst terugkrijgt. Dit vangt onbedoeld dubbel escapen — een veelvoorkomende bron van \\n waar \n bedoeld was. Keer altijd om met onze tool JSON unescapen.
Veelgestelde vragen
Wat doet deze JSON-escape-tool?
Wat is het verschil tussen JSON escapen en JSON stringify?
Wordt mijn data ergens geüpload?
Wanneer heb ik de optie \uXXXX (niet-ASCII escapen) nodig?
Hoe sluit ik een JSON-object in binnen een andere JSON-string (JSON-in-JSON)?
Wat doet de optie Forward slash escapen (\/)?
Verwerkt hij regeleindes, tabs en controltekens correct?
Gerelateerde tools
Alle tools bekijken →Base64 decoderen en encoderen online
Encodering en formattering
Base64 decoderen en encoderen direct in je browser. Realtime conversie met volledige UTF-8- en emoji-ondersteuning. 100% privé — geen account nodig.
Base64 naar afbeelding converter
Encodering en formattering
Decodeer een Base64-string of data-URI terug naar een afbeelding in je browser. Bekijk voorbeeld, lees afmetingen & MIME, download als PNG, JPG, GIF, SVG. Geen upload.
CSV naar JSON omzetter
Encodering en formattering
Zet CSV om naar JSON in uw browser. RFC 4180, type-afleiding, headerregel, big-int veilig. 100% privé, geen upload.
HTML naar Markdown omzetter
Encodering en formattering
Zet HTML om naar schone Markdown in je browser — GFM-tabellen, takenlijsten en links. Kies ATX/Setext-koppen en inline- of referentielinks. Ideaal om webinhoud te migreren of LLM's te voeden. 100% privé, geen upload.
Afbeelding naar Base64 converter
Encodering en formattering
Zet afbeeldingen om naar Base64 data-URI's in je browser — PNG, JPG, GIF, WebP, SVG, ICO. Kopieer HTML-, CSS-, Markdown- en JSON-uitvoer. 100% privé, zonder uploaden.
JSON Diff (Vergelijken)
Encodering en formattering
Vergelijk twee JSON-bestanden direct in je browser. Zij-aan-zij markering, RFC 6902 JSON Patch-uitvoer, negeer storende velden zoals tijdstempels en ID's. 100% privé, geen upload.