Convert cURL to Java
Convert any cURL command into Java code using java.net.http.HttpClient — the modern HTTP client built into the JDK since Java 11. No external dependency, no Apache HttpClient or OkHttp install required, and the same builder pattern works for sync and async requests.
Headers, query parameters, JSON or form bodies, basic auth and bearer tokens from your cURL command are written into an HttpRequest built with HttpRequest.newBuilder(). The snippet sends the request synchronously with client.send() and reads the response body as a String.
Free demo trial • No credit card required • Setup in <2 minutes
What is cURL to code conversion?
Convert cURL commands into clean, production-ready code for any programming language. Our tool automatically parses headers, methods, data payloads, and authentication from your cURL commands and generates equivalent code with perfect syntax.
Perfect for developers who work with APIs, need to convert browser network panel exports, or want to quickly prototype API integrations. Instead of manually translating cURL commands, get instant, accurate code that follows language best practices and includes proper error handling.
Use the converted code with Scrappey's API for reliable web scraping on JavaScript-heavy and modern websites. All conversions happen instantly with no registration required and complete privacy protection.

Convert cURL to code
Paste your cURL command and get instant code conversion
cURL Command
Complete the verification to convert your cURL command
Java Code
Enter a cURL command to see the converted code...Unlock Full Functionality Without Limits
Register for a free account to access all tools with unlimited usage and advanced features.
Why use Scrappey for cURL conversion?
Fast, accurate, and perfect for any development workflow
Lightning Fast
Convert cURL commands to code in seconds. No waiting, no delays - just instant results with perfect syntax.
Multiple Languages
Support for 15+ programming languages including Python, Node.js, Java, PHP, Go, Ruby, C#, and more.
Privacy First
Your cURL commands are processed securely. No data stored, no tracking, complete privacy protection.
Perfect Syntax
Get production-ready code with proper syntax highlighting, error handling, and language best practices.
Accurate Conversion
Automatically parses headers, methods, data payloads, and authentication from complex cURL commands.
No Registration
Free to use with no registration required. Convert unlimited cURL commands instantly with no limits.
Perfect for
API Developers
Quickly convert API documentation examples from cURL to your preferred programming language. Perfect for integration testing and rapid prototyping.
QA Engineers
Transform browser network panel cURL exports into automated test scripts. Streamline your testing workflow with instant code generation.
Web Scraping
Convert browser network requests to code for automated data collection. Use with Scrappey for advanced request handling.
Rapid Prototyping
Quickly prototype API integrations by converting cURL commands from documentation or browser DevTools into working code.
How cURL to Java works
The Java output uses HttpRequest.newBuilder() — URI, method, headers and body publishers map one-to-one from the cURL flags. JSON bodies use HttpRequest.BodyPublishers.ofString with Content-Type application/json, urlencoded bodies build a query string with URLEncoder.encode, and multipart bodies need a manual boundary writer (or the converter recommends Apache HttpClient 5 for heavy multipart use). Responses are read via HttpResponse.BodyHandlers.ofString and parsed with Jackson or Gson at the call site.
Java code example
Realistic GET + POST with headers and a JSON body, written using java.net.http.HttpClient.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class Example {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(30))
.build();
// GET with headers and query params
HttpRequest getReq = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/users?page=1&limit=50"))
.header("Authorization", "Bearer YOUR_TOKEN")
.header("User-Agent", "MyApp/1.0")
.GET()
.build();
HttpResponse<String> getResp = client.send(getReq, HttpResponse.BodyHandlers.ofString());
System.out.println(getResp.statusCode() + " " + getResp.body());
// POST with JSON body
String payload = "{\"name\":\"Ada Lovelace\",\"email\":\"[email protected]\"}";
HttpRequest postReq = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/users"))
.header("Authorization", "Bearer YOUR_TOKEN")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> postResp = client.send(postReq, HttpResponse.BodyHandlers.ofString());
System.out.println(postResp.statusCode());
}
}cURL to Java — FAQ
Does this converter handle cURL POST requests in Java?
Yes. POST, PUT, PATCH and DELETE all work. The converter reads -X, --data, --data-raw, --data-binary, --data-urlencode and -F (multipart) and translates each into the right call shape — JSON bodies become language-native objects, urlencoded bodies become key/value pairs, and multipart bodies use the language's standard form-data approach.
How do I handle cookies in Java with the converted code?
HttpClient supports cookies via a CookieHandler — pass new CookieManager() to HttpClient.newBuilder().cookieHandler(...). It will store Set-Cookie responses and send Cookie headers automatically for subsequent requests to the same host. If your cURL command sets cookies via -b or -H "Cookie: ...", the converter writes them into the Java request headers verbatim. For session-style flows where cookies persist across requests, use a session object (see the example above) so the library tracks Set-Cookie responses automatically.
Can I use this with proxies in Java?
Yes. The generated Java snippet keeps your request structure intact, so adding a proxy is straightforward — set the standard proxy parameter for the library shown in the output. If you need rotating residential or datacenter proxies for reliable access to authorized targets, route the request through Scrappey instead of calling the target directly. With HttpClient, call .proxy(ProxySelector.of(new InetSocketAddress("host", port))) on the builder. For authenticated proxies, also set an Authenticator on the builder.
My project is still on Java 8 — what do I use instead?
Java 8 does not have java.net.http.HttpClient. Use Apache HttpClient 5 or OkHttp — the parsed cURL command maps cleanly onto both. Request a Java-8-compatible variant on this page or copy the HttpClient version and translate the builder calls; the request fields are identical.
Convert to other languages
Need the same cURL command in a different language? Use one of these converters:
Integrations
n8n
Automate workflows visually. Streamline data collection processes.
n8n Template
Pre-built template for modern websites. Simplifies Scrappey integration.
RapidAPI
Access via API marketplace. Easy integration with comprehensive docs.
Apify
Scalable actor-based automation. Reliable browser rendering.
MCP Server
AI-powered browser automation. Intelligent session management.
Scrappey CLI
Scrape from your terminal. One command, pipeable output, CI-ready.
Claude Code Skill
Portable skill for Claude Code + Codex. Browser-backed data access on demand.
LangChain
LangChain connector — clean web data for any chain or agent.
LlamaIndex
LlamaIndex reader — load modern web pages straight into RAG.
Zapier
Connect with 7,000+ apps. Automate workflows easily.
Make
Visual workflow automation. Connect with 1,000+ apps easily.
Start building with Scrappey
Try it free. No subscription, no credit card, instant setup — your trial is waiting.