axel (1) - Linux Manuals

axel: A light download accelerator for Linux.


Axel - A light download accelerator for Linux.


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 doesn't 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
You can specify a speed (bytes per second) here and Axel will try to keep the average speed around this speed. Useful if you don't want the program to suck up all of your bandwidth.

--num-connections=x, -n x
You can specify an alternative number of connections here.

--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 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
Don't use any proxy server to download the file. Not possible when a transparent proxy is active somewhere, of course.

If you want to see more status messages, you can use this option. Use it more than once if you want to see more.

--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.


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


axel ftp://ftp.{be,nl,uk,de}

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

axel -S4

This will do a search for the linux-2.4.17.tar.bz2 file on and it'll use the four (if possible) fastest mirrors for the download. (Possibly including

(Of course, the commands are a single line, but they're too long to fit on one line in this page.)


/etc/axelrc System-wide configuration file. Note that development versions place this file in /usr/local/etc.

~/.axelrc Personal configuration file

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


Axel is Copyright 2001-2002 Wilmer van der Gaast.


Please report bugs at


Wilmer van der Gaast. <wilmer [at]>