What is an .aria2 File?
Architecture, Resuming & Recovery
The complete guide to aria2 control files: what they are, why they appear next to your downloads, how multi-connection resume works, the on-disk binary layout, and exactly how to recover a partial download — with an in-browser inspector.
Last reviewed 2026-09 · aria2 v1.37.0
.aria2 file is a small binary control file that aria2 writes next to an in-progress download (for example ubuntu.iso.aria2 beside ubuntu.iso). It records which pieces have already been verified on disk, so aria2 can open many parallel connections and resume from the exact byte after a crash, reboot or network drop. When the download reaches 100% and passes its integrity check, aria2 deletes it automatically.
What it is — and what it is not
It is…
- A binary progress/control file for one incomplete download
- Safe to keep — it is what lets aria2 resume
- Paired with a real target file of the same name minus the extension
- Recreated automatically when you restart aria2
It is not…
- Your downloaded file (it has no useful content you can open)
- A corrupted media/document file you can repair or convert
- Convertible to MP4/ZIP — you finish the download instead
- A virus by itself — but see the safety notes below
The naming rule
The control file is just the target name with .aria2 appended:
movie.mkv.aria2 → target movie.mkv
big-archive.zip.aria2 → target big-archive.zip
What the control file actually does
Three jobs, all in a few kilobytes of metadata.
Pieces, not bytes
aria2 splits every file into fixed-size pieces and keeps a bitfield: bit 1 = that piece is present and verified on disk; bit 0 = still missing. This is what allows up to 16 parallel connections without corrupting the file.
Exact, zero-loss resume
After a power cut, crash or Wi-Fi drop, aria2 reloads the bitfield and re-downloads only the missing pieces — never from 0%.
Automatic cleanup
When every piece is present and the checksum passes, aria2 unlinks the .aria2 file, leaving only your finished file.
Online .aria2 File Header Inspector
Inspect a .aria2 control file locally in your browser — see the target size, piece size and how many chunks are already verified. Nothing is uploaded; the file never leaves your device.
Drop an .aria2 control file here to inspect
Or click to select from your local drive
This is a best-effort reader for the common aria2 control-file (version 1) layout. Keep the original file untouched; the inspector only reads a copy.
Under the hood: the binary layout
Structure of an aria2 control file (version 1, big-endian), as documented in aria2’s technical notes. H = 10 + info-hash length, so H is 10 for HTTP/FTP downloads and 30 for BitTorrent. The inspector above reads exactly these fields.
| Byte offset | Type | Field | Meaning |
|---|---|---|---|
| 0x00–0x01 | uint16 | version | Format version. aria2 writes version 1. |
| 0x02–0x05 | uint32 | extension | Extension flags. If the lowest bit is set, aria2 checks that the saved info hash matches the download. |
| 0x06–0x09 | uint32 | info hash length | Length of the info hash that follows: 20 for BitTorrent, 0 for HTTP/FTP. |
| 0x0A…H−1 | bytes | info hash | SHA-1 BitTorrent info hash (absent for HTTP/FTP downloads). |
| H…H+3 | uint32 | piece length | Size of each piece (e.g. 1048576 = 1 MiB). |
| H+4…H+11 | uint64 | total length | Total size of the target file in bytes. |
| H+12…H+19 | uint64 | upload length | Bytes uploaded so far (BitTorrent). |
| H+20…H+23 | uint32 | bitfield length | Length of the bitfield in bytes. |
| H+24… | bitfield | piece bitfield | One bit per piece: 1 = complete on disk, 0 = missing. |
| after bitfield | records | in-flight pieces | Count of partially downloaded pieces, then for each: index, length and a bitfield of 16 KiB blocks. |
You never need to edit this file by hand. It exists purely so aria2 can reason about your partial download.
Download recovery playbook
Six real scenarios and the exact commands. In every case, keep the incomplete target file and its .aria2 file together.
A. Normal interruption (power cut or network drop)
Keep ubuntu.iso and ubuntu.iso.aria2 in the same folder, then just add -c (continue):
B. The signed download URL has expired
Cloud hosts (Google Drive, 1Fichier, etc.) use short-lived signed links. As long as the size and piece layout match, aria2 can continue a download from a brand-new URL:
- Get a fresh URL for the same file from your browser.
- Make sure the partial file and its
.aria2file share the target name (e.g.target.zip+target.zip.aria2). - Run
aria2c -c -o "target.zip" "FRESH_URL".
aria2 re-attaches to the existing bitfield and continues. If the server cannot serve the missing byte ranges, it restarts — that is expected, not a bug.
C. Suspected disk corruption — verify every piece
Force aria2 to re-check what is already on disk before downloading the rest:
D. Resume in a GUI (Motrix, AriaNg, Aria2App)
GUI frontends do exactly the same thing: open the app, re-add the same download (same URL and output name), and it continues from the existing pieces. You can also just restart aria2 with --save-session/--input-file configured and it resumes automatically. See the GUI list or use our online WebUI.
E. Moving a partial download to another machine
- Copy both the partial target file and the
.aria2file, keeping the same names. - On the new machine, run the same command (with
-c) or load the session. - aria2 verifies the existing pieces and continues.
F. BitTorrent / magnet downloads
Torrents use the same control file (file.torrent.aria2 or a name derived from the info hash). While you are seeding a finished torrent, the .aria2 file stays — that is normal. Stop seeding (seed-ratio/seed-time reached, or remove the task) and aria2 removes it.
Is it safe to delete the .aria2 file?
| Your goal | Delete the .aria2 file? | Result |
|---|---|---|
| Finish/resume the download | No | Deleting it forces aria2 to restart from 0%. |
| Cancel and discard the partial file | Yes | Delete both files; the download is abandoned. |
| Download is already 100% complete | Not needed | aria2 removes it automatically (unless seeding). |
| Media player says the file is corrupt | No | The file is incomplete — resume instead of deleting. |
Safety rules
- Never reuse one
.aria2file for a different file — its bitfield would not match and can corrupt the result. - Don't rename the target file without renaming the control file (and vice-versa) — they must share the name.
- Treat a
.aria2file from an untrusted source the same as any unknown download: it is metadata, but you cannot inspect its origin the way you can a file you fetched yourself.
.aria2 vs other incomplete-file formats
Why a piece-level bitfield resumes better than a linear temp stream.
| Downloader | Temp file | Multi-connection | Resume granularity |
|---|---|---|---|
| aria2 | .aria2 |
Yes (up to 16/host) | Exact piece level |
| Chrome / Edge | .crdownload |
No (single stream) | Linear offset only |
| Firefox | .part |
No (single stream) | Linear offset only |
| Internet Download Manager | IDM_*.tmp |
Yes (up to 32) | Proprietary re-assembly |
Troubleshooting
The .aria2 file is not deleted after 100%
Usually because BitTorrent seeding is still active (aria2 keeps the control file while seeding), or the integrity check has not passed. Stop seeding or remove the task and aria2 cleans it up. If the data is not sealed, run aria2c -c --check-integrity=true against the target.
The download restarts from 0% every time
The control file is missing, in the wrong folder, renamed, or does not match the target. Keep file.ext and file.ext.aria2 together and run with -c. Ensure the output name (-o) is identical across runs.
"File is corrupt" when I open the partial file
It is simply incomplete. The .aria2 file existing means aria2 has not finished writing all pieces. Resume the download; once complete, the file is valid and the control file disappears.
I see many .aria2 files
Each incomplete download has its own control file. A torrent may leave several. Complete or cancel each task to clean them up; do not delete a control file you still intend to resume.
Frequently asked questions
Why did my video or zip download appear as .aria2?
It didn't. Your real file (e.g. movie.mp4) sits next to the control file movie.mp4.aria2. Opening the .mp4 while the .aria2 file is present shows "corrupt" because some chunks have not been written yet.
Can I convert an .aria2 file to MP4 or ZIP?
No. The .aria2 file contains no media or document data — only progress metadata. Finish the download with aria2, Motrix, AriaNg or the WebUI; then the real .mp4/.zip is complete and the control file is deleted.
What if I accidentally deleted the .aria2 file?
aria2 lost the map of verified pieces, so the next run starts from 0%. If the partial data is intact you can sometimes recover with --check-integrity=true, but otherwise the download restarts.
Can I open or edit the .aria2 file?
It is binary, not text. You don't need to open it; use the inspector above to read its key fields, or let aria2 manage it.
Where does aria2 write the control file?
In the download directory (--dir), next to the target file. Renaming or moving one without the other breaks resume.
Does aria2 keep the .aria2 file while seeding?
Yes. While a torrent is seeding, aria2 keeps the control file so it can track and verify pieces. It is removed once seeding ends or the task is removed.
Related resources
- Options reference —
continue,check-integrity,auto-file-renamingand more - Troubleshooting — broader aria2 errors with exact fixes
- Online WebUI — resume and manage downloads from the browser
- aria2 tools — WebUI, tracker list and config generator
- Full aria2 documentation