Skip to content

JSON unescapen

Unescape een JSON-string terug naar leesbare tekst in je browser. Decodeert \n, \t, \", \\ en \uXXXX, met of zonder omringende aanhalingstekens. 100% privé, geen upload.

Geen tracking Draait in je browser Gratis
0 tekens
Gedecodeerde tekst
0 tekens
Gecontroleerd op JSON-spec-decodering, parsing met optionele aanhalingstekens, surrogaatpaar-reconstructie en foutafhandeling bij misvormde invoer — Go Tools Engineering-team · Jun 10, 2026

Wat is JSON unescapen?

JSON unescapen is het omgekeerde van JSON escapen: het neemt een string vol escape-sequenties — \n, \t, \", \\, \uXXXX — en zet elk daarvan terug in het teken dat het voorstelt, waarbij de oorspronkelijke tekst wordt hersteld. Waar escapen een string veilig maakt om binnen een JSON-document op te slaan, maakt unescapen een opgeslagen string weer leesbaar.

De behoefte duikt constant op bij debuggen en datawerk. Je kopieert een veld uit een gestructureerde log en het zit vol \n en \" die het echte bericht verbergen — unescapen onthult de werkelijke tekst over meerdere regels. Een API sloeg een requestbody op als string (JSON-in-JSON), en je moet het binnenste object lezen — unescapen zet {\"a\":1} terug in {"a":1}. Een legacysysteem leverde ASCII-veilige uitvoer waar elk accent \uXXXX werd — unescapen herstelt café en résumé. In elk geval is de data technisch intact maar onleesbaar tot ze gedecodeerd is.

Deze tool is gebouwd voor dat decode-pad met drie voordelen. Ten eerste is hij soepel met de omringende aanhalingstekens: plak een volledige literal of alleen de geëscapede body, en hij doet het juiste — omdat geëscapede strings meestal buiten context worden gekopieerd. Ten tweede decodeert hij \uXXXX correct, waarbij surrogaatparen tot juiste astral-tekens zoals emoji worden gecombineerd, identiek aan een conforme JSON-parser, zodat alles wat door een serializer geëscaped is perfect roundtript. Ten derde draait hij 100% in je browser, dus de logvelden en payloads die je decodeert — die vaak PII of geheimen bevatten — bereiken nooit een server. Om daarna opnieuw te escapen, gebruik je onze tool JSON escapen; om de gedecodeerde JSON te valideren, zie de JSON-formatter.

// Escaped input (copied from a log, quotes optional)
User said: \"it works!\"\nSession ended.

// Unescaped output — readable again
User said: "it works!"
Session ended.

// \uXXXX and surrogate pairs decode too
caf\u00e9 \ud83d\ude00  ->  café 😀

// JSON-in-JSON
{\"a\":1}  ->  {"a":1}

Belangrijkste functies

Volledige JSON-escape-decodering

Decodeert de volledige set JSON-escapes — \n \r \t \b \f \" \\ \/ en \uXXXX — terug naar hun echte tekens, identiek aan een conforme JSON-parser. Alles wat een serializer escapeerde komt byte voor byte terug.

Aanhalingstekens optioneel

Plak een volledige stringliteral met omringende aanhalingstekens, of alleen de geëscapede body zonder — de tool detecteert welke en decodeert correct. Ideaal voor strings die uit het midden van een log of document zijn gekopieerd.

Correcte Unicode & emoji

\uXXXX-escapes decoderen naar hun Unicode-tekens, en opeenvolgende surrogaat-escapes combineren tot het juiste astral-teken — \ud83d\ude00 wordt 😀, \u00e9 wordt é. Geen verminkte code points.

Duidelijke foutmeldingen

Misvormde invoer — een losse backslash vóór een niet-herkend teken, of een ongebalanceerd aanhalingsteken — levert een expliciete foutbanner op in plaats van stilletjes rommel te produceren, zodat je precies weet wat je moet oplossen.

Wisselen voor roundtrip-verificatie

Eén knop Richting wisselen schakelt ter plekke naar escape-modus en codeert de gedecodeerde tekst opnieuw, zodat je kunt bevestigen dat unescape → escape de oorspronkelijke string teruggeeft voordat je het resultaat vertrouwt.

100% browsergebaseerde privacy

Al het decoderen draait client-side — de logvelden en payloads die je unescapet (vaak met PII of geheimen) verlaten nooit de browser. Verifieer het in het Netwerk-tabblad: nul verzoeken bij plakken.

Voorbeelden

Geëscapede string gekopieerd uit een log

"User said: \"it works!\"\nSession ended."

Een JSON-geëscaped logveld met \" en \n. Unescape het om het echte bericht van twee regels met echte aanhalingstekens te lezen — precies wat er gelogd is.

Een JSON-in-JSON-payload lezen

{\"event\":\"signup\",\"user\":{\"id\":42}}

Een binnenste JSON-object opgeslagen als geëscapede string. Unescapen onthult de echte JSON zodat je hem kunt lezen of opnieuw kunt parsen. Geen omringende aanhalingstekens nodig — ze worden automatisch toegevoegd.

Decodeer \uXXXX-Unicode-escapes

caf\u00e9 \ud83d\ude00 r\u00e9sum\u00e9

ASCII-veilige escapes van een legacysysteem. Unescapen zet \u00e9 terug in é en het surrogaatpaar \ud83d\ude00 terug in 😀.

Herstel een snippet over meerdere regels

function greet(name) {\n  return \"Hi \" + name;\n}

Een code-snippet die platgeslagen was tot één JSON-string. Unescapen herstelt de echte regeleindes zodat hij weer leesbaar en uitvoerbaar is.

Hoe te gebruiken

  1. 1

    Plak de geëscapede string

    Voer of plak een JSON-geëscapede string in — met of zonder de omringende dubbele aanhalingstekens. De gedecodeerde tekst verschijnt direct. Klik op 'Voorbeeld laden' om een sample te proberen, zoals een geëscapede logregel of een \uXXXX-gecodeerde string.

  2. 2

    Lees de gedecodeerde uitvoer

    Escape-sequenties worden echte tekens: \n wordt regeleindes, \" wordt aanhalingstekens, en \uXXXX wordt Unicode. Als de invoer misvormd is, legt een foutbanner het probleem uit zodat je de problematische backslash kunt oplossen.

  3. 3

    Kopieer of verifieer het resultaat

    Klik op Kopiëren om de leesbare tekst te pakken, of stuur het naar de JSON-formatter om te valideren. Klik op Richting wisselen om het ter plekke opnieuw te escapen en te bevestigen dat de roundtrip overeenkomt met je origineel.

Veelvoorkomende valkuilen bij decoderen

Ongeldige escape zoals \q of \x41

JSON herkent alleen \n \r \t \b \f \" \\ \/ en \uXXXX. Een backslash vóór iets anders — \q, of een C-stijl \x41 — is geen geldige escape en het decoderen mislukt. Vervang \x41 door \u0041, en verwijder verdwaalde backslashes die letterlijk bedoeld waren (een letterlijke backslash moet als \\ worden geschreven).

✗ Fout
value: \q and \x41
// \q and \x hex are not valid JSON escapes -> error
✓ Correct
value: \\q and \u0041
// literal backslash doubled; hex written as \u -> decodes

Ongebalanceerde aanhalingstekens in ge-unescapede invoer

Wanneer je een kale body plakt (zonder buitenste aanhalingstekens), omhult de tool die in aanhalingstekens vóór het decoderen. Als de body zelf een niet-geëscaped dubbel aanhalingsteken bevat, breekt het omhullen en mislukt het decoderen. Escape interne aanhalingstekens als \" of plak in plaats daarvan de volledig omhulde literal.

✗ Fout
say "hi" there
// interior unescaped " breaks auto-wrapping -> error
✓ Correct
say \"hi\" there
// interior quotes escaped -> decodes to: say "hi" there

Een letterlijke backslash verwachten die niet verdubbeld was

Een enkele backslash in de invoer wordt geïnterpreteerd als het begin van een escape. Als je eigenlijk een letterlijke backslash wilde (bijv. een Windows-pad), moet die verdubbeld als \\ verschijnen. Een losse \ vóór een normale letter veroorzaakt een ongeldige-escape-fout.

✗ Fout
path: C:\Users\Alice
// \U and \A are invalid escapes -> error
✓ Correct
path: C:\\Users\\Alice
// doubled backslashes -> decodes to C:\Users\Alice

Veelvoorkomende toepassingen

Gestructureerde logvelden decoderen
Kopieer een berichtveld vol \n en \" uit een JSON-logregel en unescape het om het echte bericht over meerdere regels te lezen precies zoals het werd uitgezonden, in plaats van te turen naar escape-sequenties.
JSON-in-JSON-payloads lezen
Zet een binnenste JSON-object dat als geëscaped stringveld was opgeslagen terug in echte JSON, zodat je het kunt lezen of in een parser kunt plakken — gebruikelijk in webhook-enveloppen en auditlogs.
Unicode herstellen uit ASCII-veilige uitvoer
Decodeer \uXXXX-zware uitvoer van een legacysysteem terug naar letters met accent, CJK-tekens en emoji, waarbij de leesbare vorm wordt hersteld van data die tot pure ASCII gedwongen was.
Code-snippets ont-platslaan
Zet een script of query dat tot één JSON-string was platgeslagen (elk regeleinde als \n) terug om in correct opgemaakte, leesbare code over meerdere regels.
Dubbel-gecodeerde data debuggen
Wanneer een waarde eruitziet als \\n of \\\", unescape één keer om te inspecteren of het stroomopwaarts per ongeluk dubbel geëscaped was, en repareer dan de producent — een veelvoorkomende integratiebug.
API-foutmeldingen inspecteren
Veel API's geven foutdetails terug als geëscapede strings binnen een JSON-envelop. Unescape het bericht om stacktraces en geneste payloads te lezen die anders verborgen blijven achter escape-sequenties.

Technische details

Decodeer-algoritme
De tool parset de invoer als een JSON-string: als die al in dubbele aanhalingstekens is omhuld, wordt hij als zodanig gedecodeerd, anders wordt de ruwe invoer eerst in aanhalingstekens omhuld zodat ook een kale geëscapede body decodeert. Elke herkende escape (\n \r \t \b \f \" \\ \/ \uXXXX) wordt aan zijn teken toegewezen; dit spiegelt een conforme JSON-parser, wat garandeert dat elke serializer-geëscapede string terugkeert naar zijn exacte origineel.
Reconstructie van surrogaatparen
Een \uXXXX-escape levert één UTF-16-code-unit op. Wanneer een hoge surrogaat (\uD800–\uDBFF) onmiddellijk wordt gevolgd door een lage surrogaat (\uDC00–\uDFFF), worden de twee gecombineerd tot één code point boven de Basic Multilingual Plane — dus \ud83d\ude00 decodeert naar het enkele teken 😀 in plaats van twee gebroken helften.
Validatie en foutafhandeling
Als de invoer een ongeldige escape bevat (een backslash gevolgd door een niet-herkend teken, of een misvormde \u-sequentie) of ongebalanceerde aanhalingstekens die het omhullen breken, mislukt het decoderen netjes en wordt een foutbanner getoond in plaats van gecorrumpeerde uitvoer uit te zenden. Geldige invoer levert altijd de exacte gedecodeerde string op; ongeldige invoer levert nooit een misleidend gedeeltelijk resultaat op.

Best practices

Plak met of zonder aanhalingstekens — beide werken
Verspil geen tijd met het wegknippen van omringende aanhalingstekens. De tool decodeert "hello\nworld" en hello\nworld identiek, dus plak wat je ook gekopieerd hebt — inclusief een fragment uit het midden van een groter document — en lees het resultaat.
Unescape één keer, controleer dan op dubbele encoding
Als de gedecodeerde uitvoer nog steeds backslash-sequenties zoals \n toont, was het origineel stroomopwaarts dubbel geëscaped. Unescape een tweede keer om te bevestigen, en repareer dan de producent zodat die maar één keer escapeert in plaats van te leunen op herhaald decoderen.
Valideer de gedecodeerde JSON
Na het unescapen van een JSON-in-JSON-payload, voer het resultaat door onze JSON-formatter om te bevestigen dat het geldig is en om het mooi op te maken. Unescapen herstelt de tekst; de formatter bevestigt de structuur.
Verifieer roundtrips met Wisselen
Klik op Richting wisselen om de gedecodeerde tekst opnieuw te escapen en te controleren of die overeenkomt met de string waarmee je begon. Een mismatch wijst op een misvormde invoer of een onverwachte escape, waardoor dataproblemen aan het licht komen voordat ze zich verspreiden.

Veelgestelde vragen

Wat doet deze JSON-unescape-tool?
Hij keert JSON escapen om: hij neemt een JSON-geëscapede string en decodeert de escape-sequenties terug naar de tekens die ze voorstellen, volledig in je browser. \n wordt een echt regeleinde, \t een tab, \" een dubbel aanhalingsteken, \\ een enkele backslash, \/ een forward slash, en \uXXXX het bijbehorende Unicode-teken (inclusief surrogaatparen voor emoji en astral-schriften). Het resultaat is de oorspronkelijke, leesbare tekst. Je kunt de string plakken met of zonder de omringende dubbele aanhalingstekens — de tool detecteert en verwerkt beide. Alles draait client-side, dus geëscapede payloads met gevoelige data verlaten nooit je machine.
Moet ik de omringende dubbele aanhalingstekens meenemen?
Nee — de tool accepteert beide vormen. Als je een volledige JSON-stringliteral plakt zoals "hello\nworld" (met de buitenste aanhalingstekens), wordt die direct geparset. Als je alleen de geëscapede body plakt hello\nworld (zonder buitenste aanhalingstekens), omhult de tool die voor je vóór het decoderen. Dat is handig omdat geëscapede strings vaak uit het midden van een groter document worden gekopieerd, waar de omringende aanhalingstekens achterbleven. Hoe dan ook krijg je dezelfde gedecodeerde tekst.
Wordt mijn data ergens geüpload?
Nee. Al het decoderen draait volledig in je browser met JavaScript — de geëscapede string die je plakt wordt nooit verzonden, opgeslagen, gelogd of geanalyseerd op een server. Dat maakt de tool veilig voor het decoderen van logvelden, webhook-payloads en configwaarden die PII of geheimen kunnen bevatten. Je kunt het bevestigen in het Netwerk-tabblad van je browser: plakken veroorzaakt nul netwerkverzoeken. Geen cookies leggen je invoer vast en geen analytics van derden lezen wat je plakt.
Waarom krijg ik een fout 'ongeldige escape-sequentie'?
De fout betekent dat de invoer geen geldige JSON-geëscapede string is en dus niet ondubbelzinnig kan worden gedecodeerd. De meest voorkomende oorzaak is een losse backslash gevolgd door een teken dat JSON niet als escape herkent — bijvoorbeeld \q of \x41 (JSON heeft geen \x-hex-escape; het gebruikt \u). Een andere oorzaak is een ongebalanceerd of verdwaald dubbel aanhalingsteken binnen een invoer zonder aanhalingstekens, wat het automatische omhullen breekt. Controleer of elke backslash een geldige escape start (\n \t \r \b \f \" \\ \/ \uXXXX) en of aanhalingstekens correct gepaard zijn.
Hoe lees ik een JSON-object dat als string was opgeslagen (JSON-in-JSON)?
Plak de geëscapede string — bijvoorbeeld {\"a\":1} — en de tool decodeert die terug naar de echte JSON {"a":1}, die je vervolgens kunt lezen of in een parser kunt kopiëren. Deze dubbele decodering is precies wat je nodig hebt wanneer een webhook-envelop, message-queue-record of auditlog een requestbody als geëscaped stringveld opsloeg. Plak na het unescapen het resultaat in onze JSON-formatter om het mooi op te maken en te valideren. Om de andere kant op te gaan en JSON te escapen voor insluiting, gebruik je de tool JSON escapen.
Decodeert hij \uXXXX en emoji correct?
Ja. Elke \uXXXX wordt gedecodeerd naar zijn UTF-16-code-unit, en opeenvolgende hoge/lage surrogaat-escapes worden gecombineerd tot het juiste astral-teken — dus \ud83d\ude00 wordt 😀 en \u00e9 wordt é. Dit is dezelfde decodering die elke conforme JSON-parser uitvoert, wat betekent dat een string die door onze tool JSON escapen (of een willekeurige serializer) is geëscaped, hier byte voor byte terug roundtript naar het exacte origineel.

Gerelateerde tools

Alle tools bekijken →