curl / Docs / Tool Documentation / Comparison Table

Compare curl with other download tools

This comparison only involves entirely free and open source software.

Feature curl snarf wget wget2 pavuk fget fetch lftp aria2 HTTrack HTTPie
Multiple URLs yes yes yes yes yes no yes no yes no no
Parallel transfers no* no no no yes no no yes yes yes no
Username/Password yes yes yes yes yes yes yes yes yes yes yes
IPv6 yes no yes yes yes yes yes yes yes* yes yes
Recursive downloads no no yes yes yes no no yes no yes no
Retry failed downloads yes no yes yes yes no yes yes yes yes no
URL globbing/sequences yes no yes yes yes no no no yes no no
Tiny Executable no yes no no no yes yes no no no no
Native Win32 Port yes no yes yes no no no no yes yes yes*
Large File support yes no yes yes no no yes yes yes no yes
GnuTLS yes no yes yes no no no yes yes no yes*
DarwinSSL yes no no no no no no no no no yes*
Schannel yes no no no no no no no no no yes*
WolfSSL yes no no no no no no no no no no
mbedTLS yes no no no no no no no no no no
NSS yes no no no no no no no no no no
MesaLink yes no no no no no no no no no no
SSL Session ID caching yes no no yes no no no no no no no
SSL Client certificates yes no yes yes no no no no no no no
.netrc yes no yes yes no no yes yes yes no no
Metalink yes no yes yes no no no no yes no no
IDN hostnames yes no yes yes no no no no no no yes
Multilingual Messages no no yes yes yes no no yes yes no no
Bandwidth Limiting yes no yes yes yes no no yes yes yes no
Happy Eyeballs yes no no no no no no no no no no
SOCKS yes yes no no yes no no yes no no yes
TFTP yes no no no no no no no no no no
SCP upload/download yes no no no no no no no no no no
SFTP upload/download yes no no no no no no yes no no no
HTTP Proxy yes yes yes yes yes yes yes yes yes yes yes
HTTPS Proxy yes no no no no no no no no no no
HTTP Resume yes yes yes yes yes no yes yes yes no no
HTTP Ranges yes no no no no no no no no no no
Follow HTTP Redirects yes yes yes yes yes no yes no yes no yes
HTTP POST yes no yes yes yes no no yes no no yes
HTTP POST Chunked yes no no no no no no no no no no
HTTP Multipart POST yes no no no yes no no no no no no
HTTP PUT yes no no no no no no yes no no no
Cookies yes no yes yes yes no no yes yes yes yes
HTTP/1.1 yes no yes yes yes no yes yes yes yes yes
HTTP/2 (plain-text Upgrade) yes no no yes no no no no no no no
HTTP/2 (TLS ALPN) yes no no yes no no no no no no no
HTTP/2 (TLS NPN) yes no no no no no no no no no no
HTTP Persistent Connections yes no yes yes yes no no yes yes no no
HTTPS yes no yes yes yes no yes yes yes yes yes
HSTS no no no yes no no no no no no no
HTTP Digest Auth yes no yes yes yes no yes no no no yes
HTTP NTLM Auth yes no yes yes yes no no no no no yes
HTTP Negotiate (SPNEGO) Auth yes no no no no no no no no no yes
HTTP deflate/gzip yes no no yes yes no no no yes yes yes
FTP Resume yes yes yes yes yes no yes yes yes no no
FTP Ranges yes no no no no no no no no no no
FTP Active Mode yes yes yes yes yes no yes yes yes no no
FTP SSL yes no no no yes no no yes no no no
FTP Upload yes no no no no no no yes no no no
FTP Kerberos yes no no no no no no no no no no
FTP Connection Re-use yes no no no yes no yes yes yes no no
FTP 3rd Party Transfer no no no no no no no yes no no no
GOPHER yes yes no no yes no no yes no no no
DNS-over-HTTPS yes no no no no no no no no no no
License MIT GPL GPL GPL GPL ? BSD GPL GPL GPL BSD
Version 7.62.0 7.0 1.17 ? 0.9.34 0.4.1 4.7 3.5.0 1.8.3 3.43 1.0.2

The mentioned tools: snarf, wget, wget2, pavuk, fget, lftp, aria2, httrack, HTTPie

'Fetch' is an integral part of the FreeBSD operating system.

* curl does not support downloading multiple URLs simultaneously, although libcurl does.

* aria2 supports IPv6 only in HTTP(S) download

* HTTPie is written in Python + Requests and thus carry their portability and features

Please file a bug report if this table is incorrect, or tell us other features we should compare!