"aria2c is not recognized"
The folder is not in Path, or the terminal was open before you installed. Open a new terminal; if it still fails, run the Path step again.
aria2 for Windows is a single aria2c.exe with everything built in: no installer and no extra DLLs. Install it with one command, or unpack the official ZIP yourself.
Open PowerShell or Windows Terminal, pick the package manager you use, and run its line. Then open a new terminal so the aria2c command is found.
winget install -e --id aria2.aria2
Built into Windows 10 and 11. Installs the official 1.37.0 ZIP as a portable app and adds the aria2c command.
scoop install aria2
Scoop's main bucket has 1.37.0. Once aria2 is installed, Scoop uses it for its own downloads; turn that off with scoop config aria2-enabled false.
choco install aria2
Run in a terminal opened as administrator. The Chocolatey package is 1.37.0.
Expand-Archive .\aria2-1.37.0-win-64bit-build1.zip C:\Tools
The manual way, without a package manager: see the steps below.
aria2c --versionaria2 version 1.37.0All four install the same official build. They differ in how you update it.
| Method | Version | Updates | Needs admin |
|---|---|---|---|
| winget | 1.37.0 | winget upgrade aria2.aria2 | No |
| Scoop | 1.37.0 | scoop update aria2 | No |
| Chocolatey | 1.37.0 | choco upgrade aria2 | Yes |
| Official ZIP | 1.37.0 | Download the new ZIP by hand | No |
Useful on a PC without winget, or when you want aria2 in a folder you choose. The commands are for PowerShell.
From the aria2 releases page on GitHub, download aria2-1.37.0-win-64bit-build1.zip (5.5 MB). A 32-bit build exists for old PCs; Windows on Arm runs the 64-bit build through Windows' built-in x64 emulation.
Compare its SHA-256 with the one below. It is the hash the winget package lists, and the one we got from the file on GitHub.
Get-FileHash .\aria2-1.37.0-win-64bit-build1.zip67D015301EEF0B612191212D564C5BB0A14B5B9C4796B76454276A4D28D9B288
The ZIP holds one folder with aria2c.exe and its documentation.
Expand-Archive .\aria2-1.37.0-win-64bit-build1.zip C:\ToolsRename-Item C:\Tools\aria2-1.37.0-win-64bit-build1 aria2
This adds it for your user only, so no administrator rights are needed.
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path', 'User') + ';C:\Tools\aria2', 'User')
Windows reads Path when a terminal starts, so close the old one first.
aria2c --versionaria2 version 1.37.0
aria2 looks for %USERPROFILE%\.aria2\aria2.conf, for example C:\Users\you\.aria2\aria2.conf. If the HOME variable is set (some tools such as Git set it), aria2 uses %HOME%\.aria2 instead. Create the folder and open the file:
New-Item -ItemType Directory -Force "$env:USERPROFILE\.aria2"notepad "$env:USERPROFILE\.aria2\aria2.conf"
The Windows build cannot detach itself: --daemon does not work there. Start it without a window from PowerShell instead:
Start-Process aria2c -ArgumentList "--conf-path=$env:USERPROFILE\.aria2\aria2.conf" -WindowStyle Hidden
To start it at every login, create a task in Task Scheduler with the trigger "At log on" and the same program and arguments, and choose "Run whether user is logged on or not" so no window appears.
winget upgrade aria2.aria2 · winget uninstall aria2.aria2scoop update aria2 · scoop uninstall aria2choco upgrade aria2 · choco uninstall aria2The folder is not in Path, or the terminal was open before you installed. Open a new terminal; if it still fails, run the Path step again.
The first Ctrl+C saves progress and stops cleanly. The Windows build does not handle a second Ctrl+C properly and kills aria2 at once, which can lose data.
The official Windows build does not do TLS 1.3. Servers still offer TLS 1.2, so HTTPS downloads work.
On Windows, --file-allocation=falloc reserves space without overwriting old data on the disk, which the aria2 notes flag as a security concern. The default, prealloc, is the safe choice.
The 32-bit build has IPv6 turned off by default, and DHT may not work with it switched on. Use the 64-bit build on any 64-bit Windows.