Skip to content

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.

Geen tracking Draait in je browser Gratis
Opties
Omhullen in dubbele aanhalingstekens
Niet-ASCII escapen (\uXXXX)
Forward slash escapen (\/)
0 tekens
Geëscapede string
0 tekens
Gecontroleerd op JSON-spec-conformiteit, surrogaatpaar-correctheid, roundtrip-veiligheid en slash-escapen bij HTML-insluiting — Go Tools Engineering-team · Jun 10, 2026

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. 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. 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. 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.

✗ Fout
Input already escaped: line1\nline2
Escaped again -> line1\\nline2  (literal backslash-n)
✓ Correct
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.

✗ Fout
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON
✓ Correct
{"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.

✗ Fout
café  ->  caf\u00e9   (no downstream need; just noise)
✓ Correct
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?
Hij zet elke tekst — een JSON-object, een code-snippet, een logregel of gewone tekst — om in een geldige JSON-stringliteral, volledig in je browser. Speciale tekens die een JSON-document zouden breken, worden geëscaped: dubbele aanhalingstekens worden \", backslashes worden \\, regeleindes worden \n, tabs worden \t, regelterugloop wordt \r, en andere controltekens worden \uXXXX. Het resultaat is een string die je veilig als waarde kunt plakken binnen een JSON-document, een REST-requestbody, een configuratiebestand of een databasekolom. Er wordt niets geüpload — de conversie draait 100% client-side, dus het is veilig voor payloads met PII, geheimen of interne data.
Wat is het verschil tussen JSON escapen en JSON stringify?
Ze beschrijven dezelfde kernbewerking vanuit twee invalshoeken. JSON.stringify() in JavaScript neemt een waarde en produceert de JSON-tekstrepresentatie ervan; als de waarde een string is, betekent dat hem in dubbele aanhalingstekens zetten en de speciale tekens erin escapen — wat precies JSON escapen is. Deze tool doet exact dat: met Omhullen in dubbele aanhalingstekens aan is de uitvoer gelijk aan JSON.stringify(jouwTekst); met de optie uit krijg je de geëscapede body zonder de omringende aanhalingstekens, wat je nodig hebt wanneer je de JSON met de hand bouwt en de aanhalingstekens al hebt getypt. Dus als je zocht op json stringify online, is dit de tool — hij geeft je zowel de vorm met als zonder aanhalingstekens.
Wordt mijn data ergens geüpload?
Nee. Al het escapen draait volledig in je browser met JavaScript — je tekst wordt nooit verzonden, opgeslagen, gelogd of geanalyseerd op een server. Dat maakt de tool veilig voor API-payloads met PII, authenticatietokens, interne configuratie en productiegeheimen. Je kunt het verifiëren in het Netwerk-tabblad van je browser: typen of plakken veroorzaakt nul netwerkverzoeken. Er zijn geen cookies voor je invoer en geen analytics van derden die vastleggen wat je plakt.
Wanneer heb ik de optie \uXXXX (niet-ASCII escapen) nodig?
JSON staat ruwe UTF-8 toe, dus standaard blijft een é een é en een emoji een emoji — volkomen geldig en beter leesbaar. Zet Niet-ASCII escapen alleen aan wanneer een downstream-systeem geen UTF-8 aankan: oude SOAP/XML-gateways, sommige logpipelines, e-mailheaders, of bronbestanden die pure ASCII moeten blijven. Met de optie aan wordt elk teken boven U+007F een \uXXXX-sequentie (astral-tekens zoals emoji worden een surrogaatpaar, bijv. 😀 → \ud83d\ude00). De geëscapede uitvoer is byte-voor-byte ASCII en decodeert terug naar de oorspronkelijke Unicode in elke conforme JSON-parser.
Hoe sluit ik een JSON-object in binnen een andere JSON-string (JSON-in-JSON)?
Plak de binnenste JSON in de invoer, houd Omhullen in dubbele aanhalingstekens aan en kopieer het resultaat — het is nu één geëscapede string die je aan een sleutel in het buitenste document kunt toewijzen. Bijvoorbeeld {"a":1} wordt "{\"a\":1}", die je achter een dubbele punt plaatst: {"payload": "{\"a\":1}"}. Deze dubbele encoding is gebruikelijk in webhook-enveloppen, message-queue-payloads en auditlogs die een requestbody als string opslaan. Om het om te keren en het binnenste object te lezen, gebruik je onze tool JSON unescapen.
Wat doet de optie Forward slash escapen (\/)?
De forward slash / is een normaal teken in JSON en hoeft niet geëscaped te worden, dus standaard blijft hij ongemoeid. De optie bestaat voor één specifiek geval: JSON insluiten binnen een HTML-<script>-tag, waar de sequentie </script> de tag voortijdig zou sluiten. Door / naar \/ te escapen wordt </script> omgezet in <\/script>, wat nog steeds geldige JSON is maar geen tag-afsluiter meer. Zet de optie alleen aan wanneer je JSON in HTML inlijnt; laat hem voor elk ander gebruik uit voor schonere uitvoer.
Verwerkt hij regeleindes, tabs en controltekens correct?
Ja. De tool is gebouwd op de exacte escape-regels van de JSON-specificatie: regeleinde → \n, regelterugloop → \r, tab → \t, backspace → \b, form feed → \f, dubbel aanhalingsteken → \", backslash → \\, en elk overig controlteken onder U+0020 → \uXXXX. Dit is identiek aan wat een conforme JSON-serializer produceert, dus de uitvoer roundtript verliesvrij: escape hem hier, parse hem overal, en je krijgt je oorspronkelijke tekst byte voor byte terug.

Gerelateerde tools

Alle tools bekijken →