100 % local: tus datos nunca salen de tu navegador

Desescapar JavaScript — lee un literal de un bundle

Decodifica un literal JavaScript a texto llano: escapes con nombre, \uXXXX, \u{...}, \xNN y pares suplentes vuelven todos como caracteres.

Instantáneo Privado Cero cookies

Entrada JS Escaped

Salida Text

Qué hace esta herramienta

Lee el contenido de un literal de cadena y devuelve el texto que representa. Las formas con nombre \n, \r, \t, \b, \f, \v y \0 vuelven a ser sus caracteres. Se decodifican \uXXXX, la forma de punto de código \u{1F600} y la forma hexadecimal \xNN. Un par suplente escrito como \ud83d\ude00 se recompone en el único carácter que codifica.

Cualquier otra cosa tras una barra invertida sale desnuda: \q da q, \\ da una sola barra, \" da una comilla. Esa es la regla del propio JavaScript, no un recurso de último momento: un escape no reconocido se define como el carácter que lo sigue.

Cuándo la necesitas

Una cadena sacada de un bundle minificado, de una línea de log o de una traza, donde los escapes se han acumulado y quieres leer lo que realmente dice. También para un archivo de traducción o un valor de configuración que pasó por un paso de codificación de más.

Qué no hace

Decodifica el contenido de un literal, no una expresión JavaScript. Pega lo que hay entre las comillas: nada se concatena ni se evalúa.

Los escapes octales heredados se decodifican, porque un motor no estricto los decodifica: \101 da A y \012 un salto de línea. Encontrarte uno dice algo sobre el origen, eso sí: la forma es un error de sintaxis en modo estricto y en las plantillas literales, así que un literal que la usa viene de código antiguo.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Hay que incluir las comillas que lo rodean?
No: pega lo que hay entre ellas. Las comillas que queden en la entrada se tratan como caracteres normales y salen sin cambios.
¿Por qué `\q` se convierte en `q`?
Porque es lo que hace el propio JavaScript con un escape que no reconoce: se descarta la barra invertida y se conserva el carácter siguiente. La herramienta no inventa un carácter de control.
¿Sobreviven los emoji?
Sí. Un par suplente como `\ud83d\ude00` se recompone en el único carácter que codifica, y la forma de punto de código `\u{1F600}` da el mismo emoji.

Convertidores relacionados