Tutorials References Menu

HTML <script> Tag


Example

Write "Hello JavaScript!" with JavaScript:

<script>
document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>
Try it Yourself »

Definition and Usage

The <script> tag is used to embed a client-side script (JavaScript).

The <script> element either contains scripting statements, or it points to an external script file through the src attribute.

Common uses for JavaScript are image manipulation, form validation, and dynamic changes of content.


Tips and Notes

Note: There are several ways an external script can be executed:

  • If async="async": The script is executed asynchronously with the rest of the page (the script will be executed while the page continues the parsing)
  • If async is not present and defer="defer": The script is executed when the page has finished parsing
  • If neither async or defer is present: The script is fetched and executed immediately, before the browser continues parsing the page

Tip: Also look at the <noscript> element for users that have disabled scripts in their browser, or have a browser that doesn't support client-side scripting.

Tip: If you want to learn more about JavaScript, visit our JavaScript Tutorial.


Browser Support

Element
<script> Yes Yes Yes Yes Yes


Attributes

Attribute Value Description
async async Specifies that the script is executed asynchronously (only for external scripts)
crossorigin anonymous
use-credentials
Sets the mode of the request to an HTTP CORS Request
defer defer Specifies that the script is executed when the page has finished parsing (only for external scripts)
integrity filehash Allows a browser to check the fetched script to ensure that the code is never loaded if the source has been manipulated
nomodule True
False
Specifies that the script should not be executed in browsers supporting ES2015 modules
referrerpolicy no-referrer
no-referrer-when-downgrade
origin
origin-when-cross-origin
same-origin
strict-origin
strict-origin-when-cross-origin
unsafe-url
Specifies which referrer information to send when fetching a script
src URL Specifies the URL of an external script file
type scripttype Specifies the media type of the script

Differences Between HTML and XHTML

In XHTML, the content inside scripts is declared as #PCDATA (instead of CDATA), which means that entities will be parsed.

This means that in XHTML, all special characters should be encoded, or all content should be wrapped inside a CDATA section:

<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
  // some code
}
//]]>
</script>

Global Attributes

The <script> tag also supports the Global Attributes in HTML.


Related Pages

HTML tutorial: HTML Scripts

HTML DOM reference: Script Object

JavaScript Tutorial: Learn JavaScript


Default CSS Settings

Most browsers will display the <script> element with the following default values:

script {
  display: none;
}