Cookie String to JSON

Paste a raw HTTP Cookie header and get clean JSON — a name/value object or an ordered array of {name, value} pairs, with values URL-decoded. Runs entirely in your browser, no server, no sign-up.

Try:
Cookies as JSON

What this tool does

Paste a raw HTTP request Cookie: header — the semicolon-separated name=value list your browser sends and that shows up in DevTools under Network → Headers → Request Headers — and get clean JSON back. Pick the shape you need: a { "name": "value" } object, or an ordered array of { "name", "value" } pairs (the shape Puppeteer, Playwright, and Selenium use). Values are URL-decoded by default. Everything runs locally in your browser — nothing is uploaded, it works offline, and there is no sign-up.

You can paste a bare cookie string, or the whole header line including the Cookie: name — the leading Cookie: (or Set-Cookie:) label and surrounding whitespace are stripped automatically.

Worked example

Input:

sessionid=abc123; theme=dark; redirect=%2Faccount%2Fsettings

Output (object shape, values decoded):

{
  "sessionid": "abc123",
  "theme": "dark",
  "redirect": "/account/settings"
}

Switch Output shape to the array form and the same input becomes:

[
  { "name": "sessionid", "value": "abc123" },
  { "name": "theme", "value": "dark" },
  { "name": "redirect", "value": "/account/settings" }
]

What it handles

Limits and edge cases

FAQ

Is it free and private?

Yes — the parsing happens entirely in your browser with WebAssembly. Your cookie string never leaves your device, and the page keeps working offline once loaded.

Does it parse Set-Cookie response headers with attributes?

No. This tool reads the request Cookie: header, which is a flat name=value list with no attributes. If you paste a Set-Cookie line, its attributes (Path, Domain, Secure, HttpOnly, SameSite, …) are treated as ordinary cookies rather than parsed as metadata.

Why is a + in a value kept as a plus, not a space?

Cookie values use percent-encoding but are not application/x-www-form-urlencoded, so a + is a literal plus sign. Only %NN escapes are decoded (when URL-decoding is on). A real space is written %20.

What happens to duplicate cookie names?

Nothing is dropped. In the object shape a repeated name collapses into an array of its values, in source order. In the array shape each cookie stays a separate { name, value } entry, so you see every duplicate exactly as sent.

Which output shape should I use for browser automation?

Use the array shape — [{ "name", "value" }] matches the cookie objects Puppeteer, Playwright, and Selenium expect (you'll typically add domain and path yourself). Use the object shape when you just want a quick { name: value } lookup.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool cookie-string-to-json "sessionid=abc123; theme=dark; path=%2Fhome"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/cookie-string-to-json/?cookie=sessionid%3Dabc123%3B%20theme%3Ddark%3B%20path%3D%252Fhome&decode=true&output=object

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.