713

I am having trouble getting cURL to run on Windows.

I have downloaded a cURL zip file from here, but it seems to contain source code, not an executable.

Do I need to compile cURL to run it? If yes, then how do I do that?

Where can I find .exe downloads for cURL ?

I have looked for documentation on installing cURL, but there is little to be found.

4
  • 30
    With Windows 10 build 1803 (released early May 2018), you don't install curl. It is in C:\Windows\System32 directly! See my answer below.
    – VonC
    May 6, 2018 at 14:35
  • Easiest way is install git and you have it (stackoverflow.com/questions/2710748/…)
    – BRogers
    Nov 20, 2018 at 20:52
  • @VonC do you know how to turn of the built-in version and run a newer version? The Microsoft version doesn't support sftp.
    – e-Fungus
    May 27, 2020 at 21:08
  • 1
    @e-Fungus Then you can use C:\Program Files\Git\mingw64\bin\curl.exe which comes with Git for Windows: it does support sftp.
    – VonC
    Nov 9, 2022 at 5:43

23 Answers 23

1233

You might already have curl

It is possible that you won't need to download anything:

  • If you are on Windows 10, version 1803 or later, your OS ships with a copy of curl, already set up and ready to use.

  • If you have Git for Windows installed (if you downloaded Git from git-scm.com, the answer is yes), you have curl.exe under:

     C:\Program Files\Git\mingw64\bin\
    

    Simply add the above path to PATH.

But curl may be a PowerShell alias to its own Invoke-WebRequest command. If that is the case, you can invoke actual curl as curl.exe, or remove the alias with rm alias:curl.

Installing curl with a package manager

If you are already using a package manager, it may be more convenient to install with one:

new Cygwin installer design

Installing curl manually

Downloading curl

It is too easy to accidentally download the wrong thing. If, on the curl homepage, you click the large and prominent "Download" section in the site header, and then the large and prominent curl-7.62.0.tar.gz link in its body, you will have downloaded a curl source package, which contains curl's source code but not curl.exe. Watch out for that.

Instead, click the large and prominent download links on this page. Those are the official Windows builds, and they are provided by the curl-for-win project.

If you have more esoteric needs (e.g. you want cygwin builds, third-party builds, libcurl, header files, sources, etc.), use the curl download wizard. After answering five questions, you will be presented with a list of download links.

Extracting and setting up curl

Find curl.exe within your downloaded package; it's probably under bin\.

Pick a location on your hard drive that will serve as a permanent home for curl:

  • If you want to give curl its own folder, C:\Program Files\curl\ or C:\curl\ will do.
  • If you have many loose executables, and you do not want to add many individual folders to PATH, use a single folder such as C:\Program Files\tools\ or C:\tools\ for the purpose.

Place curl.exe under the folder. And never move the folder or its contents.

Next, you'll want to make curl available anywhere from the command line. To do this, add the folder to PATH, like this:

  1. Click the Windows 10 start menu. Start typing "environment".
  2. You'll see the search result Edit the system environment variables. Choose it.
  3. A System Properties window will popup. Click the Environment Variables button at the bottom.
  4. Select the "Path" variable under "System variables" (the lower box). Click the Edit button.
  5. Click the Add button and paste in the folder path where curl.exe lives.
  6. Click OK as needed. Close open console windows and reopen, so they get the new PATH.

Now enjoy typing curl at any command prompt. Party time!

15
  • 14
    Thanks - Also, my Win64 installation of Curl added it to the PATH variable, so simply installing it will make it available on the command line. No need to copy into %windir%. It will also be available in Powershell
    – ndhar
    Apr 24, 2014 at 14:33
  • 3
    Very simple just need to download from here install with one click and configure following this tutorial. Feb 21, 2015 at 18:15
  • 6
    Please, read Daniel's comment to another answer. It is an awful approach to put things into windows or system directories while there is far more civilized way. Do not pollute your windows installation, rather use the PATH variable, it is what it is intended for any way. Jul 30, 2015 at 20:09
  • 4
    What do you mean copy into %windir%, and it seems that they're not exe they're files of another format, thanks.
    – Henry Zhu
    Apr 23, 2016 at 5:28
  • 6
    I took the curl.exe by "Marc Hörsken". The curl.exe we need is located in the src folder. Src is source. Weird. Can i trust these exe files ?
    – MasterJoe
    Feb 4, 2017 at 1:28
279

Assuming you got it from https://curl.haxx.se/download.html, just unzip it wherever you want. No need to install. If you are going to use SSL, you need to download the OpenSSL DLLs, available from curl's website.

18
  • 22
    Was there a curl.exe file there? Run that. Alternatively, copy curl.exe that and any files that have .dll extension to a directory that is included in your PATH environment variable (or add the directory where curl.exe and the .dll files are, to your PATH environment), and you won't have to type the full pathname to curl.exe in order to run it.
    – theglauber
    Mar 1, 2012 at 15:33
  • 11
    @theglauber, the question is "where is that curl.exe"? I've downloaded .tar.gz, unpacked it with zip and there is no any curl.exe.
    – Green
    Mar 14, 2013 at 11:08
  • 11
    Maybe you are downloading a source distribution instead of a binary one.
    – theglauber
    Mar 15, 2013 at 16:26
  • 27
    When I unzipped the downloaded curl file "curl-7.47.1.zip", I didn't find any curl.exe Feb 9, 2016 at 13:59
  • 7
    Yash, you probably downloaded a source archive. Look lower in the download page, under "packages", find the section for 32 or 64-bit Windows (win32 - generic or win64 - generic)
    – theglauber
    Feb 11, 2016 at 19:48
107
  1. Download curl zip
  2. Extract the contents (if you have downloaded the correct version you should find curl.exe)
  3. Place curl.exe in a folder where you keep your software (e.g. D:\software\curl\curl.exe)
  4. To run curl from the command line

    a) Right-hand-click on "My Computer" icon

    b) Select Properties

    c) Click 'Advanced system settings' link

    d) Go to tab [Advanced] - 'Environment Variables' button

    e) Under System variable select 'Path' and Edit button

    f) Add a semicolon followed by the path to where you placed your curl.exe (e.g. ;D:\software\curl)

Now you can run from the command line by typing:

curl www.google.com
1
  • Thanks for the Environment Variables suggestion, I was specifically searching for how do I create a persistent command line alias for curl Sep 10, 2016 at 9:53
43

Starting with Windows 10 version 1803 (and earlier, with insider build 17063), you don't install curl anymore. Windows includes a native curl.exe (and tar.exe) in C:\Windows\System32\, which you can access right from your regular CMD.

C:\Users\vonc>C:\Windows\System32\curl.exe --version
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: [unreleased]
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

C:\Users\vonc>C:\Windows\System32\tar.exe --version
bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp

See the initial announcement and the release announcement.

12
  • Hi @VonC, As you said It is in the C:\Windows\System32\curl.exe in my system. But If I want to use it in my TFS server pipeline with the task "cURL" - It is showing error for demanded curl is not there in the Build Agent. I have restarted vsts Agent ,but no luck. am I missing something ? Sep 6, 2019 at 5:09
  • @DarshanaPatel Can you request your Agent to print its %PATH% environment variable? Also, what is the exact error message?
    – VonC
    Sep 6, 2019 at 6:06
  • Hi @Vonc ,path C:\WINDOWS\system32; is there in the path. Also, I have tried print curl --version from agent and output is -->curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL 2019-09-08T08:14:52.864977 Release-Date: [unreleased] 2019-09-08T08:14:52.86618Z Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp. Sep 8, 2019 at 8:22
  • 3
    Just be aware that Microsoft doesn't seem to be keeping curl up to date, so you should still use the latest version with all the security fixes/patches. Dec 19, 2019 at 17:51
  • 2
    Does any one know if Microsoft has an option to turn it off like for telnet. Being in System32 the Microsoft version is ran first even if i have a version in path.
    – e-Fungus
    May 27, 2020 at 21:05
33

The simplest tutorial for setting up cURL on Windows is the Making cURL work on Windows 7. It only have 3 easy steps.

5
  • 26
    This tutorial suggest placing curl.exe in the System32 folder. One should really create a Curl folder in C:\Program Files, put the Curl executable there, and then put that folder's path into the system path environmental variable. This will still allow it to be accessed from the command prompt in any location
    – Daniel
    Feb 15, 2014 at 5:23
  • Re Daniel's comment: "in the system32 folder" is exactly where Microsoft itself ended up deciding to put it, now it comes stock. Mar 28, 2023 at 15:14
  • @JamesTheAwesomeDude When did it first became available via the system32? Was it Windows 8, 10, or 11? Mar 29, 2023 at 4:14
  • @AbelCallejo It was in Windows 10 version 1803 (from insider build 17063 and newer.) So, since December 2017 for "Insiders" and April 2018 for general users. Mar 29, 2023 at 18:02
  • tested with curl 8.3.0 on win 7 32 but not working putting only curl.exe,works with all bin folder content(+libcurl.dll,curl-ca-bundle.crt )
    – mrapi
    Sep 18, 2023 at 13:08
28
  1. Download cURL (Win64 ia64 zip binary with SSL)
  2. Extract curl.exe into "C:\Windows\System32"
  3. Done

Even more easier:

Download the Win64 2000/XP x86_64 MSI installer provided by Edward LoPinto.

At the time of writing file curl-7.46.0-win64.exe was the most recent. Tested with Windows 10.

2
  • 3
    Excellent Answer... @benny It is working for me as well.. But don't forgot to restart your PC. Feb 8, 2018 at 13:07
  • That doesn't work for me. Curl needs SSL certificates (curl-ca-bundle.crt) in addition to the curl.exe file, so you should put the contents of the bin folder somewhere (I just left it in my downloads directory, but C:\Program Files\curl would be better), then add that folder to your path.
    – Dave
    Jul 19, 2019 at 20:40
19

It's probably worth noting that Powershell v3 and up, contains a cmdlet called Invoke-WebRequest that has some curl-ish capabilities. The New-WebServiceProxy and Invoke-RestMethod cmdlets are probably worth mentioning too.

I'm not sure they will fit your needs or not, but although I'm not a Windows guy, I have to say I find the object approach PS takes, a lot easier to work with than utilities such as curl, wget etc. They may be worth taking a look at

0
13

Note also that installing Git for Windows from git-scm.com also installs Curl. You can then run Curl from Git for Windows' BASH terminal (not the default Windows CMD terminal).

1
  • Easiest way I've found of doing this, especially behind a corporate firewall. Also: deployed as part of Visual Studio installation these days? May 15, 2019 at 8:59
11

As you already know, you can find several packages of binaries on the official curl website.

Once you download a package, unzip it wherever you want. I recommend adding its location to your path, so you can call curl from batch or powershell scripts. To add a directory to your path type "environment variables" in the start menu, and select "edit user environment variables". Select Path, and add to the end of the "value" box: ;C:\curl\directory (with the directory changed to where you saved curl.)

If you want to use SSL you need a certificate bundle. Run either mk-ca-bundle.pl (perl) or mk-ca-bundle.vbs (VBScript). Some of the packages of binaries include one or both of them. If your download doesn't include one, download one here: https://github.com/bagder/curl/tree/master/lib. I recommend mk-ca-bundle.vbs, as on windows you simply double click it to run it. It will produce a file called ca-bundle.crt. Rename it curl-ca-bundle.crt and save it in the directory with curl.exe.

Alternatively, I recently developed an msi installer that sets up a full featured build of curl with just a few clicks. It automatically ads curl to your path, includes a ready-to-use ssl certificate bundle, and makes the curl manual and documentation accessible from the start menu. You can download it at www.confusedbycode.com/curl/.

4
  • As an FYI to readers that use the download here, A. It scanned as clean by McAfee (yes, well, meh, McAfee, but I've been using it for years and haven't had a problem) ... B. Consider going with the paid solution right away. only $3. (I would have if I had noticed the price sooner (and had a hint of what lay ahead) ). C. if you go with the free version you're getting a slightly older version (OK for my purposes). D. You have to 'prove you're not a robot' by playing a captcha game I have never seen before. Started out having to multiple-select pics of houses. . . . . .
    – shellter
    Sep 22, 2016 at 17:49
  • . . . That didn't seem to work, so do the more generic buildings in the set of pics need to be selected as well? Eventually got cycled thru more ambiguous picture sets with similar problems and finally wound up on "select squares that have street signs in them". These proved unambiguous, I passed the "not a robot test" and was able to download the installer. E. Ran the installer as Admin on my machine. F. The install required installing MS Visual C++ for 2015 Redistributable. Had to launch that 2x, but I'd bet is was a MS hickup on their end on the download ....
    – shellter
    Sep 22, 2016 at 18:15
  • .... G. Oh yeah, on the captcha thing, I hit the download button before I noticed the check box for 'I am not a robot'. I think because I tried to download first, even though I later checked the box, I was forced to do the captcha as well. Hopefully others can avoid this. H. Over all, very happy with this package and will be getting the update (assuming I can use paypal). Thanks @confusedbycode, this was much easier than searching for libssh2*.dll (and other too be later discovered dependencies from the "official" download (see above). Good luck to all!
    – shellter
    Sep 22, 2016 at 18:20
  • H. Installed the "professional edition" expecting to be about to use "auto-updates and Easy SFTP" but don't see that in the `C:/program files/Confused By Code' directory structure. (I know this isn't be place for tech support, just finishing off my experience with this solution). Good luck to all!
    – shellter
    Sep 22, 2016 at 20:42
11

Install Chocolatey package manager for Windows. Once installed, simply enter choco install curl. Then you can use curl from a terminal.

10

Thought I'd write exactly what I did (Windows 10, 64-bit):

From the download page https://curl.haxx.se/download.html choose the download wizard https://curl.haxx.se/dlwiz/

Choose curl executable.

Choose Win64.

Choose generic.

Choose any.

Choose x86_64.

Choose the first recommended option. For me this was:

curl version: 7.53.1 - SSL enabled SSH enabled. Provided by: Viktor Szakáts. This package is type curl executable You will get a pre-built 'curl' binary from this link (or in some cases, by using the information that is provided at the page this link takes you). You may or may not get 'libcurl' installed as a shared library/DLL. The file is packaged using 7zip. 7zip is a file archiving format.

Click download.

You should have the file curl-7.53.1-win64-mingw.7z in your downloads folder.

Install 7-Zip if you don't have it.

Right-click, 7-Zip, Extract Here. Copy and paste the extracted file somewhere like Z:\Tools\

If you look in the bin folder you'll see curl.exe. If you double-click it a window will quickly flash up and vanish. To run it you need to use the Command Prompt. Navigate to the bin folder and type curl followed by your parameters to make a request. You must use double-quotes. Single quotes won't work with curl on Windows.

Now you'll want to add curl to a user's Path variable so you don't have to navigate to the right folder to run the program. Go to This PC, Computer, System Properties, Advanced system settings, authenticate as an administrator (you're not running as admin, right? Right?) Environment Variables, System variables, look at the list and select Path, then Edit, then New, then, e.g.

Z:\Tools\curl-7.53.1-win64-mingw\bin

You can add a trailing backslash if you like, I don't think it matters. Click move up until it's at the top of the list, then you can see it easily from the previous screen. Click OK, OK, OK, then crack open a Command Prompt and you can run curl by typing curl from any folder, as any user. Don't forget your double-quotes.

This is the answer I wish I'd had.

7

You can build the latest version of curl, openssl, libssh2 and zlib in 3 simple steps by following this tutorial.

Curl is built statically so you do not have to distribute the prerequisite dynamic runtime.

You can also download a prebuilt version (x86 and x64) from SourceForge.

7

I had a lot of issues with curl for Windows. I finally used Cygwin, which includes curl by default.

1
  • I had to manually set the "net" package to Install, so that it would install cURL. This is during the cygwin install wizard May 11, 2017 at 14:06
6

I was looking for the download process of Curl and every where they said copy curl.exe file in System32 but they haven't provided the direct link. so here it is enjoy, find curl.exe easily in bin folder just

unzip it and then go to bin folder there you get exe file

link to download curl generic

0
5

This installer made it easy for me http://www.confusedbycode.com/curl/

The link describes how to use it. Here's a summary taken from the website above:

"You can install cURL for Windows with only a few clicks. Just download and run an installer from the table below, and click Install. The default installation includes:

  1. curl.exe
  2. an SSL certificate bundle (ca-cert-bundle.crt)
  3. SSL certificate bundle generation scripts (mk-ca-bundle.pl & mk-ca-bundle.vbs)
  4. HTML manuals for cURL and libcurl
  5. text documentation formatted for Windows (so you can simply double click the files to read them with Notepad)
  6. Start Menu folder with shortcuts to the cURL installation folder, manuals, documentation, and uninstaller
  7. cURL added to your path, so you can use it with batch or PowerShell scripts and call it from the command prompt in any working directory

To include developers' files in your installation, click Advanced. The developers' files include libcurl.dll, libeay32.dll, ssleay32.dll, libssh2.dll, zlib.dll, msvcr120.dll, C headers, libs, and code examples.

When you click Advanced you can also choose whether or not to install the documentation and manuals, and whether or not to add cURL to your path.

If you don't have administrator privileges on your computer, use one of the files from the "Without Administrator Privileges" row. These install cURL in C:\Users\Name\AppData\Local\Apps.

If you do not want to use the installer, but still want the contents listed above, you can download one of the zip archives."

2
  • I still had to manually copy the .exe and .dll files to my windoze dir,
    – MarkHu
    Aug 11, 2016 at 6:48
  • 1
    The Path variable option under advanced should have taken care of that. Tho that would not work for background services running as local system or as another user
    – Aussie Ash
    Aug 12, 2016 at 2:37
3

Just download curl and extract the compressed file. You will get the file "curl.exe". Open a CMD Shell, drag the file curl.exe into the CMD Shell, now you can use curl.

enter image description here

1
  • 3
    This answer is technically correct, answers the questions, and in fact the easiest way to explain it to newbies. It is not clear what the downvotes are for. Perhaps the only part to add to address the question directly is - you don't _need_ to "install" it if you make sure you download the binary instead of the source code.
    – Amit Naidu
    Mar 4, 2016 at 23:46
3

After adding curl.exe's path to the System Variable 'Path'

you can open command prompt and run 'curl -V' to see if it is working.

1
  • note for readers: it's a capitalized V for the version, the lower case v is for version. to be safe type curl.exe --version Also note the version and the protocols of your version.
    – e-Fungus
    May 28, 2020 at 13:12
3

Follow download wizard

Follow the screens one by one to select type of package (curl executable), OS (Win64), flavor (Generic), CPU (x86_64) and the download link.

unzip download and find curl.exe (I found it in src folder, one may find it in bin folder for different OS/flavor)

To make it available from the command line, add the executable path to the system path (Adding directory to PATH Environment Variable in Windows).

Enjoy curl.

1

Statically built WITH ssl for windows:

http://sourceforge.net/projects/curlforwindows/files/?source=navbar

You need curl-7.35.0-openssl-libssh2-zlib-x64.7z

..and for ssl all you need to do is add "-k" in addition to any other of your parameters and the bundle BS problem is gone; no CA verification.

1

I have successfully used Windows curl-installer: http://open-edx-windows-7-installation-instructions.readthedocs.io/en/latest/6_Install_cURL_for_Windows.html

by using cURL for Windows direct download link with msi-installer. Remember to reboot your system after installing.

1
  • Download curl for windows from the path : https://curl.haxx.se/windows/
  • Unzip and you will find the ..\bin\curl.exe
  • Add ...\bin\ to your path variable for easy global access
1

I tried to install curl in many ways but finally started using gitbash terminal for curl commands.

0

I followed @theglauber's answer (the most popular one) but on Windows 10 Terminal / PowerShell the Environment setting did not take effect.

I had to CD into the GIT location and also use .\ like below:

PS C:\Program Files\Git\mingw64\bin> .\curl -X POST https://6sl8yohih.execute-api.us-west-1.amazonaws.com/dev/hello

I did not have any issues on the regular command prompt though.

Just posting this as an answer for someone who might be struggling as I did.

Not the answer you're looking for? Browse other questions tagged or ask your own question.