Force Internet Explorer 10 into Standards Mode with X-UA-Compatible
Lock IE10 into standards rendering with X-UA-Compatible and verify the active document mode using F12 Developer Tools.
30 Jan 2026, 21:54 UTC

The problem: IE10 may not render in standards mode
Internet Explorer 10 chooses its document mode from the page DOCTYPE, the X-UA-Compatible directive, and the browser’s Compatibility View settings. On intranets, IE10 often falls back to IE7 or quirks mode unless a directive tells it otherwise. The result is broken CSS layouts, missing JavaScript features, and inconsistent behavior between users.
Useful takeaway: send X-UA-Compatible: IE=10 as an HTTP response header, or place an equivalent meta tag at the very top of the HTML head, to force IE10 standards mode. Verify the active mode with F12 Developer Tools before and after the change.
Prerequisites
- Access to the web server configuration or the ability to edit the page’s HTML.
- Internet Explorer 10 available for testing, or IE11 with F12 Developer Tools emulation.
- A test page that currently renders differently than expected in IE10.
Document mode is the rendering engine version IE uses for a page. Standards mode means IE10 uses its own HTML, CSS, and JavaScript behaviors instead of emulating older versions.
Procedure: set the HTTP header
The HTTP header takes precedence over an equivalent meta tag, so it is the more reliable method when you control the server.
Apache
Add this to the virtual host configuration or a .htaccess file in the site root:
Header set X-UA-Compatible "IE=10"
Where to run: server configuration file or directory-level .htaccess. Required permissions: write access to the server config or .htaccess, and the mod_headers module must be enabled. Expected check: the response header appears in the Network tab of F12 Developer Tools. Risk: if another rule or middleware sends a conflicting X-UA-Compatible header, results depend on header ordering and server configuration.
nginx
Add this inside the server block:
add_header X-UA-Compatible "IE=10";
Where to run: nginx nginx.conf or a site include file. Required permissions: write access to the config and permission to reload nginx. Expected check: header present in the F12 Network tab. Risk: nginx does not inherit add_header from the server block into a location block that already uses add_header; repeat the directive in each location block if needed.
IIS
Add this to web.config:
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=10" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Where to run: application root web.config or IIS Manager. Required permissions: write access to the site’s configuration. Expected check: header present in the F12 Network tab.
Procedure: use the HTML meta tag
If you cannot change server headers, add this inside the <head> element, immediately after the charset declaration:
<meta http-equiv="X-UA-Compatible" content="IE=10">
Placement matters. IE begins parsing the page as soon as it receives bytes. If the meta tag appears after external stylesheets, scripts, or large blocks of markup, IE may already have chosen a document mode and will ignore the tag. Put it before any <link>, <script>, or <style> elements.
Verify the active document mode
- Open the page in Internet Explorer 10.
- Press F12 to open Developer Tools.
- Go to the Emulation tab (or Document Mode in older builds) and confirm the mode reads 10 or standards.
- Open the console and run:
document.documentMode
A return value of 10 confirms IE10 standards mode. Any other value means the directive did not take effect.
Also open the Network tab, select the page request, and confirm the response headers include X-UA-Compatible: IE=10 if you used the header method.
Limitations
- IE10 reached end of support in January 2016 and receives no security updates. Forcing standards mode does not make IE10 safe for general internet use.
- Enterprise Mode, Group Policy, or the Compatibility View list can override page-level directives. If the site is on the Compatibility View list, IE may ignore
IE=10. - Changing document mode can break CSS and JavaScript that were written for quirks or IE7 behavior. Test the full page after applying the directive.
- Conditional comments such as
<!--[if IE 10]>are parsed differently in standards mode and may not behave as expected.
Rollback
Because setting the header changes the server response, revert by removing the directive:
- Apache: comment out or delete the
Header setline and reload Apache. - nginx: remove the
add_headerline and reload nginx. - IIS: remove the
<add>element fromweb.config. - Meta tag: delete the
<meta>element from the HTML.
After rollback, repeat the verification steps to confirm the document mode returns to its previous value.
Practical check
Before declaring the fix complete, load the page in IE10 with an empty cache, open F12 Developer Tools, and confirm document.documentMode returns 10 on every navigation, not just the first load. If it does not, check for Compatibility View settings or a conflicting header from a proxy or load balancer.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.