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.


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

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes)(Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ?(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: erikadoyle,