How it works
Cookies drive sessions, preferences and tracking, and their attributes decide who can read them and when they are sent. A missing attribute can expose a session to JavaScript, to unencrypted HTTP or to requests from other sites. This analyzer reads Set-Cookie and Cookie headers and shows you every detail.
Paste one or more Set-Cookie: lines, like those shown by curl -i or the browser Network tab. For each cookie you see its value, the decoded value if it is percent-encoded, when it expires (Max-Age takes priority over Expires), the domain, the path and the Secure, HttpOnly, SameSite, Partitioned and Priority attributes. If the value looks like a JWT, it says so.
The review flags the mistakes that make the browser reject the cookie, such as SameSite=None without Secure or a misused __Host- prefix, and the risks: session cookies without HttpOnly, without Secure or with Domain, which shares them with every subdomain.
If you paste a Cookie: header, you get the list of name and value pairs the browser sends. Everything is analyzed in your browser.
Examples
A well-configured session cookie
Set-Cookie: __Host-session=abc; Path=/; Secure; HttpOnly; SameSite=Lax; Max-Age=86400
Expires tomorrow (Max-Age 86400) Domain This host only Secure Yes HttpOnly Yes SameSite Lax ✓ Well configured
A third-party cookie the browser rejects
Set-Cookie: tracking=abc123; Domain=.ejemplo.dev; SameSite=None
✗ SameSite=None without Secure: browsers reject it ! No Secure: also sent over HTTP i Has Domain: subdomains receive it too
Frequently asked questions
Which SameSite value should I use?
Lax for most session cookies: it is sent when navigating to your site, but not on requests from other sites. Strict is even tighter. None only when the cookie must travel in third-party contexts, and always with Secure.
What are the __Host- and __Secure- prefixes for?
They are guarantees the browser enforces: __Secure- requires Secure; __Host- also requires Path=/ and no Domain, so no subdomain can overwrite it.
What if both Max-Age and Expires are set?
Max-Age wins. If Max-Age is 0 or negative, or Expires is in the past, the browser deletes the cookie. With neither, it is a session cookie.