A command line tool and library for transferring data with URL syntax, supporting 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 and WSS. libcurl offers a myriad of powerful features https://curl.se/
  • C 74.6%
  • Perl 8.1%
  • Python 5.6%
  • M4 4.5%
  • CMake 2.7%
  • Other 4.4%
Find a file
Viktor Szakats e136694525
Some checks failed
fuzz.yml / cmake/FindGSS: drop CMake <3.16 compatibility logic (push) Failing after 0s
Windows / mingw, CM ucrt-x86_64 schannel U torture 1 (push) Failing after 0s
Windows / Build caches (push) Failing after 0s
Windows / Build caches-1 (push) Failing after 0s
Windows / cygwin, AM x86_64 openssl R (push) Failing after 0s
Windows / cygwin, CM x86_64 openssl (push) Failing after 0s
Windows / msys2, AM x86_64 !proxy (push) Failing after 0s
Windows / msys2, AM x86_64 default (push) Failing after 0s
Windows / mingw, AM x86_64 default (push) Failing after 0s
Windows / mingw, AM ucrt-x86_64 c-ares U (push) Failing after 0s
Windows / msys2, AM x86_64 default R (push) Failing after 0s
Windows / mingw, CM ucrt-x86_64 schannel uwp (push) Failing after 0s
Windows / mingw, CM clang-aarch64 schannel R (push) Failing after 0s
Windows / mingw, CM i686 MultiSSL R (push) Failing after 0s
Windows / mingw, CM clang-x86_64 gnutls libssh (push) Failing after 0s
Windows / mingw, CM x86_64 schannel c-ares U (push) Failing after 0s
Windows / mingw, CM ucrt-x86_64 schannel U torture 2 (push) Failing after 0s
Windows / mingw, CM x86_64 schannel dev debug (push) Failing after 0s
Windows / msys2, CM x86_64 default (push) Failing after 0s
Windows / mingw, CM clang-x86_64 openssl (push) Failing after 0s
Windows / dl-mingw, CM 6.4.0-i686 schannel !unity (push) Failing after 0s
Windows / dl-mingw, CM 4.8.1-x86_64 schannel !examples (push) Failing after 0s
Windows / dl-mingw, CM 9.5.0-x86_64 schannel (push) Failing after 0s
Windows / dl-mingw, CM 16.1.0-x86_64 schannel +analyzer (push) Failing after 0s
Windows / dl-mingw, CM 7.3.0-x86_64 schannel mbedtls U (push) Failing after 0s
Windows / linux-mingw, CM clang-tidy (push) Failing after 0s
Windows / linux-mingw, AM gcc (push) Failing after 0s
Windows / linux-mingw, CM gcc (push) Failing after 0s
Windows / msvc, CM arm64-windows schannel U (push) Failing after 0s
Windows / msvc, CM x64-uwp !ssl +examples (push) Failing after 0s
Windows / msvc, CM x64-windows openssl +examples (push) Failing after 0s
URLs / linkcheck (push) Has been cancelled
Linux / CM clang-tidy (push) Has been cancelled
Linux / CM address-sanitizer (push) Has been cancelled
Linux / CM address-sanitizer H3 c-ares (push) Has been cancelled
Linux / AM memory-sanitizer (push) Has been cancelled
Linux / CM thread-sanitizer (push) Has been cancelled
Linux / AM openssl i686 (push) Has been cancelled
Linux / AM IntelC openssl (push) Has been cancelled
Linux / CM openssl -O3 libssh valgrind 1 (push) Has been cancelled
Linux / CM openssl -O3 libssh valgrind 2 (push) Has been cancelled
Linux / AM awslc (push) Has been cancelled
Linux / AM libressl krb5 (push) Has been cancelled
Linux / CM mbedtls gss valgrind 1 (push) Has been cancelled
Linux / CM mbedtls gss valgrind 2 (push) Has been cancelled
Linux / AM wolfssl-all (push) Has been cancelled
Linux / AM wolfssl-opensslextra valgrind 1 (push) Has been cancelled
Linux / AM wolfssl-opensslextra valgrind 2 (push) Has been cancelled
Linux / CM mbedtls-prev (push) Has been cancelled
Linux / AM event-based (push) Has been cancelled
Linux / AM duphandle (push) Has been cancelled
Linux / AM Alpine MUSL https-rr c-ares (push) Has been cancelled
Linux / AM Alpine MUSL https-rr (push) Has been cancelled
Linux / AM curl_global_init_mem debug valgrind (push) Has been cancelled
Linux / AM openssl !ipv6 !--libcurl !--digest-auth (push) Has been cancelled
Linux / AM openssl https-only (push) Has been cancelled
Linux / AM openssl default (push) Has been cancelled
Linux / CM libressl Fil-C (push) Has been cancelled
Linux / AM Slackware !ssl gssapi gcc (push) Has been cancelled
Linux / AM rustls (push) Has been cancelled
Linux / AM !ssl !http !smtp !imap (push) Has been cancelled
Linux / AM openssl intel C89 (push) Has been cancelled
Source / spellcheck, linters, REUSE (push) Has been cancelled
Docs / proselint (push) Has been cancelled
Docs / pyspelling (push) Has been cancelled
Docs / synopsis, man-examples (push) Has been cancelled
Source / checksrc (push) Has been cancelled
Source / complexity and function sizes (push) Has been cancelled
Source / xmllint (push) Has been cancelled
Source / misc checks (push) Has been cancelled
CodeQL / GHA and Python (push) Has been cancelled
CodeQL / C (push) Has been cancelled
CodeQL / C-1 (push) Has been cancelled
Linux / AM libressl clang (push) Has been cancelled
configure-vs-cmake / Linux (push) Has been cancelled
configure-vs-cmake / macOS (push) Has been cancelled
configure-vs-cmake / Windows (push) Has been cancelled
curl-for-win / Linux gcc glibc (amd64, arm64) (push) Has been cancelled
curl-for-win / Linux gcc glibc minimal (amd64) (push) Has been cancelled
Linux Old / autotools & cmake (push) Has been cancelled
Linux / AM openssl arm C89 (push) Has been cancelled
Linux / CM mbedtls-pkg MultiSSL !pc (push) Has been cancelled
Linux / CM openssl torture 1 (push) Has been cancelled
curl-for-win / Linux llvm MUSL (amd64, riscv64) (push) Has been cancelled
curl-for-win / macOS clang cares (x86_64) (push) Has been cancelled
curl-for-win / Windows llvm (x64) (push) Has been cancelled
curl-for-win / Windows gcc zlib-classic (x64) (push) Has been cancelled
dist / AM in-tree & maketgz (push) Has been cancelled
Linux / AM mbedtls clang (push) Has been cancelled
Linux / AM openssl clang krb5 openldap static (push) Has been cancelled
Linux / CM openssl clang krb5 LTO (push) Has been cancelled
Linux / CM clang-tidy H3 c-ares !examples (push) Has been cancelled
dist / reproducible releases (push) Has been cancelled
dist / CM integration macos-latest (push) Has been cancelled
dist / CM integration ubuntu-24.04-arm (push) Has been cancelled
dist / Verify tarball downloads (push) Has been cancelled
Linux HTTP/3 / Build caches (push) Has been cancelled
Linux / CM openssl torture 2 (push) Has been cancelled
Linux / CM rustls valgrind 2 (push) Has been cancelled
Linux / CM openssl libssh2 sync-resolver valgrind 2 (push) Has been cancelled
Linux / CM openssl libssh2 sync-resolver valgrind 1 +analyzer (push) Has been cancelled
dist / CM integration windows-2022 (push) Has been cancelled
Linux / CM rustls valgrind 1 (push) Has been cancelled
Linux / CM awslc (push) Has been cancelled
Linux / CM boringssl (push) Has been cancelled
Linux / CM libressl krb5 valgrind 1 (push) Has been cancelled
Linux / CM libressl krb5 valgrind 2 (push) Has been cancelled
macOS / iOS, AM libressl arm64 (push) Has been cancelled
macOS / iOS, CM-Xcode libressl arm64 (push) Has been cancelled
macOS / CM clang MultiSSL AppleIDN clang-tidy +examples (push) Has been cancelled
macOS / CM clang HTTP/3 clang-tidy (push) Has been cancelled
macOS / AM clang OpenSSL libssh c-ares (push) Has been cancelled
macOS / AM clang OpenSSL SecTrust krb5 (push) Has been cancelled
macOS / CM clang wolfSSL !ldap brotli zstd (push) Has been cancelled
macOS / CM clang OpenSSL torture 1 (push) Has been cancelled
macOS / CM clang OpenSSL torture 2 (push) Has been cancelled
macOS / CM clang OpenSSL torture 3 (push) Has been cancelled
macOS / CM clang GnuTLS !ldap krb5 +examples (push) Has been cancelled
macOS / CM clang !ssl libssh2 AppleIDN (push) Has been cancelled
macOS / CM clang Rustls (push) Has been cancelled
macOS / CM clang !ssl HTTP-only c-ares (push) Has been cancelled
macOS / CM clang LibreSSL !ldap +examples (push) Has been cancelled
macOS / CM clang LibreSSL openldap krb5 c-ares +examples (push) Has been cancelled
macOS / CM clang OpenSSL event-based (push) Has been cancelled
macOS / CM clang OpenSSL 10.15 C89 (push) Has been cancelled
macOS / CM clang OpenSSL gsasl AppleIDN SecTrust +examples (push) Has been cancelled
macOS / AM gcc-13 !ssl !debug brotli zstd (push) Has been cancelled
macOS / CM gcc-15 aws-lc +analyzer (push) Has been cancelled
macOS / CM llvm@18 mbedTLS !ldap brotli zstd MultiSSL AppleIDN (push) Has been cancelled
macOS / CM llvm@18 OpenSSL libssh (push) Has been cancelled
macOS / AM clang macos-26 (push) Has been cancelled
macOS / CM clang macos-14 (push) Has been cancelled
macOS / CM clang macos-26 (push) Has been cancelled
non-native / Android 21, AM !ssl !zstd arm64 (push) Has been cancelled
macOS / CM gcc-13 macos-14 (push) Has been cancelled
macOS / CM gcc-15 macos-14 (push) Has been cancelled
macOS / CM gcc-15 macos-15 (push) Has been cancelled
macOS / CM gcc-15 macos-26 (push) Has been cancelled
macOS / CM llvm@15 macos-14 (push) Has been cancelled
macOS / CM llvm@20 macos-26 (push) Has been cancelled
non-native / freebsd 14.3, AM clang openssl !examples arm64 (push) Has been cancelled
non-native / freebsd 14.3, CM clang openssl arm64 (push) Has been cancelled
non-native / freebsd 15.0, AM clang openssl x86_64 (push) Has been cancelled
non-native / midnightbsd 4.0.4, CM clang gnutls !runtests x86_64 (push) Has been cancelled
non-native / openbsd 7.7, CM clang libressl x86_64 (push) Has been cancelled
non-native / freebsd 15.0, CM clang openssl !unity !runtests !examples x86_64 (push) Has been cancelled
non-native / netbsd 10.1, CM gcc openssl x86_64 (push) Has been cancelled
non-native / AmigaOS, AM gcc AmiSSL m68k (push) Has been cancelled
non-native / AmigaOS, CM gcc AmiSSL m68k (push) Has been cancelled
non-native / Android 35, AM !ssl !zstd arm64 (push) Has been cancelled
non-native / Android 21, CM !ssl !zstd arm64 (push) Has been cancelled
non-native / Android 35, CM !ssl !zstd arm64 (push) Has been cancelled
non-native / MS-DOS, AM djgpp !ssl i586 (push) Has been cancelled
non-native / MS-DOS, CM djgpp !ssl i586 (push) Has been cancelled
Linux HTTP/3 / AM openssl (push) Has been cancelled
Linux HTTP/3 / AM quiche (push) Has been cancelled
Linux HTTP/3 / AM wolfssl (push) Has been cancelled
Linux HTTP/3 / CM awslc (push) Has been cancelled
Linux HTTP/3 / CM boringssl (push) Has been cancelled
Linux HTTP/3 / CM libressl (push) Has been cancelled
Linux HTTP/3 / CM quiche (push) Has been cancelled
Linux HTTP/3 / CM openssl-prev (push) Has been cancelled
Linux HTTP/3 / CM openssl (push) Has been cancelled
Linux HTTP/3 / CM wolfssl (push) Has been cancelled
dist / AM in-tree !perl (push) Has been cancelled
dist / CM out-of-tree !perl (push) Has been cancelled
dist / CM in-tree !perl (push) Has been cancelled
dist / missing files (push) Has been cancelled
Linux HTTP/3 / AM awslc (push) Has been cancelled
Linux HTTP/3 / AM boringssl (push) Has been cancelled
Linux HTTP/3 / AM gnutls (push) Has been cancelled
Linux HTTP/3 / CM gnutls (push) Has been cancelled
Linux HTTP/3 / AM libressl (push) Has been cancelled
Linux HTTP/3 / AM openssl-prev (push) Has been cancelled
dist / AM out-of-tree docs (push) Has been cancelled
dist / AM out-of-tree (debug) (push) Has been cancelled
dist / AM out-of-tree !perl (push) Has been cancelled
cmake/FindGSS: drop CMake <3.16 compatibility logic
Redundant since bumping minimum to 3.18.

Follow-up to 89043ba906 #20407
Follow-up to 1f11224232 #18950

Closes #22072
2026-06-17 18:38:46 +02:00
.circleci runtests: detect bad libssh differently for test 1459 (fixing CircleCI libssh job) 2025-11-16 23:28:44 +01:00
.github GHA/macos: enable krb5 in an autotools job 2026-06-17 16:29:15 +02:00
CMake cmake/FindGSS: drop CMake <3.16 compatibility logic 2026-06-17 18:38:46 +02:00
docs INTERNALS.md: document minimum nghttp3 and ngtcp2 versions 2026-06-17 14:37:54 +02:00
include tidy-up: prefer spelling 'flavor', where missing 2026-06-15 03:28:42 +02:00
lib src: sync nghttp2 versions checks with current requirements 2026-06-17 14:37:54 +02:00
LICENSES spacecheck: check long lines and repeat spaces, fix fallouts 2026-03-25 11:02:08 +01:00
m4 tidy-up: miscellaneous 2026-06-14 20:10:28 +02:00
projects tidy-up: miscellaneous 2026-06-14 20:10:28 +02:00
scripts perl: open... || -> open... or (cont.) 2026-06-16 19:11:15 +02:00
src tool_writeout: fix %time{} output for %s 2026-06-16 10:17:43 +02:00
tests first.h reflow 2026-06-17 14:37:14 +02:00
.clang-tidy.yml clang-tidy: enable more checks, fix fallouts 2026-04-14 02:20:16 +02:00
.dir-locals.el copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.editorconfig .editorconfig: add 2025-09-02 08:36:40 +02:00
.git-blame-ignore-revs copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.gitattributes buildconf: remove 2026-04-04 11:35:24 +02:00
.gitignore build: drop the winbuild build system 2025-09-20 01:20:25 +02:00
.mailmap mailmap: Darren Banfi 2026-06-12 14:48:12 +02:00
acinclude.m4 tidy-up: miscellaneous 2026-06-01 22:33:57 +02:00
appveyor.sh appveyor: bump 3 VS2022 jobs to VS2026 2026-06-09 21:16:54 +02:00
appveyor.yml appveyor: bump 3 VS2022 jobs to VS2026 2026-06-09 21:16:54 +02:00
CHANGES.md CHANGES: fix typo in filename 2026-01-01 12:20:10 +01:00
CMakeLists.txt tidy-up: prefer spelling 'flavor', where missing 2026-06-15 03:28:42 +02:00
configure.ac configure: tidy up OPT_APPLE_SECTRUST initialization 2026-06-16 22:18:43 +02:00
COPYING COPYING: bump copyright year range to 1996 - 2026 2026-01-08 23:19:44 +01:00
curl-config.in autotools: tidy-up if expressions 2025-12-10 22:29:19 +01:00
Dockerfile GHA: update debian:bookworm-slim Docker digest to 96e378d 2026-06-11 19:31:47 +02:00
GIT-INFO.md REUSE: add copyright header to two files 2025-11-03 16:08:52 +01:00
libcurl.pc.in configure: do not echo most inherited LDFLAGS to config files 2024-11-14 09:55:45 +01:00
Makefile.am rtmp: drop support 2026-03-21 14:56:06 +01:00
README BUG-BOUNTY.md: we stop the bug-bounty end of Jan 2026 2026-01-26 08:26:28 +01:00
README.md rtmp: drop support 2026-03-21 14:56:06 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2026-06-16 23:22:58 +02:00
renovate.json renovate: use standard bump formula for OpenSSL 2026-04-15 10:17:33 +02:00
REUSE.toml github: Add AI usage warning to issue, doc and PR templates 2026-06-02 13:47:01 -04:00
SECURITY.md stop using the word 'just' 2026-03-03 15:30:22 +01:00

curl logo

curl is a command-line tool for transferring data from or to a server using URLs. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.

Learn how to use curl by reading the man page or everything curl.

Find out how to install curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl man page to learn how.

Open Source

curl is Open Source and is distributed under an MIT-like license.

Contact

Contact us on a suitable mailing list or use GitHub issues/ pull requests/ discussions.

All contributors to the project are listed in the THANKS document.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit the support page.

Website

Visit the curl website for the latest news and downloads.

Source code

Download the latest source from the Git server:

git clone https://github.com/curl/curl

Security problems

Report suspected security problems privately and not in public.

Backers

Thank you to all our backers 🙏 Become a backer.

Sponsors

Support this project by becoming a sponsor.