Developer Tools
HTTP Range Header Builder
Build and parse HTTP Range and Content-Range headers in your browser. Test byte ranges for video seek, resumable downloads, and partial content.
Mode
Switch between parsing a Range request header, building one from scratch, or parsing the matching Content-Range response.
Range header
Paste a Range request header. Leading Range: is optional.
When provided, open-ended and suffix ranges are resolved to exact byte counts and per-range percentages are shown.
Parsed ranges
Range 1: Bounded range
0-999
- First byte
- 0
- Last byte
- 999
- Effective length
- 1,000 bytes
Range 2: Suffix (last N bytes)
-500
- Suffix length
- 500 bytes
- Effective length
- Last 500 bytes
Reference
Byte ranges are 0-indexed and inclusive on both ends. RFC 9110 section 14.2 defines the grammar; servers advertise support through the Accept-Ranges response header (typically Accept-Ranges: bytes).
Bounded range
Range: bytes=0-499
Bytes 0 through 499 inclusive (500 bytes). Used for the first chunk of a multi-chunk download.
Open-ended range
Range: bytes=500-
From byte 500 to the end of the resource. Used to resume a download after a connection drop.
Suffix range
Range: bytes=-500
The last 500 bytes of the resource. Useful when reading a trailing index, footer, or metadata block.
Multipart range
Range: bytes=0-999,-500
Multiple comma-separated ranges. The server replies with multipart/byteranges and a boundary, or coalesces them.
Server response (206)
Content-Range: bytes 0-999/67589
The single-range form of Content-Range tells the client which slice was returned and the complete size of the resource.
Server response (416)
Content-Range: bytes */67589
416 Range Not Satisfiable with a complete length, sent when the request asked for bytes past the end of the resource.
How to use
- Pick a mode at the top: Parse Range to inspect a pasted Range request header, Build Range to compose one from start and end byte positions, or Parse Content-Range to read a server's 206 or 416 response.
- In Parse mode, paste a Range header (Range: prefix is optional). Set the optional resource size in bytes and the parser resolves open-ended and suffix ranges to exact byte counts and percentages.
- In Build mode, add one row per range and choose the kind (bounded first-last, open-ended first-, or suffix -N). Fill in the byte positions. The generated header line, curl command, and fetch snippet update live.
- In Content-Range mode, paste a Content-Range response header to see the byte window, the complete length, the coverage bar, and a follow-up Range header for the bytes after the slice returned.
- Use the sample chips to load real-world examples: first 500 bytes, last 500 bytes, from byte N to end, multipart head and tail, video seek, and resumable retry.
- Read the warnings: overlapping ranges, too many parts, ranges past the end, and 416 unsatisfied responses are flagged with the exact rule violated and the fix to apply.
About this tool
HTTP Range Header Builder helps you read, write, and reason about HTTP byte range requests directly in your browser. The Range request header (RFC 9110 section 14.2, formerly RFC 7233) lets a client ask the server for a slice of a resource instead of the whole thing, and is what every video seek bar, every resumable download manager, and every S3, CloudFront, Cloudflare, Backblaze B2, or Google Cloud Storage object client uses to fetch a chunk on demand. The tool implements three modes that cover the full workflow. Parse mode takes a pasted Range header (with or without the literal Range: prefix) and breaks it into one row per byte range. Each row is annotated with its kind (bounded first-last, open-ended first-, or suffix -N), the resolved first and last byte positions, and the effective byte length; the parser flags grammar mistakes that real servers reject (a non-numeric first or last, a last byte less than the first, an empty piece from a stray comma, missing or non-bytes unit), and warns about overlapping ranges, duplicates, and the small-N rule that Apache, IIS, and CloudFront use to mitigate the byte-range amplification attack. Provide an optional resource size and the open-ended and suffix ranges are resolved to exact byte counts and per-range percentages. Build mode is a small form that composes one or more ranges and emits the canonical header line plus a copy-ready curl command and a fetch snippet so you can drop the result straight into a script. The builder rejects ranges that start past the end of a known resource size, warns when the last byte falls past the end (the server will clamp), and reports the total bytes requested and the share of the resource covered. Content-Range mode parses the matching server response: the normal bytes first-last/total form (which accompanies 206 Partial Content), the bytes first-last/* form for live streams where the total is still unknown, and the bytes */total form that 416 Range Not Satisfiable uses to tell the client the size of the resource so it can retry with a valid range. The result panel shows the byte window, the complete length, the percentage of resource covered, a coverage bar visualizing the slice inside the whole resource, and a ready-made follow-up Range header that asks for the bytes after the last one returned. A short reference section summarizes the six patterns developers actually use (bounded, open-ended, suffix, multipart, 206, and 416) with one canonical example each. Everything runs locally; the headers, ranges, and resource sizes you paste here never leave your device.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
HTTP Headers Parser
Parse, classify, and decode HTTP headers, with a missing security headers audit.
Open tool
DeveloperContent-Disposition Header Builder
Build RFC 6266 download headers with UTF-8 filenames; parse and explain existing values.
Open tool
DeveloperHTTP Link Header Builder
Build RFC 8288 Link headers with preload, canonical, hreflang, and parse existing values.
Open tool
DeveloperCache-Control Header Builder
Build and parse Cache-Control headers with directive flags, max-age presets, conflict checks, and ready-to-paste server snippets.
Open tool
DeveloperCORS Headers Generator
Build Access-Control headers with live validation and Apache, Nginx, Vercel, Netlify, Next.js, Worker, and Express snippets.
Open tool
DeveloperHTTP Status Codes
Searchable HTTP status code reference with meaning, class, RFC, and examples.
Open tool