Clearing all cookies with JavaScript Clearing all cookies with JavaScript javascript javascript

Clearing all cookies with JavaScript


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) : cookie;        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";    }}

Note that this code has two limitations:

  • It will not delete cookies with HttpOnly flag set, as the HttpOnly flag disables Javascript's access to the cookie.
  • It will not delete cookies that have been set with a Path value. (This is despite the fact that those cookies will appear in document.cookie, but you can't delete it without specifying the same Path value with which it was set.)


One liner

In case you want to paste it in quickly...

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });

And the code for a bookmarklet :

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();


And here's one to clear all cookies in all paths and all variants of the domain (www.mydomain.com, mydomain.com etc):

(function () {    var cookies = document.cookie.split("; ");    for (var c = 0; c < cookies.length; c++) {        var d = window.location.hostname.split(".");        while (d.length > 0) {            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';            var p = location.pathname.split('/');            document.cookie = cookieBase + '/';            while (p.length > 0) {                document.cookie = cookieBase + p.join('/');                p.pop();            };            d.shift();        }    }})();