HTML Entity Encoder & Decoder

Escapa text så att den säkert kan placeras i HTML, eller gör om entiteter som & och € till läsbara tecken igen.

Körs i din webbläsareIngen registreringInget laddas upp

Kodat

Så använder du HTML Entity Encoder / Decoder

  1. Välj Koda för att escapa text, eller Avkoda för att göra om entiteter till tecken igen.
  2. Vid kodning väljer du vilka tecken som ska escapas: bara HTML-specialtecknen, även alla icke-ASCII-tecken, eller allt utom bokstäver och siffror.
  3. Välj namngivna entiteter (é), decimala (é) eller hex (é).
  4. Kopiera resultatet. Vid avkodning listas okända entiteter så att du lätt hittar stavfel.

Varför escapa HTML?

Fem tecken har särskild betydelse i HTML: & inleder en entitet, < och > avgränsar taggar, och " och ' avslutar attributvärden. Om text från användare som innehåller dem infogas på en sida utan escaping kan den förstöra layouten eller, ännu värre, injicera skript (cross-site scripting, XSS). Escaping gör om dem till &amp;, &lt;, &gt;, &quot; och &#x27;, som webbläsaren visar som text.

Namngivna, decimala och hexadecimala entiteter

Varje Unicode-tecken kan skrivas som en numerisk referens: decimalt &#8364; eller hexadecimalt &#x20AC; för €. Många vanliga tecken har också ett läsbart namn, som &euro;, &copy; eller &nbsp;. Numeriska referenser fungerar överallt, även i XML, som bara definierar fem namngivna entiteter. Namngivna entiteter är lättare att läsa i källkoden.

Behöver jag koda icke-ASCII-tecken?

Inte om sidan levereras som UTF-8, vilket nästan alla moderna webbplatser gör (<meta charset="utf-8">). Tecken som é, ü eller 日本 kan skrivas direkt. Att koda dem är användbart för äldre system, e-postmallar eller när en pipeline förvanskar icke-ASCII-text.

Escaping beror på sammanhanget

Escaping med HTML-entiteter skyddar text i elementinnehåll och attribut inom citattecken. Det räcker inte för värden i <script>-block, inline-händelsehanterare, CSS eller URL:er, som var och en kräver sin egen kodning. Använd hellre ramverkets automatiska escaping (React, Vue, Jinja, Blade) än att bygga strängar för hand.

Vanliga frågor

Vilka tecken måste escapas i HTML?
I textinnehåll är & och < nödvändiga. I attributvärden ska du även escapa det citattecken du använt. Att escapa alla fem (& < > " ') är det säkra standardvalet.
Vad är &amp;nbsp;?
Ett hårt mellanslag (U+00A0). Det ser ut som ett vanligt mellanslag men förhindrar radbrytning och slås inte ihop med intilliggande mellanslag.
Varför avkodas &amp;copy2024 till ©2024?
Av bakåtkompatibilitetsskäl avkodar webbläsare några äldre entiteter, som &copy, &amp och &lt, även utan avslutande semikolon. Den här avkodaren följer samma regel. Skriv alltid semikolonet i din egen HTML.
Är apostrofen &amp;apos; eller &amp;#39;?
&apos; är giltig i HTML5 och XML men inte i HTML 4, så numeriska &#39; eller &#x27; är det mest kompatibla valet och det som den här kodaren genererar.

Relaterade verktyg