axel man page

axel — light command line download accelerator


axel {{url}}

axel {{url}} -o {{filename}}

axel -n {{connections_num}} {{url}}

axel -S {{mirrors_num}} {{url}}

axel -s {{speed}} {{url}}


axel [OPTIONS] url1 [url2] [url...]


Axel is a program that downloads a file from a FTP or HTTP server through multiple connection. Each connection downloads its own part of the file.

Unlike most other programs, Axel downloads all the data directly to the destination file, using one single thread. It just saves some time at the end because the program does not have to concatenate all the downloaded parts.


One argument is required, the URL to the file you want to download. When downloading from FTP, the filename may contain wildcards and the program will try to resolve the full filename. Multiple URL's can be specified as well and the program will use all those URL's for the download. Please note that the program does not check whether the files are equal.

Other options:

--max-speed=x, -s x
Specify a speed (bytes per second) to try to keep the average speed around this speed. This is useful if you do not want the program to suck up all of your bandwidth.
--num-connections=x, -n x
Specify an alternative number of connections.
--output=x, -o x
Downloaded data will be put in a local file with the same name, unless you specify a different name using this option. You can specify a directory as well, the program will append the filename.
--search[=x], -S[x]
Axel can do a search for mirrors using the filesearching.com search engine. This search will be done if you use this option. You can specify how many different mirrors should be used for the download as well. The search for mirrors can be time-consuming because the program tests every server's speed, and it checks whether the file's still available.
--no-proxy, -N
Do not use any proxy server to download the file. Not possible when a transparent proxy is active somewhere, of course.
--verbose, -v
Show more status messages. Use it more than once to see more details.
--quiet, -q
No output to stdout.
--alternate, -a
This will show an alternate progress indicator. A bar displays the progress and status of the different threads, along with current speed and an estimate for the remaining download time.
--header=x, -H x
Add an additional HTTP header. This option should be in the form "Header: Value". See RFC 2616 section 4.2 and 14 for details on the format and standardized headers.
--user-agent=x, -U x
Set the HTTP user agent to use. Some websites serve different content based upon this parameter. The default value will include "Axel", its version and the platform.
--help, -h
A brief summary of all the options.
--version, -V
Get version information.


Long (double dash) options are supported only if your platform knows about the getopt_long call. If it does not (like *BSD), only the short options can be used.

Return Value

The program returns 0 when the download was successful, 1 if something really went wrong and 2 if the download was interrupted. If something else comes back, it must be a bug.


This will use the Belgian, Dutch, English and German kernel.org mirrors to download a Linux 2.4.17 kernel image.

axel ftp://ftp.{be,nl,uk,de}.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2

This will do a search for the linux-2.4.17.tar.bz2 file on filesearching.com and it'll use the four (if possible) fastest mirrors for the download (possibly including ftp.kernel.org). Of course, the commands are a single line, but they're too long to fit on one line in this page.

axel -S4 ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2


System-wide configuration file.
Personal configuration file

These files are not documented in a manpage, but the example file which comes with the program contains enough information. The position of the system-wide configuration file might be different.

Help This Project

If you intent to help, please, read the README.to-contribute file.


AXEL 2.5 Nov 2015