The clearTimeout() method of the WindowOrWorkerGlobalScope mixin cancels a timeout previously established by calling setTimeout().




The identifier of the timeout you want to cancel. This ID was returned by the corresponding call to setTimeout().

It's worth noting that the pool of IDs used by setTimeout() and setInterval() are shared, which means you can technically use clearTimeout() and clearInterval() interchangeably. However, for clarity, you should avoid doing so.


Run the script below in the context of a web page and click on the page once. You'll see a message popping up in a second. If you click the page multiple times in one second, the alert only appears once.

var alarm = {
  remind: function(aMessage) {
    this.timeoutID = undefined;
  setup: function() {
    if (typeof this.timeoutID === 'number') {
    this.timeoutID = window.setTimeout(function(msg) {
    }.bind(this), 1000, 'Wake up!');
  cancel: function() {
    this.timeoutID = undefined;
window.onclick = function() { alarm.setup(); };


Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.


Specification Status Comment
WHATWG HTML Living Standard
The definition of 'WindowOrWorkerGlobalScope.clearTimeout()' in that specification.
Living Standard Method moved to the WindowOrWorkerGlobalScope mixin in the latest spec.
WHATWG HTML Living Standard
The definition of 'clearTimeout()' in that specification.
Living Standard  

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 (Yes) 1.0 (1.7 or earlier)
52 (52)[1]
4.0 4.0 1.0
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 1.0 1.0 (Yes) 1.0 (1)
52.0 (52)[1]
6.0 6.0 1.0

[1] clearTimeout() now defined on WindowOrWorkerGlobalScope mixin.

See also