The method opens a document for writing.



// In this example, the document contents are 
// overwritten as the document 
// is reinitialized on open(). 
document.write("<html><p>remove me</p></html>");; 
// document is empty.


If a document exists in the target, this method clears it (see the example above).

Also, an automatic call happens when document.write() is called after the page has loaded, but that's not defined in the W3C specification. document non-spec'ed parameters to

Do not confuse this method with allows you to overwrite the current document or append to it, while provides a way to open a new window, leaving the current document intact. Since window is the global object, just calling open(...) does the same as can close the opened document using document.close().

See Security check basics for more about principals.

If you dont want to create a history entry, replace open() with open("text/html", "replace").


Specification Status Comment
Document Object Model (DOM) Level 2 HTML Specification
The definition of '' in that specification.
Obsolete Initial definition

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes Yes Yes Yes ?

Gecko-specific notes

Starting with Gecko 1.9, this method is subject to the same same-origin policy as other properties, and does not work if doing so would change the document's origin.

Starting with Gecko 1.9.2, uses the principal of the document whose URI it uses, instead of fetching the principal off the stack. As a result, you can no longer call document.write() into an untrusted document from chrome, even using wrappedJSObject.

Document Tags and Contributors

Last updated by: fscholz,