Compare curl with other download tools
This comparison only involves entirely free and open source software.
Feature | curl | wget | wget2 | fetch | lftp | aria2 | HTTrack | HTTPie | xh |
---|---|---|---|---|---|---|---|---|---|
.netrc | + | + | + | + | + | + | + | + | |
Bandwidth Limiting | + | + | + | + | + | + | |||
Commercial support | + | ||||||||
DNS-over-HTTPS | + | ||||||||
FTP 3rd Party Transfer | + | ||||||||
FTP Active Mode | + | + | + | + | + | + | |||
FTP Connection Re-use | + | + | + | + | |||||
FTP Kerberos | + | ||||||||
FTP Ranges | + | ||||||||
FTP Resume | + | + | + | + | + | + | |||
FTP Upload | + | + | |||||||
FTPS | + | + | |||||||
GOPHER | + | + | |||||||
GOPHERS | + | ||||||||
H2/H3 Happy Eyeballs | + | ||||||||
Happy Eyeballs | + | ||||||||
HAPROXY protocol | + | ||||||||
HSTS | + | + | + | ||||||
HTTP alt-svc | + | ||||||||
HTTP AWS Sigv4 Auth | + | ||||||||
HTTP brotli | + | + | + | ||||||
HTTP Cookies | + | + | + | + | + | + | + | + | |
HTTP Digest Auth | + | + | + | + | + | + | |||
HTTP etags | + | ||||||||
HTTP gzip | + | + | + | + | + | + | |||
HTTP Multipart POST | + | + | + | ||||||
HTTP Negotiate Auth | + | + | |||||||
HTTP NTLM Auth | + | + | + | + | |||||
HTTP Persistent Conns | + | + | + | + | + | ||||
HTTP POST | + | + | + | + | + | + | |||
HTTP POST Chunked | + | ||||||||
HTTP Proxy | + | + | + | + | + | + | + | + | + |
HTTP PUT | + | + | + | ||||||
HTTP Ranges | + | ||||||||
HTTP Redirects | + | + | + | + | + | + | + | ||
HTTP Resume | + | + | + | + | + | + | + | + | |
HTTP time conditions | + | + | + | ||||||
HTTP zstd | + | + | |||||||
HTTP/1.1 | + | + | + | + | + | + | + | + | + |
HTTP/2 ALPN | + | + | + | ||||||
HTTP/2 h2c upgrade | + | + | |||||||
HTTP/2 to proxy | + | ||||||||
HTTP/3 | + | ||||||||
HTTPS | + | + | + | + | + | + | + | + | + |
HTTPS Proxy | + | + | |||||||
IDN hostnames | + | + | + | + | |||||
IMAP | + | ||||||||
In development | + | + | + | + | + | + | |||
IPv6 | + | + | + | + | + | yes* | + | + | + |
IPFS gateway | + | ||||||||
LDAP | + | ||||||||
library / API | + | + | |||||||
Metalink | + | + | + | ||||||
MQTT | + | ||||||||
Multilingual Messages | + | + | + | + | |||||
Multiple URLs | + | + | + | + | + | + | |||
Parallel transfers | + | + | + | + | |||||
POP3 | + | ||||||||
Recursive downloads | + | + | + | + | |||||
Retry failed downloads | + | + | + | + | + | + | + | ||
RTMP | + | ||||||||
RTSP | + | ||||||||
Same file multi connect | + | + | + | ||||||
SCP | + | ||||||||
SFTP | + | + | + | ||||||
SMB | + | ||||||||
SMTP | + | ||||||||
SOCKS4 | + | + | |||||||
SOCKS5 | + | + | + | ||||||
SOCKS5 proxy resolve | + | ||||||||
TELNET | + | ||||||||
TFTP | + | ||||||||
Tiny Executable | + | ||||||||
TLS: BearSSL | + | ||||||||
TLS: Client certs | + | + | + | + | |||||
TLS: GnuTLS | + | + | + | + | + | yes* | |||
TLS: mbedTLS | + | ||||||||
TLS: OpenSSL | + | + | + | + | + | + | + | + | |
TLS: rustls | + | + | |||||||
TLS: Schannel | + | yes* | |||||||
TLS: Secure Transport | + | yes* | |||||||
TLS: Session ID cache | + | + | |||||||
TLS: WolfSSL | + | + | |||||||
Unix domain socket | + | ||||||||
URL globbing/sequences | + | + | + | + | |||||
Username/Password | + | + | + | + | + | + | + | + | + |
Windows Port | + | + | + | + | + | yes* | + | ||
WebSocket | + | ||||||||
License | MIT | GPL | GPL | BSD | GPL | GPL | GPL | BSD | MIT |
Version | 8.11.1 | 1.21 | 1.99.2 | 4.7 | 3.5.0 | 1.8.3 | 3.43 | 3.2.2 | 0.18.0 |
The mentioned tools: wget, wget2, lftp, aria2, httrack, HTTPie, xh
'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
"In development" - releases or new things done to the project within the last couple of years.
Please file a bug report if this table is incorrect, or tell us other features we should compare!