PK Systems PK Systems
Teksttools

String escape & unescape

Strings escapen en unescapen voor JavaScript, JSON, SQL, HTML, URL's en reguliere expressies — kies een context en ga.

String escape & unescape

Escaped uitvoer

Wat is string-escaping?

Elke tekstgebaseerde syntax — JSON, SQL, HTML, URL's, regex — heeft speciale tekens die iets anders betekenen dan zichzelf. Een ongeëscapete ' in een SQL-string kan een query breken (of injectie openzetten). Een ongeëscapete < in HTML opent een tag. Een letterlijke ? in een URL wordt een queryscheider. Escapen is het proces om die tekens om te zetten naar een veilige vorm die de parser terugleest als het oorspronkelijke teken. Unescapen is het omgekeerde — een JSON- of HTML-string terug naar zijn gewone vorm.

Hoe gebruik je de escape-tool

Kies een context die overeenkomt met de syntax waarmee je werkt — JavaScript, JSON, SQL, HTML, URL-component of regex-literal. Kies Escapen om gewone tekst om te zetten in een veilige vorm voor de context, of Unescapen voor het omgekeerde. Plak je invoer. De uitvoer werkt live bij, met een tekenteller voor controle. Elke context gebruikt de regels van die syntax exact: JS gebruikt \n, \t, \"; SQL verdubbelt enkele aanhalingstekens; HTML gebruikt entiteiten; URL gebruikt percent-encoding.

De juiste context kiezen

Plak je de string in JavaScript-code, gebruik dan JavaScript. Zet je hem in een JSON-waarde (bijv. een configbestand of API-payload), gebruik dan JSON — strikter dan JS. HTML is de juiste keuze voor inhoud die op een pagina wordt gerenderd (ook veilig voor HTML-attribuutwaarden). URL is voor individuele query-parameterwaarden, niet voor volledige URL's (die al :// en ? als structurele tekens hebben). Regex escaped een letterlijke string voor gebruik binnen een reguliere expressie — handig om gebruikersinvoer letterlijk te matchen.

Voorbeelden per context

Context Invoer Uitvoer
JavaScriptIt's "fine"It\'s \"fine\"
JSONline1\nline2line1\\nline2
SQLO'BrienO''Brien
HTML<b> & "x"&lt;b&gt; &amp; &quot;x&quot;
URLa b/c?d=1a%20b%2Fc%3Fd%3D1
Regex3.14 (pi)3\.14 \(pi\)

Veelgestelde vragen

Waarom zijn er aparte JavaScript- en JSON-modi?
JSON is een strikte subset van JavaScript-stringsyntax — staat geen \', \v, \0, hex-escapes (\xHH) of niet-aangehaalde controlekarakters toe. JS is permissiever. Bouw je een JSON-document, gebruik dan JSON; sluit je een string in .js-broncode in, gebruik dan JavaScript. Mismatch kan strings opleveren die een JSON-parser laten crashen.
Moet ik dit gebruiken voor SQL-queries om injectie te voorkomen?
Nee — voor echte productiequery's gebruik je geparametriseerde queries (prepared statements) in je database driver. SQL-escaping hier is voor leesbare conversie (bijv. een eenmalige query bouwen, een datadump transformeren). Verdubbelen van enkele aanhalingstekens is de SQL-standaard, maar moderne apps geven waarden door als parameters in plaats van ze te concateneren.
Wat is het verschil tussen encodeURIComponent en encodeURI?
De URL-modus gebruikt component-stijl-codering, die ?, &, =, / en dergelijke percent-codeert — dus veilig voor in een query-parameterwaarde. Volledige-URL-codering laat die tekens met rust omdat ze structurele betekenis hebben. Codeer je een waarde die na een = in een URL komt, dan is dit de modus die je wilt.
Produceert HTML-escape attribuut-veilige of inhoud-veilige uitvoer?
Beide. De encoder escaped <, >, &, " en ' — een superset van wat strikt nodig is voor beide contexten, dus het resultaat is veilig om in element-inhoud of een attribuut (single- of double-quoted) te plaatsen.
Wat escaped de regex-modus?
Elk teken met speciale betekenis in een JavaScript-reguliere expressie: \, ^, $, ., *, +, ?, (, ), [, ], {, }, |, /, -. Het resultaat kun je in een regex gebruiken om de oorspronkelijke string letterlijk te matchen — handig wanneer je gebruikersinvoer letterlijk wilt vinden.
Verlaat er iets mijn browser?
Nee. Escapen en unescapen draaien beide als gewone JavaScript in je browser. Veilig voor credentials, interne queries, geheimen — niets wordt geüpload, gelogd of opgeslagen.