# X-UA-Compatible HTTP header must have the value “IE=edge”, was “IE=10”.

> Canonical HTML version: https://rocketvalidator.com/html-validation/x-ua-compatible-http-header-must-have-the-value-ie-edge-was-ie-10
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `X-UA-Compatible` directive was introduced to control which rendering engine Internet Explorer would use when displaying a page. Setting it to a specific version like `IE=10` locks the page into that version's rendering mode, even if the user has a newer version of Internet Explorer installed. This is problematic because it prevents the browser from using its most capable, standards-compliant rendering engine and can lead to unexpected layout or functionality issues.

The value `IE=edge` tells Internet Explorer to use the latest rendering engine available, which ensures the best possible standards compliance and feature support. The HTML specification and the W3C validator enforce this requirement because pinning to a specific IE version serves no forward-compatible purpose and can actively degrade the browsing experience.

It's worth noting that with Internet Explorer now being retired and replaced by Microsoft Edge, this meta tag is largely historical. However, if you include it at all, the validator requires that it be set to `IE=edge`. If your site no longer needs to support legacy versions of Internet Explorer, you can also simply remove the `X-UA-Compatible` declaration entirely — modern browsers ignore it.

### How to fix it

1. Find any `<meta http-equiv="X-UA-Compatible">` tag in your HTML `<head>`.
2. Change the `content` attribute value from the specific version (e.g., `IE=10`) to `IE=edge`.
3. If the directive is set as an HTTP response header on your server, update the header value there as well.
4. Alternatively, remove the tag or header entirely if you no longer need IE compatibility.

## Examples

### Incorrect: pinned to a specific IE version

This triggers the validator error because `IE=10` locks rendering to Internet Explorer 10 mode:

```html
<meta http-equiv="X-UA-Compatible" content="IE=10">
```

Other version-specific values that would also trigger this error include `IE=9`, `IE=11`, `IE=EmulateIE10`, and similar variations.

### Correct: using `IE=edge`

Replace the version-specific value with `IE=edge`:

```html
<meta http-equiv="X-UA-Compatible" content="IE=edge">
```

### Correct: full document example

When included in a complete HTML document, the `X-UA-Compatible` meta tag should appear early in the `<head>`, ideally right after the `<meta charset>` declaration:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>My Page</title>
</head>
<body>
  <p>Page content goes here.</p>
</body>
</html>
```

### Correct: removing the tag entirely

If IE support is no longer a concern, the simplest fix is to remove the meta tag altogether:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
</head>
<body>
  <p>Page content goes here.</p>
</body>
</html>
```

### Server-side HTTP header

If the `X-UA-Compatible` value is being sent as an HTTP response header rather than a meta tag, update your server configuration. For example, in Apache:

```
# Incorrect
Header set X-UA-Compatible "IE=10"

# Correct
Header set X-UA-Compatible "IE=edge"
```

Or in Nginx:

```
# Incorrect
add_header X-UA-Compatible "IE=10";

# Correct
add_header X-UA-Compatible "IE=edge";
```
