# Using a Custom Doctype

You can specify a different “doctype” (document type, or DTD) for a Visualforce page by using the `docType` attribute on the `<apex:page>` tag. This changes the doctype declaration at the beginning of the page. This is particularly useful if you’re working with HTML5, and might also allow you to address browser compatibility issues.

By default, Visualforce pages are served with a doctype of HTML 4.01 Transitional. Specifically, pages begin with this doctype declaration:

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

You can specify a different doctype for a Visualforce page by using the `docType` attribute on the `<apex:page>` tag.

The `docType` attribute takes a string representing the document type. The format of the string is:

```nolang
<doctype>-<version>[-<variant>]
```

where

- `doctype` is either `html` or `xhtml`
- `version` is a decimal version number valid for the `doctype`
- `variant`, if included, is:

  - `strict`, `transitional`, or `frameset` for all `html` document types and the `xhmtl-1.0` document type, or
  - \<blank> or `basic` for the `xhmtl-1.1` document type

If an invalid document type is specified, the default doctype is used. For more information about valid HTML doctypes, see [the list at the W3C website](http://www.w3.org/QA/2002/04/valid-dtd-list.html).

:::note
In API 28.0 and greater, the scope of how the `docType` is determined for a page depends on the entire page hierarchy, not just the main page. When pages are added to the main page using the `<apex:include>` tag, if *any* page in the hierarchy is set to `docType="html-5.0"`, the *entire* page hierarchy is rendered in that mode.
:::

## Custom Doctype Example

To create a Visualforce page with an XHTML 1.0 Strict document type, use the `docType` attribute on the `<apex:page>` tag, and specify a value of `xhtml-1.0-strict`:

```visualforce
<apex:page docType="xhtml-1.0-strict" title="Strictly XHTML" 
    showHeader="false" sidebar="false">
    <h1>This is Strict XHTML!</h1>
    <p>
        Remember to close your tags correctly:<br/>
        <apex:image url="/img/icon-person.gif" alt="Person icon"/>
    </p>
</apex:page>
```

:::note
Visualforce doesn’t alter markup generated by components to match the doctype, nor the markup for standard Salesforce elements such as the header and sidebar. Salesforce elements are valid for most doctypes and function properly with any doctype, but if you choose a strict doctype and wish to pass an HTML validation test, you might need to suppress or replace the standard Salesforce elements.
:::

**See Also**

- [Relaxed Tidying for the HTML5 Doctype](/docs/platform/salesforce-pages-developers-guide/guide/pages-html-features-tags-html5-relaxed-tidying.md)
