Compare curl with other download tools
This comparison only involves entirely free and open source software.
Feature | curl | wget | wget2 | pavuk | fetch | lftp | aria2 | HTTrack | HTTPie |
---|---|---|---|---|---|---|---|---|---|
.netrc | yes | yes | yes | no | yes | yes | yes | no | yes |
Bandwidth Limiting | yes | yes | yes | yes | no | yes | yes | yes | no |
Commercial support | yes | no | no | no | no | no | no | no | no |
DNS-over-HTTPS | yes | no | no | no | no | no | no | no | no |
FTP 3rd Party Transfer | no | no | no | no | no | yes | no | no | no |
FTP Active Mode | yes | yes | yes | yes | yes | yes | yes | no | no |
FTP Connection Re-use | yes | no | no | yes | yes | yes | yes | no | no |
FTP Kerberos | yes | no | no | no | no | no | no | no | no |
FTP Ranges | yes | no | no | no | no | no | no | no | no |
FTP Resume | yes | yes | yes | yes | yes | yes | yes | no | no |
FTP Upload | yes | no | no | no | no | yes | no | no | no |
FTPS | yes | no | no | yes | no | yes | no | no | no |
GOPHER | yes | no | no | yes | no | yes | no | no | no |
GOPHERS | yes | no | no | no | no | no | no | no | no |
H2/H3 Happy Eyeballs | yes | no | no | no | no | no | no | no | no |
Happy Eyeballs | yes | no | no | no | no | no | no | no | no |
HSTS | yes | yes | yes | no | no | no | no | no | no |
HTTP alt-svc | yes | no | no | no | no | no | no | no | no |
HTTP brotli | yes | no | yes | no | no | no | no | no | no |
HTTP Cookies | yes | yes | yes | yes | no | yes | yes | yes | yes |
HTTP Digest Auth | yes | yes | yes | yes | yes | no | no | no | yes |
HTTP etags | yes | no | no | no | no | no | no | no | no |
HTTP gzip | yes | no | yes | yes | no | no | yes | yes | yes |
HTTP Multipart POST | yes | no | no | yes | no | no | no | no | no |
HTTP Negotiate Auth | yes | no | no | no | no | no | no | no | yes |
HTTP NTLM Auth | yes | yes | yes | yes | no | no | no | no | yes |
HTTP Persistent Conns | yes | yes | yes | yes | no | yes | yes | no | no |
HTTP POST | yes | yes | yes | yes | no | yes | no | no | yes |
HTTP POST Chunked | yes | no | no | no | no | no | no | no | no |
HTTP Proxy | yes | yes | yes | yes | yes | yes | yes | yes | yes |
HTTP PUT | yes | no | no | no | no | yes | no | no | no |
HTTP Ranges | yes | no | no | no | no | no | no | no | no |
HTTP Redirects | yes | yes | yes | yes | yes | no | yes | no | yes |
HTTP Resume | yes | yes | yes | yes | yes | yes | yes | no | yes |
HTTP time conditions | yes | yes | yes | no | no | no | no | no | no |
HTTP zstd | yes | no | yes | no | no | no | no | no | no |
HTTP/1.1 | yes | yes | yes | yes | yes | yes | yes | yes | yes |
HTTP/2 ALPN | yes | no | yes | no | no | no | no | no | no |
HTTP/2 h2c upgrade | yes | no | yes | no | no | no | no | no | no |
HTTP/2 with proxy | yes | no | no | no | no | no | no | no | no |
HTTP/3 | yes | no | no | no | no | no | no | no | no |
HTTPS | yes | yes | yes | yes | yes | yes | yes | yes | yes |
HTTPS Proxy | yes | no | no | no | no | no | no | no | no |
IDN hostnames | yes | yes | yes | no | no | no | no | no | yes |
IMAP | yes | no | no | no | no | no | no | no | no |
IPv6 | yes | yes | yes | yes | yes | yes | yes* | yes | yes |
LDAP | yes | no | no | no | no | no | no | no | no |
Metalink | no | yes | yes | no | no | no | yes | no | no |
MQTT | yes | no | no | no | no | no | no | no | no |
Multilingual Messages | no | yes | yes | yes | no | yes | yes | no | no |
Multiple URLs | yes | yes | yes | yes | yes | no | yes | no | no |
Parallel transfers | yes | no | no | yes | no | yes | yes | yes | no |
POP3 | yes | no | no | no | no | no | no | no | no |
Recursive downloads | no | yes | yes | yes | no | yes | no | yes | no |
Retry failed downloads | yes | yes | yes | yes | yes | yes | yes | yes | no |
RTMP | yes | no | no | no | no | no | no | no | no |
RTSP | yes | no | no | no | no | no | no | no | no |
Same file multi connect | no | no | yes | no | no | yes | yes | no | no |
SCP | yes | no | no | no | no | no | no | no | no |
SFTP | yes | no | no | no | no | yes | no | no | no |
SMB | yes | no | no | no | no | no | no | no | no |
SMTP | yes | no | no | no | no | no | no | no | no |
SOCKS proxy | yes | no | no | yes | no | yes | no | no | yes |
TELNET | yes | no | no | no | no | no | no | no | no |
TFTP | yes | no | no | no | no | no | no | no | no |
Tiny Executable | no | no | no | no | yes | no | no | no | no |
TLS: BearSSL | yes | no | no | no | no | no | no | no | no |
TLS: Client certs | yes | yes | yes | no | no | no | no | no | no |
TLS: GnuTLS | yes | yes | yes | no | no | yes | yes | no | yes* |
TLS: mbedTLS | yes | no | no | no | no | no | no | no | no |
TLS: NSS | yes | no | no | no | no | no | no | no | no |
TLS: rustls | yes | no | no | no | no | no | no | no | no |
TLS: Schannel | yes | no | no | no | no | no | no | no | yes* |
TLS: Secure Transport | yes | no | no | no | no | no | no | no | yes* |
TLS: Session ID cache | yes | no | yes | no | no | no | no | no | no |
TLS: WolfSSL | yes | no | no | no | no | no | no | no | no |
Unix domain socket | yes | no | no | no | no | no | no | no | no |
URL globbing/sequences | yes | yes | yes | yes | no | no | yes | no | no |
Username/Password | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Windows Port | yes | yes | yes | no | no | no | yes | yes | yes* |
WebSocket | yes | no | no | no | no | no | no | no | no |
License | MIT | GPL | GPL | GPL | BSD | GPL | GPL | GPL | BSD |
Version | 8.1.2 | 1.21 | 1.99.2 | 0.9.34 | 4.7 | 3.5.0 | 1.8.3 | 3.43 | 1.0.2 |
The mentioned tools: wget, wget2, pavuk, lftp, aria2, httrack, HTTPie
'Fetch' is an integral part of the FreeBSD operating system.
* 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!