command line tool andlibrary
for transferring data with URLs
(since 1998)
curl is used in command lines or scripts to transfer data. curl isalsolibcurl, used in cars, television sets, routers, printers, audioequipment, mobile phones, tablets, medical devices, settop boxes, computergames, media players and is the Internet transfer engine for countlesssoftware applications in overtwenty billion installations.
curl is used daily by virtually every Internet-using human on the globe.
Protocols | DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS,IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP,SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS, WSS |
Proxies | SOCKS4, SOCKS5, HTTP, HTTPS (HTTP/1 and HTTP/2), tunneling,via unix domain sockets, haproxy, SOCKS+HTTP proxy chain |
HTTP | GET, POST, PUT, HEAD, multipart formpost, HTTP/0.9,HTTP/1.0, HTTP/1.1, HTTP/2 (h2c, h2, prior knowledge), HTTP/3 (dual connecth1/h2 + h3 or h3-only), HSTS, Alt-Svc, cookies, PSL, etags, transfercompression, ranges, custom headers, custom method, follow redirects |
FTP | IPv6 (EPRT, EPSV), STLS, upload/download, append, range,passive/active, kerberos, directory listing, custom commands |
SCP + SFTP | known hosts, md5/sha256 fingerprint, compression,upload/download, directory listing |
TLS | 1.0 - 1.3, mutual authentication, STARTTLS, OCSP stapling,ECH, False Start, key pinning, PQC ready, session resumption, early data,export/import sessions |
QUIC | 0RTT handshakes |
Auth | Basic, Plain, Digest, CRAM-MD5, SCRAM-SHA, NTLM, Negotiate,Kerberos, Bearer tokens, AWS Sigv4, SASL, .netrc |
HTTP compression | gzip, brotli and zstd |
Name resolving | DNS-over-HTTPS, custom address for host, name+port redirect,custom DNS servers, DNS caching, HTTPS RR |
Connection | connection reuse, Interface binding, Happy Eyeballs,IPv4/IPv6-only, unix domain sockets, TCP keepalive, TCP Fast Open, TCPNodelay, MPTCP, VLAN priority, IP Type Of Service |
Transfers | transfer rate limiting, request rate limiting, stalldetection, retries, timeouts |
URLs | Unlimited amount, parallel and serial transfers,globbing |
Output | IDN hostnames, custom info from transfer, metadata as JSON,per content-disposition, libcurl source code, bold headers |
curl is free andopen source software and existsthanks tothousands of contributors and ourawesomesponsors. The curlprojectfollows wellestablished open source best practices. You toocanhelp us improve!
The most recent stable version is8.12.1, released on 2025-02-13.Currently, 130 of the listeddownloads are of the latest version.
Check out the latestsource code from GitHub.