This website uses cookies

We use cookies to personalize content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you've provided to them or that they've collected from your use of their services. Please read more at our privacy policy page.

HTML <script> Tag

The <script> tag declares client-side script (JavaScript) in an HTML document. The tag can include either the script itself, or a link to an external file containing scripts. The path to the external file is specified with src attribute.

If you connect an external file with scripts, don’t embed script into the same <script> tag.

The <script> tag can be placed in the <head> element, as well as within the <body> element. The script execution doesn’t depend on its location in an HTML document, but the scripts, that must be executed first, must be placed in the heading of the document.

The <script> tag can be used in an HTML document many times.


The <script> tag comes in pairs; the closing tag (</script>) is required.

There are few ways an external script can be executed:

  • The async="async" attribute indicates, that the scripts is executed asynchronously, simultaneously with the loading of the page.
  • When there is no async and defer="defer", the script is executed after the loading of the page.
  • If there is no async and defer, the script is executed before the loading of the page.


<!DOCTYPE html>
    <title>Title of the document</title>
    <p id="example"></p>
      document.getElementById("example").innerHTML = "My first JavaScript code";



Attribute Value Description
async async Defines that the script is executed asynchronously. (For external scripts only).
Not supported in IE9 and older versions.
charset charset Defines character encoding, used in an external file with the JavaScript code.
defer defer Defines, that the script must be executed after the loading of the page. (For external scripts only).
src URL Defines the URL of an external file with the JavaScript code. (Can be defined either relative, or an absolute URL).
type media_type Defines the MIME-type of the script.

The <script> tag supports the Global Attributes and the Event Attributes.

Browser support