TL;DR, Respuesta rápida
9 min de lecturaChrome y Firefox rechazan una cookie cuyo nombre y valor juntos superen los 4096 bytes, y los dos limitan cada valor de atributo a 1024 bytes. Chromium fija kMaxCookieNamePlusValueSize = 4096 y kMaxCookieAttributeValueSize = 1024; Firefox fija kMaxBytesPerCookie = 4096 y ATTRIBUTE_MAX_LENGTH = 1024. La cifra de 4096 nace en el RFC 2965 y el RFC 6265 como mínimo que un navegador debería admitir, contado sobre nombre, valor y atributos; el RFC 6265bis la convirtió en un máximo que el navegador DEBE imponer, contado solo sobre nombre y valor. El almacenamiento por dominio es de 180 cookies en los dos motores, purgado de vuelta a 150 en ambos. Las cookies con exceso de tamaño se descartan enteras, nunca se truncan.
¿Qué es el límite de tamaño de cookie?
Los navegadores imponen un límite de tamaño de cookie de 4096 bytes medido sobre el nombre y el valor, y un techo separado de 1024 bytes para cada valor de atributo individual. Ninguno de los dos números es una sugerencia en los navegadores actuales, y ninguno significa exactamente lo que decían las especificaciones antiguas. La cifra que todo el mundo cita como "4KB por cookie" nació como un suelo que se pedía garantizar a los agentes de usuario y acabó como un techo que están obligados a imponer, y el cambio alteró qué se cuenta.
Si las cookies como mecanismo son nuevas para ti, empieza por la guía de cookies del navegador para principiantes y vuelve luego a por los números.
¿Qué exigen de verdad las especificaciones?
Tres documentos dicen tres cosas distintas, y los tres están vivos en la web ahora mismo.
El RFC 2965, la especificación de Set-Cookie2 de 1999, abre la sección 5.3 con lo contrario de un límite: "In general, user agents' cookie support should have no fixed limits." Después nombra mínimos que garantizar: "at least 300 cookies", "at least 4096 bytes per cookie (as measured by the characters that comprise the cookie non-terminal in the syntax description of the Set-Cookie2 header, and as received in the Set-Cookie2 header)" y "at least 20 cookies per unique host or domain name".
El RFC 6265, el reemplazo de 2011, mantiene el mismo encuadre en la sección 6.1. Los agentes de usuario de uso general DEBERÍAN ofrecer "At least 4096 bytes per cookie (as measured by the sum of the length of the cookie's name, value, and attributes)", más "At least 50 cookies per domain" y "At least 3000 cookies total". Fíjate en el paréntesis: los atributos van dentro de los 4096.
El RFC 6265bis, borrador 22 del 1 de diciembre de 2025, que deja obsoleto el RFC 6265 si se aprueba, mueve el número al algoritmo obligatorio de análisis y cambia lo que mide. El paso 5 del analizador de Set-Cookie dice: "If the sum of the lengths of the name string and the value string is more than 4096 octets, abort this algorithm and ignore the set-cookie-string entirely." Los atributos ya no se cuentan ahí. Tienen su propia regla en el paso 6: "If the attribute-value is longer than 1024 octets, ignore the cookie-av string and return to Step 1 of this algorithm." La sección 6.1 del borrador ha eliminado en consecuencia el punto de los 4096, y solo conserva los recuentos por dominio y totales, con la nota de que "a limit on the maximum number of cookies also limits the total size of the stored cookies, due to the length limits which MUST be enforced".
Así que la página de document.cookie de MDN, que todavía dice a sus lectores que el RFC 2965 "specifies that there should be no maximum length of a cookie's key or value size, and encourages implementations to support arbitrarily large cookies", y la propia guía de cookies de MDN, que dice "a maximum size per cookie (usually 4KB)", son las dos exactas sobre especificaciones distintas. Los navegadores implementan la tercera.

¿Qué impone cada navegador?
Chromium y Firefox han aterrizado los dos en los números del RFC 6265bis, y los dos los ponen en el código fuente como constantes con nombre.
| Motor | Nombre más valor | Por valor de atributo | Cookies por dominio | Cookies totales |
|---|---|---|---|---|
| Chromium (Chrome, Edge) | 4096 bytes | 1024 bytes | 180 | 3300 |
| Gecko (Firefox) | 4096 bytes | 1024 bytes | 180 | 3000 |
| WebKit (Safari) | No publicado | No publicado | No publicado | No publicado |
Chromium declara los dos límites de bytes en net/cookies/parsed_cookie.h, cada uno con su propio comentario:
// The maximum length allowed for a cookie string's name/value pair.
static const size_t kMaxCookieNamePlusValueSize = 4096;
// The maximum length allowed for each attribute value in a cookie string.
static const size_t kMaxCookieAttributeValueSize = 1024;Firefox declara el límite de bytes en netwerk/cookie/CookieValidation.cpp como constexpr uint32_t kMaxBytesPerCookie = 4096; y lo aplica en una función cuyo comentario todavía cita la especificación de dos revisiones atrás:
bool CookieValidation::CheckNameAndValueSize(const CookieStruct& aCookieData) {
// reject cookie if it's over the size limit, per RFC2109
return (aCookieData.name().Length() + aCookieData.value().Length()) <=
kMaxBytesPerCookie;El tope de atributo vive aparte en netwerk/cookie/CookieParser.cpp como constexpr uint64_t ATTRIBUTE_MAX_LENGTH = 1024;.
Safari es el hueco. Apple no publica ningún límite de bytes por cookie, y la entrada sobre política de almacenamiento de WebKit deja las cookies explícitamente fuera del sistema de cuotas que describe, al afirmar que "cookies and HTTP cache are currently not subject to the policy below" y que "they are not bounded by quota". Safari sí impone otras restricciones de cookies, incluido el tope de siete días para cookies escritas por script, pero un techo de tamaño documentado no está entre ellas. Presupuesta con los números de Chromium y Gecko y estarás a salvo en todas partes.
¿Qué pasa cuando una cookie supera el límite?
La cookie se descarta entera. Nunca se trunca, y al servidor nunca se le dice. El RFC 2965 escribió la regla en 1999 y no ha cambiado: "The information in a Set-Cookie2 response header MUST be retained in its entirety. If for some reason there is inadequate space to store the cookie, it MUST be discarded, not truncated." El RFC 6265bis dice lo mismo en lenguaje de analizador, al instruir al agente de usuario a "abort this algorithm and ignore the set-cookie-string entirely".
Como el fallo es silencioso en la capa HTTP, la única señal está en la consola del navegador, y Firefox es el motor que te da una utilizable. Su archivo de cadenas necko.properties lleva el texto exacto:
Panel en tiempo real
Seguimiento de objetivos
Rastreo sin cookies
Cookie "%1$S" is invalid because its size is too big. Max size is %2$S B.Un atributo con exceso de tamaño produce un mensaje distinto y más fácil de pasar por alto, porque la cookie en sí sí se fija con ese atributo descartado:
The value of the attribute "%2$S" for the cookie "%1$S" has been rejected because its size is too big. Max size is %3$S B.Ese segundo caso es el bug más desagradable. Un valor de Path o Domain de más de 1024 bytes no mata la cookie, cambia el alcance de la cookie, así que la cookie existe pero deja de enviarse donde esperabas.
¿Cuántas cookies puede guardar un dominio?
Chromium permite 180 por dominio y expulsa 30 a la vez. Las constantes en net/cookies/cookie_monster.cc son kDomainMaxCookies = 180, kDomainPurgeCookies = 30, kMaxCookies = 3300 y kPurgeCookies = 300. La cabecera explica la política en una frase: "When the number of cookies gets to k{Domain,}MaxCookies purge down to k{Domain,}MaxCookies - k{Domain,}PurgeCookies." También deletrea cómo los dominios registrables comparten el presupuesto: "the maximum number of cookies allowed for google.com and all of its subdomains will be 150-180."
Firefox aterriza en los mismos dos números declarándolos directamente. netwerk/cookie/CookieCommons.h fija kMaxCookiesPerHost = 180, kCookieQuotaPerHost = 150 y kMaxNumberOfCookies = 3000. Los dos motores admiten por tanto 180 cookies por dominio registrable y caen a 150 al desbordar, y se diferencian solo en el techo global, 3300 en Chromium frente a 3000 en Firefox.
Las cookies particionadas tienen su propio presupuesto encima. kPerPartitionDomainMaxCookies = 180 y kPerPartitionDomainMaxCookieBytes = 10240 de Chromium limitan lo que un sitio incrustado puede guardar en una partición, y el tope de bytes es el que se alcanza primero en la mayoría de incrustaciones. Esa interacción está cubierta en cómo funcionan las cookies particionadas de CHIPS.
Los dos motores expulsan, lo que significa que una cookie que fijaste con éxito puede desaparecer después sin que corra ningún código tuyo. El RFC 6265bis lo dice sin rodeos: los agentes de usuario "MAY 'remove excess cookies' from the cookie store if the number of cookies sharing a domain field exceeds some implementation-defined upper bound (such as 50 cookies)".

¿Por qué la cabecera de petición Cookie choca con otro techo?
Cada cookie dentro del alcance se concatena en una sola cabecera de petición Cookie en cada petición que coincide, y el límite de esa cabecera lo pone el servidor, no el navegador. La sección 4.2.1 del RFC 6265bis le pone número: "While Section 5.4 of [HTTP] does not define a length limit for header fields it is likely that the web server's implementation does impose a limit; many popular implementations have default limits of 8192 octets. Servers SHOULD avoid setting a large number of large cookies such that the final cookie-string would exceed their header field limit. Not doing so could result in requests to the server failing."
Dos cookies de 4096 bytes son legales cada una por separado y juntas llenan una cabecera de 8192 bytes, antes de la línea de petición o de cualquier otra cabecera. Lo que te salva un poco es que el viaje de vuelta lleva menos que el de ida: "Notice that the cookie attributes are not returned." La cabecera de petición contiene solo pares de nombre y valor, así que Expires, Path, Domain y SameSite te cuestan almacenamiento pero no ancho de banda.
La aritmética que vale la pena hacer antes de enviar una cookie grande es la del lado de la petición:
bytes de cabecera = suma sobre las cookies en alcance de (longitud del nombre + 1 + longitud del valor + 2)
Doce cookies con una media de 600 bytes de nombre más valor ponen unos 7.200 bytes en cada petición a ese dominio, incluida cada petición de imagen y de script. A un sitio que llega a ese punto normalmente le conviene más guardar una clave opaca en la cookie y la carga del lado del servidor, o bajar a un enfoque que no fije ninguna cookie, como hace el seguimiento sin cookies. Si todavía estás decidiendo qué cookies son tuyas siquiera, cookies propias y de terceros traza esa línea.
Preguntas frecuentes
¿El límite de 4096 bytes incluye los atributos de la cookie?
Depende de qué especificación leas, y los navegadores actuales siguen la más reciente. El RFC 6265 medía 4096 "as the sum of the length of the cookie's name, value, and attributes". El RFC 6265bis cuenta solo "the name string and the value string", y da a cada valor de atributo un límite separado de 1024 octetos, que es lo que implementan Chromium y Firefox.
¿Qué pasa con una cookie demasiado grande?
El navegador la descarta entera y el servidor no recibe ningún error. El RFC 2965 exigía que una cookie no almacenable "MUST be discarded, not truncated", y el RFC 6265bis le dice al analizador que debe "abort this algorithm and ignore the set-cookie-string entirely". Firefox registra Cookie "name" is invalid because its size is too big en la consola; la respuesta de red parece correcta.
¿Cuántas cookies puede fijar un dominio?
180 tanto en Chromium como en Firefox, con caída a 150 al desbordar. kDomainMaxCookies de Chromium es 180 y su kDomainPurgeCookies es 30; kMaxCookiesPerHost de Firefox es 180 y su kCookieQuotaPerHost es 150. Los subdominios comparten el presupuesto del dominio registrable en lugar de tener el suyo.
Panel en tiempo real
Seguimiento de objetivos
Rastreo sin cookies
¿El límite se mide en caracteres o en bytes?
En bytes. El RFC 6265bis especifica 4096 octetos, Chromium tipa su constante como size_t sobre la cadena serializada de la cookie, y los valores no ASCII se codifican en porcentaje o en UTF-8 antes de la comprobación. Un valor de caracteres multibyte consume su longitud codificada, no su recuento de caracteres.
¿El límite se aplica a toda la cabecera de petición Cookie?
No. La regla de 4096 bytes se aplica por cookie en el momento de almacenar. La cabecera Cookie combinada la acota el servidor, y el RFC 6265bis señala que "many popular implementations have default limits of 8192 octets", que dos cookies de tamaño máximo alcanzan por sí solas.
¿Qué deberías guardar en lugar de una cookie grande?
Guarda un identificador opaco de unas pocas decenas de bytes y mantén la carga del lado del servidor, indexada por ese identificador. La cookie cuesta entonces lo mismo en cada petición independientemente de cuánto estado apunte, y el estado en sí deja de ser legible o editable por nada que corra en la página.
¿Impone Safari un límite de tamaño de cookie como Chrome y Firefox?
Safari, o WebKit, no publica un límite en bytes documentado para las cookies. La entrada de WebKit sobre su política de almacenamiento excluye explícitamente las cookies del sistema de cuotas y afirma que "not bounded by quota". Safari sí impone otras restricciones a las cookies, como el límite de siete días para las cookies escritas por script, pero un techo de tamaño no está entre ellas. Si te ajustas a las cifras de Chromium y Gecko, vas seguro en cualquier navegador.
¿Por qué Chromium permite más cookies en total que Firefox?
Chromium fija el total en 3300 (kMaxCookies), Firefox en 3000 (kMaxNumberOfCookies). Ambos motores coinciden en las cifras por dominio, 180 permitidas y 150 tras la purga, así que la diferencia solo aparece en el techo global. RFC 6265 pide al menos 3000 cookies en total y 6265bis menciona 3000 como ejemplo, así que los motores difieren.
¿Tienen las cookies particionadas un límite de tamaño aparte?
Chromium añade un presupuesto por partición para las cookies CHIPS, por encima del límite normal por dominio. kPerPartitionDomainMaxCookies es 180, y kPerPartitionDomainMaxCookieBytes limita la partición a 10240 bytes, un tope que en la mayoría de los embeds se alcanza antes que el conteo de cookies. Esto es independiente del límite de 4096 bytes por cookie, aquí se limita lo que un sitio incrustado puede guardar en el total de sus cookies dentro de una partición.
¿Sobrevive una cookie a un atributo demasiado largo?
Un nombre más valor demasiado largos hacen que la cookie se descarte por completo, pero un atributo demasiado largo no. Firefox registra un mensaje indicando que el atributo fue rechazado por su tamaño, y la cookie se establece igualmente sin ese atributo. Un valor de Path o Domain de más de 1024 bytes cambia el alcance de la cookie en lugar de borrarla, así que sigue existiendo pero deja de enviarse donde se esperaba.
¿Te resultó útil este artículo?
¡Cuéntanos qué opinas!
Vernos más en Google
Un clic marca Flowsery como fuente preferida y nuestros artículos aparecen más arriba en tus Noticias destacadas, el modo IA y los resúmenes con IA.
Antes de irte...
Flowsery
Analítica orientada a ingresos para tu sitio web
Rastrea cada visitante, fuente y conversión en tiempo real. Simple, potente y sin cookies.
Panel en tiempo real
Seguimiento de objetivos
Rastreo sin cookies
Términos relacionados del glosario


Cómo un solo atributo ausente decide cookie de sesión vs cookie persistente
Qué separa cookie de sesión vs cookie persistente en RFC 6265 y MDN: Expires y Max-Age, sesiones restauradas, el tope de 400 días y el consentimiento en la UE.


Por qué tu tasa de rebote de GA4 es la tasa de interacción al revés
Google mide la tasa de rebote de GA4 como la proporción de sesiones sin interacción. Cómo la define, en qué difiere de Universal Analytics y dónde añadirla.


Qué cuenta el informe de páginas de destino de GA4 y dónde se queda en blanco
En Reports, el informe de páginas de destino de GA4 lista la primera página de cada sesión. Dónde está, sus métricas, por qué sale (not set) y la fuente.


Cómo registra la búsqueda en el sitio de GA4 lo que escriben los visitantes
Configura la búsqueda en el sitio de GA4 con la medición mejorada, añade tus parámetros de consulta, halla la dimensión Search term y mide sin URL.


Cómo definir propiedades de usuario de GA4 y usarlas en informes
Define propiedades de usuario de GA4 con gtag o Tag Manager, regístralas como dimensiones personalizadas de usuario y no pases del límite de 25.


Cómo vincular Search Console con GA4 y publicar sus informes
Aprende a vincular Search Console con GA4 en Admin, qué roles necesitas, cómo publicar los dos informes en Library y qué datos no se pueden cruzar.
Artículos relacionados


Qué fue de la retirada de las cookies de terceros en Chrome
En Chrome, la retirada de las cookies de terceros fue de un plan en 2020 a una marcha atrás en 2025. Cada anuncio de Google, qué hace Chrome hoy y qué implica.


Qué hace la bfcache con la navegación hacia atrás y tus páginas vistas
La bfcache, o caché de avance y retroceso, restaura una página desde memoria al ir atrás o adelante. Qué páginas entran y por qué la analítica las pierde.


Por qué el CNAME cloaking ya no oculta rastreadores a Safari ni a Brave
Los rastreadores usaban el CNAME cloaking para pasar por tu subdominio. Mira el truco DNS, el límite de 7 días de Safari y cómo Brave y uBlock lo destapan.

