HTTP Accept Header Generator
Build request negotiation headers with explicit media types, language ranges, encodings, and body type.
Request Profile
Header Values
Options
Content negotiation tells the server what response formats, languages, and encodings the client can accept.
Output
Generated Accept header output will appear here.
Accept and Content-Type answer different questions
Accept describes which response media types the client is willing to receive. Content-Type describes the media type of the representation carried in the request body. Sending both can be correct, but one does not imply the other.
Quality values express preference, not percentages
Accept, Accept-Language, and Accept-Encoding can attach q values from 0 to 1. Higher values are preferred; q=0 means the value is not acceptable. Basic q-value syntax is checked before output is generated.
Browser Fetch cannot set every request header
Browsers control Accept-Encoding themselves. Fetch output therefore leaves that field out instead of showing JavaScript that a browser cannot reproduce faithfully.
Charset parameters belong to the media type definition
A charset parameter is not universally valid for every media type. The optional charset choice is applied only to text/* and XML media types here. application/json does not define a charset parameter.
Header values must stay on one field line
CR, LF, NUL, and other unsafe control characters are rejected. cURL output uses POSIX single-quote escaping so shell metacharacters inside values are not silently reinterpreted.
References behind the syntax
Content negotiation and Content-Type semantics are defined in RFC 9110. Language matching builds on RFC 4647, and browser-controlled headers are defined by the WHATWG Fetch Standard.
