HTTP status · 4xx — client error

416 Range Not Satisfiable

A Range request asks for bytes outside the resource, or the server cannot satisfy the range.

Key facts

Class4xx — client error
StandardRFC 9110 §15.5.17
Renamed fromRequested Range Not Satisfiable
Required headerContent-Range: bytes */length
CauseRange starts at or beyond the end
Related206 Partial Content, Accept-Ranges

When a range cannot be served

A download client resumes with Range: bytes=5000-. If the file is only 3000 bytes long, no byte at that offset exists. The server answers 416 and includes Content-Range: bytes */3000 so the client learns the actual length without a second request.

An unsatisfiable range can also occur when the resource changed and the validator no longer matches, or when the range unit is not supported.

Recovery on the client

Drop the Range header and request the full resource, or clamp the range to the advertised length. Repeated 416 responses on a resumable download usually mean a stale local offset or a file that was replaced on the server.

Frequently asked questions

Does 416 mean the file is gone?

No. It means the requested byte range does not exist. The resource may still be fully available.

Why is Content-Range required?

It tells the client the complete length so it can retry sensibly instead of guessing.

Can 416 happen with a valid start?

Yes, if the end is before the start or the range unit is unsupported.

New tools, straight to your inbox

One short email when we add tools worth using. No spam, unsubscribe anytime.