HTML Document Structure: How to Create DOCTYPE in HTML

html doctype

The DOCTYPE ensures that your HTML is readable by browsers and ensures that pages follow modern standards.

Understand the DOCTYPE in HTML

The DOCTYPE is not an HTML tag. You place it at the top of your document. It tells the browser which HTML rules to use. This activates standards mode. The browsers switch to quirks mode without it, and that causes layout and style problems.

Modern browsers do not require a full DTD. They rely on the DOCTYPE to parse your page correctly. A wrong DOCTYPE makes browsers show the page differently. This causes problems with layout and style.

Older HTML versions used long DTDs based on SGML. These DTDs validated your HTML against rules. There were three main types:

  • Strict: Enforced all rules. No deprecated tags like <font>.
  • Transitional: Allowed some old tags.
  • Frameset: Used when pages had frames.

DOCTYPE Syntax by Version in HTML

HTML 4.01/XHTML 1.x

These use a DTD that links to the W3C site.

HTML 4.01 Strict:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
  "http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

These DTDs control what tags and attributes you can use. They also define how the browser handles errors.

HTML5

HTML5 DOCTYPE:

<!DOCTYPE html>

This works the same in all browsers. You use it for every HTML5 page. It does not point to a DTD file.

Examples

Basic HTML5 Page

<!DOCTYPE html>
<html>
  <head>
    <title>The Title of Page</title>
  </head>
  <body>
    <p>This is a modern HTML5 page.</p>
  </body>
</html>

This uses the HTML5 DOCTYPE. It starts the page in standards mode and avoids quirks mode so CSS and layout behave as expected.

HTML 4.01 Strict for Clean Code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>The Strict Page</title>
</head>
<body>
  <p>This version skips old tags and follows all the HTML rules.</p>
</body>
</html>

This page uses the strict DTD, which disallows presentational tags like and suits clean, rule-based projects.

XHTML 1.0 Transitional for Mixed Content

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>The XHTML Transitional</title>
</head>
<body>
  <p>This format lets you use old HTML rules and new XHTML rules together.</p>
</body>
</html>

This blends HTML and XML. The xmlns shows that it follows XHTML. You can use older tags, but the syntax must be exact.

Frameset DOCTYPE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
  "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
  <title>The Frameset Web Page</title>
</head>
<frameset cols="50%,50%">
  <frame src="left.html">
  <frame src="right.html">
</frameset>
</html>

This uses a frameset. It splits the page into frames. While outdated, some legacy systems still rely on it. You cannot use <body> with <frameset>.

Wrapping Up

In this article, you learned what the HTML DOCTYPE does and why it matters. You also saw how it changed over time from complex DTDs to the simple HTML5 form.

Here is a quick recap:

  • The DOCTYPE tells browsers how to read your page.
  • It keeps your page in standards mode, not quirks mode.
  • HTML5 uses <!DOCTYPE html> with no DTD file.
  • Older versions use long DTD links that define valid tags and rules.
  • Each version suits a different purpose—modern, strict, mixed, or framed layouts.

FAQs

What is <!DOCTYPE html> and why is it important?

The <!DOCTYPE html> declaration tells the browser which version of HTML the page is written in. It’s essential because it triggers standards mode in browsers, ensuring consistent rendering across different platforms. In HTML5, the declaration is simple and case-insensitive:
<!DOCTYPE html>
Without it, browsers may switch to quirks mode, which can lead to inconsistent layout and CSS behavior.

Is <!DOCTYPE html> required in HTML5?

Yes, the <!DOCTYPE html> declaration is required even in HTML5. Although HTML5 does not rely on a Document Type Definition (DTD), the declaration is still necessary to ensure the document is interpreted in standards mode. Here's how it should be declared:
<!DOCTYPE html>
Using it correctly at the beginning of the HTML document helps prevent rendering issues across modern browsers.

What happens if you omit the <!DOCTYPE> declaration?

If you omit the <!DOCTYPE> declaration, most browsers will enter quirks mode. In this mode, browsers emulate non-standard behavior from older versions to support legacy pages. This can result in:
  • Broken layouts
  • Inconsistent CSS rendering
  • Unpredictable behavior in JavaScript
To avoid these issues, always start your HTML documents with:
<!DOCTYPE html>

Similar Reads

HTML del Tag: How to Mark Deleted Text in Pages

The HTML del tag shows text that a user or author removed from a page. A browser shows this text…

How to Open Link in New Tab with HTML Target

This article shows you how to open a link in a new tab. Read the code and follow the examples…

HTML vs XHTML: Key Differences Every Developer Must Know

HTML and XHTML describe web pages. You must know the differences to write code that works across browsers. This article…

HTML Attributes with Examples for Beginners

HTML attributes add extra detail to elements so the browser knows how to handle them. Here you will see examples…

HTML output Tag: How to Display Calculation Results

The <output> tag in HTML shows results inside a form. It helps display values from user actions or scripts. You…

HTML bdi Tag: Control Text Direction in HTML

The HTML bdi tag marks text that has an unknown or mixed direction. It makes sure that this part does…

HTML title Attribute: How it Works with Examples

The HTML title attribute adds extra info to any element. You can use it to show tooltips on hover. What…

HTML dir Attribute: How to Set Text Direction

The dir attribute tells the browser which way text should go in HTML. You use it when a page or…

HTML Deprecated Tags and Modern Alternatives List

HTML tags that no longer work stay in the deprecated list. This article explains them and shows the modern replacements.…

HTML dialog Tag: How to Create Dialog Boxes

The <dialog> tag is used to build modal popups in HTML. It shows alerts and messages without third-party scripts. Understand…

Previous Article

HTML Form novalidate Attribute: How it Works with Examples

Next Article

PHP array_filter: How to Filter Array Values with Examples

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *


Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.