HTML Encoder

HTML Encoder / Decoder

Effettua l'escape di `& < > " '` in entità HTML sicure, oppure decodifica testo con entità di escape in testo semplice. Quattro livelli di codifica — Minimal, Named, Numeric, All non-ASCII. Sicuro con UTF-8 + emoji + CJK, nel tuo browser.

Per impostazione predefinita usa Minimal — esegue l'escape solo di & < > " ', i cinque caratteri che rompono i contesti del corpo HTML / degli attributi. È quello che fa ogni motore di template moderno. Usa Entità nominate se vuoi copyright / nbsp / frecce ecc. come codici leggibili (&copy; invece di &#169;). Usa Numerica quando invii HTML attraverso pipeline che potrebbero non comprendere le entità nominate. Usa Tutto non-ASCII quando il target sono sistemi rigorosamente solo ASCII (server email legacy, API rotte).

&apos; è valido in XML e HTML5, ma non in HTML 4.01 — i browser più vecchi lo visualizzano come il testo letterale '. Il riferimento numerico &#39; funziona ovunque. Il decoder accetta &apos; come input per compatibilità.

Input
Output

Costruito per un output HTML sicuro

Effettua l'escape dei contenuti utente per i template, decodifica dati codificati come entità — più qualche piccolo dettaglio che lo rende davvero piacevole da usare.

Quattro modalità di codifica

Minimal esegue l'escape solo dei cinque caratteri non sicuri per HTML (& < > " ') — l'impostazione predefinita giusta per i normali contenuti generati dagli utenti. Named usa entità HTML5 leggibili come &copy; / &nbsp; / &hearts; dove esistono. Numeric codifica ogni codepoint non-ASCII come &#NN;. All non-ASCII codifica ogni codepoint al di fuori dell'ASCII stampabile per pipeline legacy / solo ASCII.

Decodifica qualsiasi entità

Il decoder gestisce entità nominate (&copy;), numeriche decimali (&#169;) e numeriche esadecimali (&#xA9;). I codepoint con coppie surrogate (emoji, scritture antiche) effettuano correttamente il round-trip tramite UTF-16.

Anteprima dal vivo

L'output si aggiorna ad ogni battuta — nessun pulsante Codifica / Decodifica da premere. Cambia direzione con un click; il pulsante Scambia riporta l'output nell'input così da poter concatenare le trasformazioni.

Sicuro con UTF-8 + emoji + CJK

Ogni codepoint Unicode effettua il round-trip: 中文, العربية, русский, हिंदी, 🎉, Þorgeir. L'encoder usa l'iterazione per codepoint (non charAt), così le coppie surrogate restano intatte.

Privacy by design

Il tuo testo resta sul tuo dispositivo. Encoder, decoder e tabella delle entità nominate girano tutti come JavaScript localmente. Apri DevTools → Network e verifica zero richieste in uscita.

Piccolo + veloce

JavaScript puro, nessun runtime di framework. Il caricamento a freddo è inferiore a 25 KB gzippati. Un documento HTML da 100 KB viene codificato in meno di 5 ms.

Come codificare o decodificare entità HTML

Quattro passaggi dal testo grezzo all'output sicuro per le entità.

  1. 1

    Incolla il tuo testo

    Trascina testo semplice o HTML nel pannello Input. Va bene qualsiasi cosa — commenti utente, post di blog, emoji, CJK, scritture RTL. L'encoder itera per codepoint così le sequenze multibyte restano intatte.

  2. 2

    Scegli direzione + modalità

    Imposta la Direzione su Codifica (testo → entità) o Decodifica (entità → testo). Per Codifica, scegli la modalità: Minimal per i template, Named per entità leggibili, Numeric per non-ASCII come &#NN;, All non-ASCII per output solo ASCII.

  3. 3

    Guarda l'anteprima dal vivo

    L'output si aggiorna ad ogni battuta. Confronta le modalità in tempo reale cambiando il menu a tendina. Usa Scambia per spostare l'output di nuovo nell'input — utile per la verifica di round-trip (codifica poi decodifica = originale).

  4. 4

    Copia o scarica

    Usa l'icona di copia per inviare il risultato negli appunti, oppure l'icona di download per salvarlo come output.encode.html / output.decode.txt. La differenza di dimensione (caratteri / byte in → out) mostra esattamente quanto la codifica ha gonfiato o ridotto il testo.

Costruito per il lavoro quotidiano di sviluppo web

Quattro scenari comuni in cui uno strumento browser-first orientato alla privacy batte l'incollare codice in un encoder online a caso.

Inserire in sicurezza contenuti utente in un template

Commenti utente, risposte di moduli, query di ricerca — qualsiasi cosa proveniente dall'esterno che finisce dentro un <p>, <li> o attributo. Esegui la codifica in modalità Minimal prima di concatenare le stringhe nel tuo HTML, e sei al sicuro da markup rotto e dai payload XSS più semplici.

Leggere dati con escape di entità da un'API

Alcune API restituiscono stringhe già con escape di entità (feed RSS, certi export di CMS, HTML scraped). Incolla, premi Decodifica, ottieni l'Unicode originale. Il decoder gestisce entità nominate, decimali ed esadecimali, incluse le coppie surrogate.

Oggetti email + meta tag

<title>, <meta name="description">, <meta property="og:title"> — tutti necessitano dell'escape delle entità per i caratteri speciali. Codifica il tuo titolo una volta, incollalo in tutti e tre.

Contenuti sensibili che non possono andare a un servizio terzo

Contenuti CMS interni, dati clienti, template protetti da NDA — qualsiasi cosa tu non possa incollare in un encoder cloud. Lo strumento che gira solo nel browser tiene ogni byte sul tuo laptop. Apri DevTools → Network e verifica che nulla esca.

100% privato — gira nel tuo browser

Il tuo testo non lascia mai il tuo dispositivo. Apri DevTools → Network e vedrai zero richieste in uscita durante la codifica o la decodifica.

  • Encoder, decoder e tabella di lookup delle entità nominate girano tutti come JavaScript sulla tua macchina — nessuna conversione lato server, nessuna API di terze parti.
  • I codepoint con coppie surrogate (emoji, scritture antiche) sono gestiti dall'iterazione per codepoint, non dalla mappatura a livello di byte — così un incolla di 🎉 resta 🎉 dopo un round-trip.
  • Nessun login, nessuna telemetria sui contenuti testuali. Usiamo solo un cookie per lo stato del consenso ai cookie e uno per la preferenza di lingua.

Guide correlate

Letture selezionate su escape HTML, tabelle di entità e templating sicuro.

Domande frequenti

Quale modalità dovrei scegliere?

Per impostazione predefinita usa Minimal — esegue l'escape solo di & < > " ', i cinque caratteri che rompono i contesti del corpo HTML / degli attributi. È quello che fa ogni motore di template moderno. Usa Entità nominate se vuoi copyright / nbsp / frecce ecc. come codici leggibili (&copy; invece di &#169;). Usa Numerica quando invii HTML attraverso pipeline che potrebbero non comprendere le entità nominate. Usa Tutto non-ASCII quando il target sono sistemi rigorosamente solo ASCII (server email legacy, API rotte).

Perché viene effettuato l'escape di `'` come `&#39;` invece di `&apos;`?

&apos; è valido in XML e HTML5, ma non in HTML 4.01 — i browser più vecchi lo visualizzano come il testo letterale '. Il riferimento numerico &#39; funziona ovunque. Il decoder accetta &apos; come input per compatibilità.

Le emoji e i caratteri CJK sopravvivranno?

Sì. L'encoder itera sui codepoint (non sulle unità di codice UTF-16), quindi emoji come 🎉 (U+1F389) diventano &#127881; in codifica e fanno correttamente il round-trip in decodifica. Lo stesso vale per il CJK (中文 → &#20013;&#25991; in modalità numerica).

È sicuro inserire l'input dell'utente direttamente in HTML dopo la codifica?

Per il corpo HTML e gli attributi — sì, con la modalità Minimal. Per i contesti URL (href="...") hai bisogno anche della codifica URL. Per JavaScript o CSS inline, né la codifica HTML né quella URL sono sufficienti — usa un motore di template adeguato che comprenda quei contesti. Non incollare mai input utente non sottoposto a escape in un blocco <script>.

Viene inviato qualcosa al vostro server?

No. L'encoder, il decoder e la tabella di lookup delle entità nominate girano tutti in JavaScript sul tuo dispositivo. Apri DevTools → Network e vedrai zero richieste in uscita durante la codifica o la decodifica. Incolla segreti, dati clienti, template interni — niente lascia il tuo laptop.