HTTP 406 Not Acceptable

Client Error

4xx Response — Not Acceptable

What Does HTTP 406 Mean?

HTTP 406 Not Acceptable indicates that the server cannot produce a response matching the criteria specified in the request's Accept headers. The server cannot provide content in the format, language, or encoding that the client will accept.

Content negotiation failures trigger 406 responses. For example, if a client requests application/xml but the server only produces application/json, the server may return 406. In practice, many servers ignore Accept headers and return their default format instead.

HTTP 406 is relatively rare in web browsing but more common in API interactions where strict content type negotiation is enforced. Most web servers prefer to return content in their available format rather than returning 406.

Common Causes of 406 Not Acceptable

Content negotiation failed between client and server. Common causes: the client's Accept header requests a format the server doesn't support, language negotiation failure, and strict content type enforcement.

Most servers ignore Accept headers and return their default format rather than returning 406.

How to Fix 406 Not Acceptable

For API users: check the Accept header in your request and ensure it includes a format the server supports. For developers: implement content negotiation or return a default format instead of 406.

Most APIs support application/json — set this as your Accept header if unsure.

Related Status Codes

Frequently Asked Questions

What does HTTP 406 mean?

HTTP 406 Not Acceptable is a client error response. HTTP 406 Not Acceptable indicates that the server cannot produce a response matching the criteria specified in the request's Accept headers. The server cannot provide content in the format, language,

Is HTTP 406 an error?

Yes, HTTP 406 is a client error. Client Error responses (cli) indicate the request contains an error.

How do I fix HTTP 406?

For API users: check the Accept header in your request and ensure it includes a format the server supports. For developers: implement content negotiation or return a default format instead of 406.

What causes HTTP 406 Not Acceptable?

Content negotiation failed between client and server. Common causes: the client's Accept header requests a format the server doesn't support, language negotiation failure, and strict content type enforcement.

Is HTTP 406 permanent or temporary?

HTTP 406 is situational — it depends on the underlying cause. Fix the root cause to resolve it.

🔍 Check Your IP Address

While you're here, find out your public IP address, location, and ISP details instantly.

Check My IP →