Resume an Interrupted Download with curl -C -

curl can pick up where a failed transfer left off by sizing the existing output file.

macOScurldownloadLow risk
Re-run the same command with `curl -C - -O <url>`; the dash in `-C -` makes curl infer the resume offset from the partial file.

01Command

Command
$ curl -C - -L -O https://example.com/big-file.iso
# Resume with a manual output name:
curl -C - -L -o big-file.iso https://example.com/big-file.iso

02What it does

`-C -` tells curl to look at the output file already on disk and send a Range request from that byte onward — servers that support ranges continue seamlessly, and curl reports `HTTP 416` when the file is already complete. Combine with `-L` to follow redirects and `-O` to reuse the remote filename, or `-o name` to choose your own. This is the standard fix when a 5 GB download dies at 80%.

03Risk

RiskLow risk
!Warning: If the server ignores Range headers, `-C -` restarts or errors rather than resuming — check the first line of curl's progress output.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

Last verified: 2026-09-17 · Category: Network