How to use cURL to Go
- 1. Paste cURL. Chrome Copy as cURL, Postman, or a docs example.
- 2. Open the Go output. This URL is for curl-to-go — review the generated request.
- 3. Move secrets to env. Replace Bearer tokens with os.Getenv before you commit.
About this tool
Searchers for “curl to go” want a Go net/http starting point, not a lecture on HTTP. This alias keeps that query on a dedicated URL while sharing the same local converter as cURL → Code.
What you get
A NewRequest-style snippet with method, URL, headers, and body when the parser finds them. Add context.Context, timeouts, and error handling to match your codebase.
Other languages
Need Python, fetch, or Axios instead? Use the language tabs on the same tool, or start from the main cURL → Code page.
Code examples
cURL (input)
curl -sS -X POST 'https://api.example.com/v1/items' \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
--data '{"name":"demo"}'Go (output)
req, err := http.NewRequest(http.MethodPost, "https://api.example.com/v1/items", strings.NewReader(`{"name":"demo"}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Python (output)
import os, requests
r = requests.post(
"https://api.example.com/v1/items",
headers={"Authorization": f"Bearer {os.environ['API_TOKEN']}"},
json={"name": "demo"},
)
r.raise_for_status()fetch (output)
const res = await fetch("https://api.example.com/v1/items", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.API_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ name: "demo" }),
});