Skip to main content
v1.37.0 Available Now

The world's fastest free
download engine.

aria2 is the industry-standard free, open-source multi-protocol download utility. It leverages advanced multi-connection architecture to saturate your bandwidth with up to 16 parallel transfers across HTTP, FTP, and BitTorrent — fully offline and secure.

aria2_live.sh
$
aria2c -x 16 -s 16 https://example.com/linux.iso
85%
DL: 124.5MiB/s
CN: 16
ETA: 2s

Download & Install aria2

aria2 is available on all major platforms. Choose your OS below to get started in under 5 minutes:

01

Install via Windows Package Manager

Run in Command Prompt or PowerShell (Administrator not required):

02

Verify in Terminal

Confirm the executable is in your PATH by checking the version:

01

Install via Scoop

Installs aria2 with automatic PATH setup in user space:

01

Install via Chocolatey

Run in an elevated PowerShell terminal:

01

Download Portable Binary

Grab the latest standalone Windows 64-bit ZIP build:

02

Extract to C:\aria2

Extract aria2c.exe to a permanent folder such as C:\aria2.

03

Add to Windows PATH

Add C:\aria2 to your system or user Environment Variables (Path).

04

Verify

Run aria2c --version in CMD or PowerShell.

01

Homebrew

Ensure Homebrew is installed on your system.

02

Install

Open Terminal and run: brew install aria2

03

Verify

Confirm the version with aria2c --version.

1

Ubuntu / Debian

Install the official package via APT.

sudo apt install aria2
2

Fedora

Install via the DNF package manager.

sudo dnf install aria2
3

Arch Linux

Install via the official community repositories.

sudo pacman -S aria2
4

CentOS / RHEL

Install via the YUM package manager.

sudo yum install aria2
01

Downloads

Fetch the static binary or install via Termux.

02

Pkg Install

In Termux, run: pkg install aria2

03

Verify

Run: aria2c --version

Why is aria2 So Fast? Key Features Explained

aria2 achieves superior speeds by utilizing a multi-source, parallel-transfer architecture. Unlike single-connection tools, it splits every file into multiple segments and downloads them simultaneously from mirror servers or BitTorrent swarms, effectively bypassing per-connection speed caps.

Multi-Connection Download

aria2 can download a file from multiple sources and protocols at the same time, significantly speeding up your downloads by pulling chunks from FTP, HTTP, and BitTorrent swarms simultaneously.

Lightweight

Extremely minimal resource usage. The physical memory usage is typically 4MiB to 9MiB. CPU usage in BitTorrent with download speed of 2.8MiB/sec is around 6%.

BitTorrent Client

A fully featured BitTorrent client in a CLI format. Supports DHT, PEX, Encryption, Magnet URIs, Web-Seeding, Selective Downloads, and Local Peer Discovery.

RPC Interface & Remote Control

Easily integrate aria2 into your applications. It provides a robust XML-RPC and JSON-RPC interface to operate the client remotely. There are many third-party frontend GUIs built for aria2 using this feature.

aria2 vs wget vs curl: Which is Faster?

aria2 is significantly faster than wget and curl for large file downloads. wget and curl use a single sequential connection. aria2 opens up to 16 parallel connections simultaneously, saturating your full bandwidth. aria2 also uniquely supports BitTorrent, Metalink, and JSON-RPC remote control — features wget and curl completely lack.

Comprehensive feature comparison between aria2, wget, and curl highlighting multi-protocol support.
Feature aria2 wget curl
Multi-Connection (Chunking)
BitTorrent & DHT Support
Daemon / JSON-RPC Mode
HTTP/HTTPS/FTP Routing

Quick Command Cheatsheet

The most frequently used aria2 CLI commands for daily download tasks.

Basic Download

The simplest way to download a file over HTTP/HTTPS or FTP.

$aria2c https://example.com/file.zip

Max Speed (16 Connections)

Max out your bandwidth by splitting the file into 16 concurrent connections.

# -x: connections per server | -s: split into chunks
$aria2c -x 16 -s 16 https://example.com/file.zip

Download Torrent

aria2 natively supports parsing and downloading from local .torrent files.

# Directly parse and start a .torrent file
$aria2c file.torrent

Download via Magnet Link

Fetch torrent metadata and download using a magnet hash URI.

# Always wrap magnet links in double quotes
$aria2c "magnet:?xt=urn:btih:..."

Resume Interrupted Download

Automatically resume a stopped download using the -c (continue) flag.

# Resume from the last byte downloaded
$aria2c -c https://example.com/file.zip

Limit Download Speed

Constrain maximum download speed to avoid completely starving your network.

# Prevent network starvation by capping speed
$aria2c --max-download-limit=1M https://...

Download from URL List

Provide a text file containing one URL per line using the -i flag.

# Batch download every URL found in a text file
$aria2c -i urls.txt

Output to Specific Directory

Override the current directory to dump the file precisely where you want.

# Save the file to a custom folder path
$aria2c -d /home/user/Downloads https://...

GUI Frontends Comparison

aria2 is a powerful CLI engine, but thousands of users prefer visual interfaces. Here are the best graphical wrappers to make downloading effortless.

A curated list of high-performance GUI frontends and Web-UIs that integrate with the aria2 engine.
GUI Interface Platform Free / Open Source Best For
Aria2App Android Mobile users on the go
AriaNg Web UI Self-hosters & NAS setups
Motrix Windows / Mac / Linux Beginners wanting a full desktop app
uGet Linux Desktop Native Linux integration
Aria2 Explorer Chrome Extension Browser interception & integration

Interactive aria2.conf Generator

Configure the ultimate background engine. Adjust the sliders below and copy the resulting configuration directly to your ~/.aria2/aria2.conf file.

aria2.conf

How to Integrate aria2 with yt-dlp, Docker, Python & More

aria2 integrates natively as the download engine for yt-dlp, Docker, Python/Node scripts, and systemd services. Pass --external-downloader aria2c to yt-dlp for 10× faster video downloads. Control aria2 programmatically via its JSON-RPC API on port 6800.

🎬

Accelerate yt-dlp Downloads

yt-dlpFFmpeg

Bypass server throttling on media sites — pass aria2 as yt-dlp's external engine for parallel connections and 10× faster video fetching:

# Pass aria2 as the external engine for 10x speed
yt-dlp --external-downloader aria2c --external-downloader-args "-x 16 -s 16" ...
Read Complete yt-dlp Guide
🏠

Aria2 Pro & Synology / QNAP NAS

DockerAria2 ProSynology / QNAP

Deploy the enhanced p3terx/aria2-pro image with automatic BT tracker updating on Synology Container Manager, QNAP Container Station, or Unraid:

image: p3terx/aria2-pro
ports: ["6800:6800", "6888:6888"]
Read Complete Docker Guide
📡

OpenWrt Router & AriaNg

OpenWrtluci-app-aria2luci-app-ariang

Turn your OpenWrt home router into a 24/7 silent download station via opkg:

$opkg update && opkg install aria2 luci-app-aria2 luci-app-ariang
🍓

Raspberry Pi OS Download Server

Raspberry PiDebianLow Power

Set up a low-power, high-speed download seedbox on any Raspberry Pi 3/4/5:

$sudo apt update && sudo apt install -y aria2
☁️

Google Drive & Cloud Acceleration

Google Drive16 ConnectionsCookies

Accelerate large Google Drive direct download links with cookies and 16 split connections:

$aria2c -x 16 -s 16 --load-cookies=cookies.txt "https://drive.google.com/..."
🛡️

SOCKS5 / HTTP Proxy Tunneling

SOCKS5ProxyPrivacy

Route all aria2 downloads and DHT tracker announces through a local SOCKS5 proxy:

$aria2c --all-proxy="socks5://127.0.0.1:1080" https://...

WebSocket & JSON-RPC Remote Control

WebSocketRPC 6800AriaNg / Chrome

Start aria2 with JSON-RPC over WebSocket (ws://127.0.0.1:6800/jsonrpc) for real-time WebUI control:

$aria2c --enable-rpc --rpc-listen-all=true --rpc-secret=TOKEN --daemon
Open Online WebUI Dashboard
🌐

Browser Auto-Download Interceptor

ChromeFirefoxEdgeCookies

Intercept all browser downloads automatically with session cookie and referer forwarding:

# Listen for browser extension RPC events
aria2c --enable-rpc --rpc-allow-origin-all=true
Read Browser Integration Guide
🚀

BitTorrent Swarm & Speed Optimization

fallocRAM CacheTrackers128 Peers

Eliminate disk IOPS bottlenecks, allocate memory caching, and connect to hundreds of peers simultaneously:

aria2c --file-allocation=falloc --disk-cache=64M --bt-max-peers=128 ...
Read Speed Optimization Guide
📄

.aria2 Binary Control File Inspection

BitfieldResumeIntegrityParser

Understand the `.aria2` binary allocation protocol, resume stalled downloads, and inspect control files:

aria2c -c --check-integrity=true https://example.com/huge-file.iso
Open .aria2 File Inspector Guide

How to Fix Common aria2 Errors

Quick fixes for the most frequent technical issues and terminal errors when running aria2.

error while loading shared libraries: libxml2.so.2 / libsqlite.so.3

This happens when binary dependencies are missing from your system environment.

Terminal
# Ubuntu / Debian Fix
$sudo apt install libxml2 libsqlite3-dev zlib1g-dev

On Windows, ensure the .exe remained in its extracted folder containing the bundled DLL files.

aria2c unable to verify certificate (SSL Error)

Often caused by outdated root CA certificates on older systems. You can bypass this (if you trust the source) or provide a path to a fresh certificate bundle:

aria2c --check-certificate=false https://...

For a permanent fix, update your OS certificates: sudo apt install ca-certificates.

aria2 download speed slow — How to speed up?

By default, aria2 is conservative to avoid server bans. To saturate your bandwidth, force parallel connections and chunking:

Terminal
$aria2c -x 16 -s 16 https://largefile.zip

Tip: If using HDDs, add --file-allocation=falloc to prevent disk fragmentation slowdowns.

Exception: [download_helper.cc:451] aria2 permission denied

The user running aria2 does not have write access to the target directory. Check permissions with ls -ld folder/ or specify a folder where you have access:

aria2c -d ~/Downloads https://...
Magnet links failing to start or "Command Not Found"

This is usually caused by special characters like & or ? in the magnet link being interpreted by your shell (Bash/Zsh). Always wrap magnet links in double quotes:

Terminal
$aria2c "magnet:?xt=urn:btih:..."
Failed to bind socket (Port 6800 already in use)

This error occurs if another instance of aria2 is already running as a daemon or another app is using the RPC port. You can kill the existing process or change the port:

aria2c --rpc-listen-port=6801
BitTorrent: No peers found or 0 KB/s download

Your firewall or ISP might be blocking the default BitTorrent ports. Ensure ports 6881-6999 are open, and enable DHT to find more peers:

aria2c --enable-dht=true --bt-enable-lpd=true mytorrent.torrent

Frequently Asked Questions

Quick answers, common issues, and core concepts — all in one place.

What is aria2?

aria2 is a free, open-source command-line download manager written in C++. It supports HTTP, HTTPS, FTP, SFTP, BitTorrent, and Metalink. It uses only 4–9 MiB of RAM and is available for Windows, macOS, Linux, and Android.

How to install aria2 on Linux?

Ubuntu/Debian: sudo apt install aria2. Fedora: sudo dnf install aria2. Arch: sudo pacman -S aria2. Android (Termux): pkg install aria2.

How to install aria2 on Windows?

Download the latest ZIP from GitHub Releases, extract aria2c.exe to C:\aria2, add that folder to your system PATH, then verify with aria2c --version.

How to install aria2 on macOS?

Run brew install aria2 (requires Homebrew). Then verify with aria2c --version.

How to maximize aria2 download speed?

Use aria2c -x 16 -s 16 https://example.com/file.zip. The -x 16 flag opens 16 connections per server; -s 16 splits the file into 16 parallel chunks to instantly saturate your bandwidth.

How to use aria2 with yt-dlp?

Route yt-dlp downloads through aria2 by adding the --external-downloader aria2c flag. This enables parallel chunking for media streams, frequently bypassing server-side throttling on video platforms.

Is aria2 safe to use?

Yes. aria2 is a completely open-source, lightweight tool with thousands of stars and active contributors on GitHub. It contains zero spyware, tracking telemetry, or bundled bloatware. However, like any download engine, you are responsible for checking the safety of the specific files you choose to download.

Is aria2 faster than traditional tools like wget and curl?

aria2 is significantly faster for large files. While wget and curl generally download using a single connection sequentially, aria2 is fundamentally designed to open multiple concurrent connections to the same file (or across multiple mirror servers) to saturate your maximum bandwidth instantly.

How to use aria2 with a proxy?

aria2 supports HTTP/HTTPS and SOCKS5 proxies via the --all-proxy flag. This is essential for bypassing firewalls or routing traffic through secure tunnels.

# SOCKS5 example: aria2c --all-proxy="socks5://127.0.0.1:1080" https://...
Can aria2 download YouTube videos?

Not natively. aria2 is a strict file transport engine and cannot parse YouTube's stream encryption. However, configure yt-dlp to use aria2 as its external downloader: yt-dlp --external-downloader aria2c --external-downloader-args "-x 16" <URL>

How to run aria2 as a daemon / background service?

Pass --daemon=true alongside --enable-rpc=true. This detaches aria2 from your terminal, letting it run silently in the background while you control it via a WebUI (like AriaNg) on port 6800: aria2c --daemon=true --enable-rpc=true

Is aria2 better than IDM (Internet Download Manager)?

It depends on your needs. IDM is a premium, Windows-only GUI tool known for browser integration. aria2 is a free, open-source C++ engine that works on all platforms. aria2 is superior for servers, automation, and power users who need high-performance background downloading.

How to use aria2 with Chrome or Firefox?

Install a browser extension: Aria2 Explorer (Chrome) or aria2-integration (Firefox). These extensions automatically intercept your browser downloads and send them to your aria2 RPC server at localhost:6800.

Does aria2 support resuming downloads after a PC restart?

Yes. Use the --save-session and --input-file flags so aria2 writes its progress to a session file. It picks up exactly where it left off on the next start. For a single file, simply use aria2c -c <URL> to continue a partial download.

How to download Google Drive files with aria2?

Google Drive requires authentication for large files. Pass your browser's Cookies via the --header flag, or use a tool like gdown to generate a direct, accessible download link for aria2 to process.

What is the maximum download speed of aria2?

There is no software-imposed limit. Written in high-performance C++, aria2 is bounded only by your network hardware and disk write speed. It has been tested to successfully saturate 10Gbps+ dedicated lines with minimal CPU overhead.

Best aria2 GUIs, Web UIs & Browser Extensions

Prefer a visual interface over the terminal? Pair aria2 with modern web frontends and browser download interceptors.

Chrome / Edge Extension

Aria2 Explorer

The premier browser extension that automatically captures browser downloads and routes them directly to aria2 via JSON-RPC at localhost:6800.

Chrome & Edge Firefox Auto-Catch Downloads
View Setup Guide
Web Dashboard

AriaNg

A responsive, modern web frontend for aria2. Runs completely client-side in pure HTML/JS with full mobile responsiveness, task management, and live speed graphs.

WebUI Docker Ready Mobile Responsive
Explore AriaNg
Desktop All-in-One

Motrix

A cross-platform download manager for Windows, macOS, and Linux powered internally by aria2. Includes built-in dark mode and system tray integration.

Electron Windows / Mac / Linux GUI Client
Learn More

What is an .aria2 File? (Format & Recovery Guide)

Seeing a filename.aria2 file in your downloads directory? Here is how it works and how to resume interrupted downloads.

An .aria2 file is a binary control file created automatically by aria2 alongside your download. It stores chunk verification checksums, piece bitfields, and transfer progress so you can pause, resume, and recover partial downloads seamlessly.
🔍

Why is there an .aria2 file?

Because aria2 downloads up to 16 chunks concurrently, it needs an index of completed blocks. When downloading reaches 100%, aria2 automatically deletes the .aria2 control file and leaves only your final completed file.

How to resume using .aria2?

Never delete the .aria2 file if your download was interrupted. Simply re-run the download command with the -c (continue) flag in the same directory: aria2c -c <URL>.

🗑️

Can I delete an .aria2 file?

Only delete it if you want to abort the download and start from scratch. Deleting it during an active download will force aria2 to re-download the entire file from 0%.

Read Full .aria2 File Specification & Recovery Guide →
ℹ️
Disambiguation Note: This website is the official resource for aria2, the open-source command-line download utility software. It is not affiliated with Moondrop Aria 2 (audiophile in-ear monitors) or Fitbit Aria 2 (Wi-Fi smart scale).