Home/Blog/How to Install cURL on Windows: 5 Easy Methods (2025 Guide)
How To

How to Install cURL on Windows: 5 Easy Methods (2025 Guide)

Install cURL on Windows using PowerShell, Chocolatey, or manual download. Complete guide with step-by-step instructions for all methods.

How to Install cURL on Windows: 5 Easy Methods (2025 Guide)

cURL is a powerful command-line tool for transferring data with URLs. It supports numerous protocols including HTTP, HTTPS, FTP, SFTP, and more. This comprehensive guide will walk you through five different methods to install cURL on Windows, from the simplest to the most flexible approaches.

What is cURL and Why Do You Need It?

cURL (Client URL) is an essential tool for developers, system administrators, and power users who need to:

  • Test APIs and web services
  • Download files from the command line
  • Automate data transfers
  • Debug HTTP/HTTPS connections
  • Send custom HTTP requests with headers
  • Work with RESTful services

Starting with Windows 10 version 1803, cURL comes pre-installed, but you might need a newer version or additional features. Let’s explore all your installation options.

Method 1: Using Pre-installed cURL (Windows 10/11)

The easiest method for Windows 10 (version 1803+) and Windows 11 users is to use the built-in cURL.

Check if cURL is Already Installed

Open Command Prompt or PowerShell and run:

curl --version

If you see version information, cURL is already installed. If not, continue with one of the methods below.

Method 2: Install via Windows Package Manager (winget)

Windows Package Manager provides the simplest installation method for modern Windows systems.

winget install curl.curl

This installs the latest stable version of cURL with automatic PATH configuration.

Method 3: Install via Chocolatey Package Manager

Chocolatey is a popular third-party package manager for Windows that simplifies software installation.

Step 1: Install Chocolatey

First, install Chocolatey by following the official installation guide. Run PowerShell as Administrator and execute:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Step 2: Install cURL

Once Chocolatey is installed, install cURL with:

choco install curl

Chocolatey automatically handles dependencies and PATH configuration.

Method 4: Install via Windows Subsystem for Linux (WSL)

Windows Subsystem for Linux (WSL) provides a full Linux environment on Windows, including cURL and many other Linux tools.

Step 1: Enable WSL

Follow Microsoft’s official WSL installation guide or simply run in PowerShell as Administrator:

wsl --install

Step 2: Install cURL in WSL

Once WSL is installed with your preferred Linux distribution (Ubuntu by default), open WSL and run:

sudo apt update
sudo apt install curl

This gives you access to the full Linux version of cURL with all features.

Method 5: Manual Installation from Official Sources

For maximum control, download cURL directly from the official cURL website or GitHub repository.

Step 1: Download cURL

  1. Visit the cURL for Windows page
  2. Download the appropriate version:
    • 64-bit: Most modern Windows systems
    • 32-bit: Older systems or specific requirements
    • SSL/TLS variant: Choose between OpenSSL, Schannel, or LibreSSL
  3. Extract the ZIP file to a location like C:\curl

Step 2: Add to System PATH

  1. Open System Properties (Win + Pause/Break)
  2. Click “Advanced system settings”
  3. Click “Environment Variables”
  4. Under “System variables”, select “Path” and click “Edit”
  5. Add the cURL bin directory (e.g., C:\curl\bin)
  6. Click “OK” to save

Step 3: Verify Installation

Open a new Command Prompt and verify:

curl --version

Alternative: Install via Cygwin

Cygwin provides a large collection of GNU and Open Source tools on Windows, including cURL.

  1. Download the Cygwin installer
  2. Run the installer and select a mirror
  3. In the package selection, search for “curl”
  4. Select the curl package for installation
  5. Complete the installation

Basic cURL Usage Examples

Once installed, here are some common cURL commands to get you started:

Simple GET Request

curl https://api.example.com/data

Download a File

curl -O https://example.com/file.zip

POST Request with JSON Data

curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"John","email":"[email protected]"}'

Include Headers in Request

curl -H "Authorization: Bearer TOKEN" https://api.example.com/protected

Follow Redirects

curl -L https://short.url/link

Save Response to File

curl https://api.example.com/data -o response.json

Troubleshooting Common Issues

‘curl’ is not recognized as an internal or external command

Solution: cURL is not in your PATH. Either:

  • Restart your terminal after installation
  • Add the cURL directory to your PATH manually
  • Use the full path to curl.exe

SSL Certificate Errors

Solution: Update your certificate bundle or use the -k flag (not recommended for production):

curl -k https://example.com

Proxy Configuration

If behind a corporate proxy:

curl -x http://proxy:port https://example.com

Advanced cURL Features

# Save cookies
curl -c cookies.txt https://example.com/login
# Use saved cookies
curl -b cookies.txt https://example.com/protected

Rate Limiting

# Limit download speed to 200K
curl --limit-rate 200K https://example.com/largefile.zip

Multiple Requests

# Download multiple files
curl -O https://example.com/file[1-5].pdf

Useful Resources and Documentation

Conclusion

cURL is an indispensable tool for modern development and system administration. Whether you choose the pre-installed version, a package manager, WSL, or manual installation, you now have multiple paths to get cURL running on your Windows system. Start with basic commands and gradually explore its powerful features for API testing, automation, and data transfer tasks.

For enterprise environments requiring advanced security features, monitoring, or automation capabilities, consider exploring how cURL integrates with your existing DevOps and security toolchains.

Frequently Asked Questions

Find answers to common questions

Yes, Windows 10 (version 1803 and later) and Windows 11 come with cURL pre-installed. Open Command Prompt or PowerShell and run curl --version to check. If it shows version info, cURL is ready to use. If you need a newer version or additional features, you can install a different version using one of the methods in this guide.

The easiest way is using Windows Package Manager (winget). Open PowerShell as Administrator and run: winget install curl.curl. This installs the latest stable cURL with automatic PATH configuration. Alternatively, use Chocolatey: choco install curl after installing Chocolatey package manager.

If you get 'curl is not recognized as an internal or external command', either cURL isn't installed, or it's not in your system PATH. Solutions: 1) Open a new terminal window (PATH updates require restart), 2) Add the cURL directory to your PATH manually via System Properties > Environment Variables, 3) Use the full path to curl.exe, or 4) Install cURL using winget or Chocolatey which handle PATH automatically.

On Windows, 'curl' in PowerShell is actually an alias for Invoke-WebRequest (a PowerShell cmdlet), not the real cURL. To use the actual cURL command, type 'curl.exe' explicitly. In Command Prompt (cmd.exe), 'curl' runs the real cURL. This distinction matters because Invoke-WebRequest has different syntax and options than cURL.

To update cURL on Windows: Using winget: winget upgrade curl.curl. Using Chocolatey: choco upgrade curl. For manual installations, download the latest version from curl.se/windows/ and replace your existing files. You can check your current version with curl.exe --version.

Yes, WSL provides the full Linux version of cURL with all features. After installing WSL (wsl --install), open your Linux distribution and run: sudo apt update && sudo apt install curl. This gives you the native Linux cURL, which some developers prefer for its complete feature set and Unix-compatible behavior.

For self-signed certificates, you have two options: 1) Skip verification with curl -k https://example.com (not recommended for production), or 2) Specify your CA bundle with curl --cacert /path/to/ca-cert.pem https://example.com. For Windows, you can also add the certificate to Windows certificate store and use --ssl-no-revoke flag.

Use the Authorization header: curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com/resource. For OAuth 2.0 APIs, this is the standard authentication method. You can also store the token in a variable: curl -H "Authorization: Bearer $TOKEN" https://api.example.com.

Use verbose mode with curl -v https://example.com to see request/response headers and TLS handshake details. For even more detail, use curl --trace output.txt https://example.com which logs all data including hex dumps. Add --trace-time to include timestamps in the output.

Use curl -x http://proxy:port -U username:password https://example.com. For NTLM authentication (common in corporate environments), use curl -x http://proxy:port --proxy-ntlm -U username https://example.com. You can also set the HTTP_PROXY and HTTPS_PROXY environment variables for persistent proxy configuration.

Let's turn this knowledge into action

Our experts can help you apply these insights to your specific situation. No sales pitch — just a technical conversation.