piapia123
es

Cadena de cookies a JavaScript

Web

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Convierte una cadena de cookies en JavaScript: de forma predeterminada obtienes sentencias `document.cookie = …` que puedes pegar en la consola del navegador para restaurar una sesión (el truco habitual al llamar a una API como otra cuenta), o un objeto literal para leer los valores en el código. Tres cosas hay que dejar claras: `HttpOnly` no se puede establecer — la razón de ser de ese atributo es mantener fuera a JavaScript, y el navegador ignora esas asignaciones sin más, así que aquí se omite con un comentario que lo explica; `Domain` es igual, porque `document.cookie` solo se aplica al origen de la página actual; y un valor con punto y coma, coma o espacio hace que el navegador ignore la asignación en silencio, sin nada en la consola, así que esos casos se detectan y se nombran en un comentario. El análisis es compartido con el formateador de cookies de este sitio, y se entienden tanto cabeceras de petición como líneas Set-Cookie.

Funciones

  • Dos salidas: asignaciones document.cookie, o un objeto literal
  • Entiende cookies de cabecera de petición y líneas Set-Cookie de respuesta, detectadas automáticamente
  • Path / Expires / Secure / SameSite se llevan tal cual, o se quitan por completo
  • HttpOnly se omite con el motivo: existe precisamente para dejar fuera a JavaScript
  • Domain se omite con el motivo: document.cookie solo se aplica al origen actual
  • Un valor con punto y coma, coma o espacio se señala por nombre de cookie
  • Las comillas y barras invertidas de los valores se escapan, así que la salida siempre es JavaScript válido
  • Los comentarios van en inglés, porque están pensados para ir a un archivo .js
  • Todo se ejecuta localmente en el navegador; las cookies nunca se suben

Cómo se usa

  1. Pega la cadena de cookies (el prefijo `Cookie:` / `Set-Cookie:` es opcional)
  2. Elige la salida: sentencias de asignación u objeto literal
  3. Copia el código a tu consola o a tu script

Preguntas frecuentes

¿Por qué se ha omitido la cookie HttpOnly?
Porque no se puede establecer. El propósito entero de `HttpOnly` es dejar una cookie fuera del alcance de JavaScript: el navegador ignora una asignación de `document.cookie` que la lleve, sin error ni aviso. Así que aquí se omite con un comentario que lo dice, en vez de emitir una sentencia que nunca surtirá efecto y dejarte creyendo que sí. Para establecer HttpOnly necesitas una cabecera de respuesta `Set-Cookie` desde un servidor.
¿Por qué se omite también Domain?
Porque `document.cookie` obedece la política del mismo origen y solo puede escribir cookies del origen de la página en la que se ejecuta (y sus subdominios). Un `Domain=other.example` copiado de otro sitio no hará nada en tu página, y mantenerlo solo sugeriría lo contrario. La regla: para que `Domain` surta efecto, ejecuta el código en una página bajo ese dominio.
Lo ejecuté en la consola y la cookie no se estableció.
La causa habitual es un carácter ilegal en el valor: los valores de cookie solo admiten un conjunto concreto de caracteres ASCII, y un punto y coma, coma, espacio o comilla hace que el navegador ignore toda la asignación en silencio (no aparece nada en la consola). La salida nombra esos casos en un comentario; la solución es codificar el valor como URL (`encodeURIComponent`) antes de establecerlo. Otra causa es que la página esté dentro de un iframe o sujeta a restricciones de cookies de terceros.
¿Puedo establecer una cookie para otro dominio?
No. `document.cookie` escribe la cookie de la página actual, y las escrituras entre orígenes no son posibles: eso es la política del mismo origen, no un límite de esta herramienta. Para probar una cookie, abre la consola en el sitio al que pertenece. Ten en cuenta también que `Secure` exige una página https; una asignación con `Secure` en una página http también se ignora.
¿Se suben mis cookies?
No. El análisis y la generación ocurren por completo en la memoria del navegador; la página no hace ninguna petición y funciona sin conexión. ⚠️ Aun así, un aviso: las cookies suelen ser credenciales de sesión, así que pegarlas en cualquier herramienta en línea equivale a entregarlas — esta herramienta no sube nada, pero el código que copias sigue conteniéndolas, así que cuidado con dónde lo compartes.

Herramientas relacionadas