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
HTML Living Standard
The definition of 'WindowOrWorkerGlobalScope.clearTimeout()' in that specification.
Living Standard Method moved to the WindowOrWorkerGlobalScope mixin in the latest spec.
HTML Living Standard
The definition of 'clearTimeout()' in that specification.
Living Standard  

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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