What characters are allowed in DOM IDs?

When working with HTML and the DOM, you may need to assign unique identifiers to elements using the "id" attribute. The "id" attribute provides a way to reference specific elements in the DOM, and it is important to know what characters are allowed when creating these identifiers. In this article, we will explore the characters that are allowed in DOM IDs and provide examples to illustrate their usage.

Introduction to DOM IDs

The "id" attribute is a fundamental part of HTML, used to uniquely identify elements within a document. It provides a way to select and manipulate specific elements using JavaScript or CSS. IDs are typically used to style elements, perform JavaScript operations, or create meaningful relationships between elements.

Allowed Characters in DOM IDs

According to the HTML specification, DOM IDs can contain any Unicode character except for a few special characters. The following rules apply:

  • Alphanumeric characters (a-z, A-Z, 0-9) are allowed.
  • Special characters such as underscores (_) and dashes (-) are allowed.
  • Spaces and other whitespace characters are not allowed.
  • Special characters such as exclamation marks (!), question marks (?), commas (,), periods (.), and semicolons (;) are not allowed.

Let's take a look at some examples to better understand the allowed characters:

Example 1: Alphanumeric Characters

                <div id="myElement"></div>
                <p id="example123">Example Paragraph</p>

In the above examples, we used alphanumeric characters (a-z, A-Z, 0-9) to create unique IDs for an HTML div and paragraph element.

Example 2: Underscores and Dashes

                <div id="my_element"></div>
                <span id="another-element">Another Element</span>

In this example, we used underscores and dashes to separate words within the IDs.

Best Practices for DOM IDs

While the HTML specification allows for a wide range of characters in DOM IDs, it is generally recommended to follow these best practices:

  • Use lowercase characters for IDs to maintain consistency.
  • Avoid using special characters other than underscores and dashes.
  • Make IDs descriptive and meaningful for easier understanding.

By following these best practices, you can ensure that your IDs are easily readable and maintainable.


In summary, DOM IDs can contain alphanumeric characters, underscores, and dashes. Other special characters and whitespace are not allowed. It is important to use proper IDs to maintain code consistency and readability. By following the best practices, you can create well-structured and maintainable code.