100 % locale — i tuoi dati non lasciano mai il tuo browser

Unescape JavaScript — leggi un literal da un bundle

Decodifica un literal JavaScript in testo semplice: escape con nome, \uXXXX, \u{...}, \xNN e coppie surrogate tornano tutti come caratteri.

Istantaneo Privato Zero cookie

Input JS Escaped

Output Text

Cosa fa questo strumento

Legge il contenuto di un literal di stringa e restituisce il testo che rappresenta. Le forme con nome \n, \r, \t, \b, \f, \v e \0 tornano a essere i loro caratteri. Vengono decodificate \uXXXX, la forma per punto di codice \u{1F600} e quella esadecimale \xNN. Una coppia surrogata scritta per esteso come \ud83d\ude00 viene ricomposta nell’unico carattere che codifica.

Qualsiasi altra cosa dopo una barra rovesciata torna nuda: \q dà q, \\ dà una sola barra, \" dà una virgoletta. È la regola di JavaScript stesso, non un ripiego: un escape non riconosciuto è per definizione il carattere che lo segue.

Quando serve

Una stringa estratta da un bundle minificato, da una riga di log o da uno stack trace, dove gli escape si sono accumulati e vuoi leggere cosa dice davvero. Anche per un file di traduzione o un valore di configurazione passato per un giro di codifica di troppo.

Cosa non fa

Decodifica il contenuto di un literal, non un’espressione JavaScript. Incolla ciò che sta fra le virgolette: nulla viene concatenato né valutato.

Gli escape ottali ereditati vengono decodificati, perché un motore non strict li decodifica: \101 dà A, \012 un avanzamento di riga. Incontrarne uno dice però qualcosa sull’origine: la forma è un errore di sintassi in strict mode e nei template literal, quindi un literal che la usa viene da codice vecchio.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Devo includere le virgolette che lo racchiudono?
No: incolla ciò che sta in mezzo. Le virgolette lasciate nell’input sono trattate come caratteri normali e tornano invariate.
Perché `\q` diventa `q`?
Perché è quello che fa JavaScript stesso con un escape che non riconosce: la barra rovesciata viene tolta e il carattere successivo resta. Lo strumento non inventa un carattere di controllo.
Gli emoji sopravvivono?
Sì. Una coppia surrogata come `\ud83d\ude00` viene ricomposta nell’unico carattere che codifica, e la forma per punto di codice `\u{1F600}` dà lo stesso emoji.

Convertitori correlati