Content-Type Header Checker
Find the Content-Type to send for JSON, forms, uploads and downloads, check a header value for mistakes, or drop a file to detect its real type from its contents.
Runs in your browser. Nothing you add is uploaded.
What the Content-Type Header Checker does
The Content-Type header tells the receiver how to read a message body, and getting it wrong is behind a long list of mystery failures: a JSON API that returns 415, an upload that arrives empty because the multipart boundary was set by hand, a script the browser refuses to run because it was served as text/plain. This tool helps three ways: it lists what to send for common jobs, checks a header value for mistakes, and reads a dropped file's first bytes to find out what it really is.
How to choose or check a Content-Type
- On “What should I send?”, find your job, such as JSON API, file upload or server-sent events, and copy the header with its explanatory note.
- On “Check a header”, paste a Content-Type value to see its type, subtype, parameters and any problems.
- On “Identify a file”, drop a file. Only its first few kilobytes are read, in your browser.
- Compare the type from the extension, from your browser and from the contents. A mismatch is flagged.
- Copy the Content-Type header suggested for serving that file.
The Content-Type Header Checker runs entirely in your browser — nothing you enter is uploaded, stored, or logged.
When to use it
Fixing a 415 Unsupported Media Type
If an API rejects your request, the Content-Type is usually missing or wrong. Check the recipe for JSON, forms or multipart and compare it with what you send.
Serving user uploads safely
Detect the real type of an uploaded file from its bytes rather than trusting the file name, and serve it with a matching header plus nosniff.
Debugging a blocked script or stylesheet
Browsers refuse module scripts and strict-mode stylesheets with the wrong type. The recipes show the exact header each needs.
Good to know
- For multipart/form-data let the client set the header. It must include the boundary it actually used.
- text/event-stream must not have a charset parameter.
- JSON does not need charset=utf-8, but text types do.
- Serve SVG as image/svg+xml and enable compression for it.
- Combine Content-Type with X-Content-Type-Options: nosniff for files users can upload.
Frequently asked questions
Do I set Content-Type on a multipart upload myself?
Does application/json need charset=utf-8?
How does file detection work?
What is the difference between application/json and text/json?
What does +json mean in application/vnd.api+json?
How reliable is file-signature detection?
Related tools
HTTP Status Code Lookup
Look up any HTTP status code: meaning, causes and how to fix it.
User-Agent Parser
Identify the browser, OS, device or bot behind a User-Agent.
URL Parser
Break a URL into scheme, host, port, path, query and fragment.
Query String Parser
Turn a query string into a table or JSON, decoded.