Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How can I delete all cookies with JavaScript?
To delete all cookies with JavaScript, you need to iterate through existing cookies and set their expiration date to the past. JavaScript doesn't provide a direct method to clear all cookies at once, so we must delete them individually.
How Cookie Deletion Works
Cookies are deleted by setting their expires attribute to a past date. When the browser sees an expired cookie, it automatically removes it from storage.
Method 1: Basic Cookie Deletion
This approach splits the cookie string and deletes each cookie by name:
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i -1 ? cookie.substr(0, eqPos).trim() : cookie.trim();
// Delete cookie by setting expiration to past date
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
}
}
// Test the function
document.cookie = "test1=value1";
document.cookie = "test2=value2";
console.log("Before deletion:", document.cookie);
deleteAllCookies();
console.log("After deletion:", document.cookie);
Method 2: Enhanced Deletion with Path and Domain
Some cookies may have specific paths or domains. This comprehensive approach handles those cases:
function deleteAllCookiesAdvanced() {
var cookies = document.cookie.split(";");
for (var i = 0; i -1 ? cookie.substr(0, eqPos).trim() : cookie.trim();
if (name) {
// Delete with different path and domain combinations
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=" + window.location.hostname;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=." + window.location.hostname;
}
}
}
// Create test cookies and delete them
document.cookie = "sample1=data1";
document.cookie = "sample2=data2;path=/";
console.log("Cookies before advanced deletion:", document.cookie);
deleteAllCookiesAdvanced();
console.log("Cookies after advanced deletion:", document.cookie);
Complete Working Example
<!DOCTYPE html>
<html>
<head>
<script>
var counter = 1;
function addCookie() {
document.cookie = "cookie" + counter + "=value" + counter + ";path=/";
counter++;
listCookies();
}
function listCookies() {
var cookieList = document.cookie || "No cookies found";
document.getElementById("cookieDisplay").innerHTML = cookieList;
}
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos).trim() : cookie.trim();
if (name) {
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
}
}
listCookies();
}
</script>
</head>
<body>
<button onclick="addCookie()">Add Cookie</button>
<button onclick="listCookies()">List Cookies</button>
<button onclick="deleteAllCookies()">Delete All Cookies</button>
<h2>Current Cookies:</h2>
<p id="cookieDisplay">Click "List Cookies" to see current cookies</p>
</body>
</html>
Key Points
- Cookies are deleted by setting their expiration date to January 1, 1970
- The
path=/parameter ensures deletion across the entire domain - Some cookies may require specific domain parameters to be deleted properly
- Always trim cookie names to handle whitespace from the split operation
Conclusion
Deleting all cookies requires iterating through existing cookies and expiring each one individually. The enhanced method handles cookies with different path and domain settings for complete removal.
