Skip to content

Cookies vs Web Storage

Cookies and Web Storage serve different purposes. Choosing the right one depends on your use case.

FeatureCookiesWeb Storage
Capacity~4KB~5-10MB
Sent to server✅ Yes (auto)❌ No
ExpirationManuallocalStorage: manual, sessionStorage: on close
AccessClient & serverClient only
APIdocument.cookie (string).getItem() / .setItem() (simple)
// Use cookies for:
// - Authentication tokens (sent automatically with requests)
// - Session IDs
// - Server-side preferences
// Use Web Storage for:
// - Large client-side data (user preferences, drafts)
// - Application state
// - Cached API responses
Storage TypeXSS VulnerableCSRF Vulnerable
localStorage✅ Yes (JS access)❌ No
sessionStorage✅ Yes (JS access)❌ No
Cookies (HttpOnly)❌ No✅ Yes
Cookies (SameSite)❌ No❌ No (with SameSite=Strict)
  • Cookies: ~4KB, auto-sent to server, best for auth
  • Web Storage: ~5-10MB, client-only, best for app data
  • Use HttpOnly cookies for auth tokens
  • Use Web Storage for everything else