HTTP Content Negotiation Tester

Rank offered representations against entered Accept, language and encoding fields under a declared offline model.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Rank representations controls

One or more Accept field values, one per line. Media ranges may carry parameters and a q value, for example "text/html;level=1;q=0.8". Up to 24 ranges.

One or more language ranges such as "en-GB" or "*", each with an optional q value.

Content codings such as gzip, br or identity, each with an optional q value.

One per line as "media type | language | encoding | label". Use "-" for a missing language or encoding. Up to 30 lines.

Real servers differ when two representations score the same. The model can either follow the declared order or refuse to name a single winner.

Processed in your browser. Your inputs stay on this device.

Showing a generated example. Generate again for a new result.

How to use HTTP Content Negotiation Tester

  1. Enter the supported Accept, Accept-Language and Accept-Encoding ranges.
  2. List offered media type, language, encoding and label records.
  3. Choose a tie policy and review quality/specificity explanations before export.

Example: HTTP Content Negotiation Tester

Rank offered representations against entered Accept, language and encoding fields under a declared offline model.

You add
Accept: "text/html, application/xhtml+xml;q=0.9, application/json;q=0.8, */*;q=0.5" Accept-Language: "en-GB, en;q=0.9, fr;q=0.5, *;q=0.1" Accept-Encoding: "gzip, br;q=0.9, identity;q=0.5, *;q=0" Offered representations: "text/html | en-GB | gzip | HTML page (gzip)\ntext/html | en-GB | br | HTML page (brotli)\napplication/json | en | identity | JSON payload\ntext/plain | fr | gzip | French plain text\ntext/html | de | gzip | German HTML page" Equal-score policy: "declare"
You get
HTML page (gzip) ranks first in this model.

Options

Quality and specificity
A more specific matching media range determines that representation’s quality under the selected rules. q=0 excludes an applicable choice.
Tie policy
Declared order can resolve equal model scores, or the model can leave a tie unresolved. A real server can apply its own policy.

Supported inputs and limits

Up to 24 ranges per supported preference field and 30 offered representations. Selected media/language/encoding subset only; no request, codec test, server configuration or guarantee of actual origin selection. Blank fields model absent headers. Quoted delimiters and repeated quality parameters are refused.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

A ranked model does not contact an origin

The result combines the supplied preference dimensions under its declared scoring rules. Missing headers and identity coding require the documented handling rather than guessed client support. Compare against your application’s actual negotiation behavior when installing an endpoint.

Questions about HTTP Content Negotiation Tester

Will a real server choose this winner?

It may use another selection or tie policy.

Does q=0 mean a low preference?

An applicable zero-quality value excludes that modeled choice.

Does it compress the offered data?

No. Encoding labels describe supplied representations; no payload is transformed.

Project manager: Tony Hines · Content updated 4 October 2026 · Report a problem