- 1 Start from JSON Array
Export from CookieMan with JSON Array — the only lossless format among the six.
- 2 Convert both ways here
Paste JSON, output Netscape, inspect the table below against the file. Paste the Netscape back with output JSON to see
sameSitebecomeunspecified. - 3 Choose the consumer
Chrome Import → keep JSON. curl
-b→ keep Netscape. Do not round-trip through Netscape if SameSite matters.
Field-by-field mapping
What survives JSON Array ⇄ Netscape
| JSON Array | Netscape | Round-trip? |
|---|---|---|
name, value | columns 6–7 | Yes |
domain | column 1 (optional #HttpOnly_ prefix) | Yes |
hostOnly | column 2 inverted (FALSE = host-only) | Yes |
path | column 3 | Yes |
secure | column 4 TRUE/FALSE | Yes |
expirationDate seconds | column 5; session → 0 | Yes, if not milliseconds |
httpOnly | #HttpOnly_ prefix | Yes with a prefix-aware reader |
sameSite | none | No — always unspecified after Netscape |
partitionKey.topLevelSite | none | No |
url (derived) | none | Rebuilt from domain/path/secure |
When each format wins
- JSON Array — Chrome import, backups, Playwright/Puppeteer fixtures that need SameSite.
- Netscape — curl, wget, yt-dlp, Requests MozillaCookieJar.
- Never Netscape — partitioned cookies,
SameSite=Nonethat must stick in Chrome.