Menu

cURL-Konverter

Wandle jeden curl-Befehl in fetch, axios, Python requests, Go, PHP und mehr um.

Zuletzt aktualisiert

curl-Befehl einfügencurl-Befehl zum Starten einfügen
JavaScript (fetch)
Füge oben einen curl-Befehl ein, um Code in 12 Sprachen zu erzeugen.

Was ist ein cURL-Konverter?

Ein cURL-Konverter macht aus einem curl-Befehl — dem Format, das jede API-Doku, jeder Postman-Export und jeder KI-Assistent ausspuckt — fertigen Code für deine echte Programmiersprache. Header, Query-Strings, JSON-Bodies, Multipart-Uploads, Basic Auth und Cookies werden mit übernommen, sodass du den Request nicht von Hand übersetzen musst.

curl ist die universelle Art, einen HTTP-Request zu beschreiben, aber in Produktion *führst* du curl praktisch nie aus. Da läuft JavaScript fetch, Python requests, Gos net/http oder was auch immer dein Stack nutzt. Dieses Tool schließt die Lücke: curl einfügen, Tab anklicken, Code kopieren.

Alles läuft lokal in deinem Browser. Dein curl-Befehl, deine Header und deine Tokens verlassen deine Maschine nie — praktisch, wenn du Befehle mit echten Bearer-Tokens oder Session-Cookies einfügst.

Was du beim Konvertieren nebenbei lernst

  • curl-Flags entsprechen festen Konzepten in jedem HTTP-Client: -H ist ein Request-Header, -d ist ein Body, -X ist die Methode, -u ist Basic Auth, -F ist ein Multipart-Formularfeld.
  • Sieht curl einen Body (-d, --data, -F) und kein -X, ist die Default-Methode POST — denselben Default nutzen die meisten Clients, also wird ein fehlendes -X auch in der Ausgabe zu POST.
  • JSON-Bodies unterscheiden sich von Form-Bodies. Content-Type: application/json bedeutet, der Body wird wörtlich geschickt; application/x-www-form-urlencoded heißt, Schlüssel/Wert-Paare werden mit & verbunden.

Schritt für Schritt: curl in Code umwandeln

  1. curl-Befehl einfügen

    Lege den kompletten Befehl ins Eingabefeld — inklusive \ Zeilenumbrüchen aus kopierten Docs. Der Parser normalisiert intelligente Anführungszeichen und PowerShell-Prompt-Marker automatisch.

  2. Zielsprache wählen

    Die Tabs decken JavaScript fetch, TypeScript, Node axios, Python requests, Python httpx, Go, PHP, Ruby, Java HttpClient, C# HttpClient, HTTPie und PowerShell ab. Tabs wechseln ist gratis — das Parsen läuft nur einmal.

  3. Geparsten Request prüfen

    Öffne das Panel *Geparster Request*, um zu bestätigen, dass Methode, URL, Header, Body-Typ und Optionen wie insecure oder Redirects folgen so übernommen wurden, wie du es erwartest.

  4. Kopieren und Auth anpassen

    Übernimm den generierten Code in dein Projekt. Wenn der curl-Befehl einen Bearer-Token oder ein Cookie enthielt, ersetze den Literalwert vor dem Commit durch eine Umgebungsvariable.

cURL-Flags Schnellreferenz

Die Flags, die dieser Konverter versteht, und worauf sie im erzeugten Code abbilden.

FlagBedeutungBeispiel
-X, --requestHTTP-Methode-X POST
-H, --headerRequest-Header (wiederholbar)-H 'Accept: application/json'
-d, --dataRequest-Body — URL-codiert standardmäßig-d 'name=Ada&age=30'
--data-rawBody ohne @file-Expansion--data-raw '$body'
--data-urlencodeBody-Teil prozent-codieren--data-urlencode 'q=hello world'
-F, --formMultipart-Formularfeld (@file für Dateien)-F 'avatar=@photo.jpg'
-u, --userBasic Auth → Authorization: Basic …-u alice:s3cret
-G, --getBody in Query-String schieben, GET senden-G -d 'q=ada'
-b, --cookieCookie-Header-b 'session=abc'
-A, --user-agentUser-Agent-Header-A 'MyApp/1.0'
-L, --location3xx-Redirects folgen-L
-k, --insecureTLS-Prüfung überspringen (nur Dev!)-k
--compressedgzip/deflate/br-Antwort akzeptieren--compressed
--max-timeGesamt-Timeout in Sekunden--max-time 30

cURL-Konvertierungsbeispiele

GET mit Query-String und Auth-Header

curl
curl 'https://api.example.com/v1/lessons?limit=20&track=python' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.demo'
JavaScript (fetch)
const response = await fetch('https://api.example.com/v1/lessons?limit=20&track=python', {  method: 'GET',  headers: {    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiJ9.demo'  }});const data = await response.json();

Query-Parameter in der URL bleiben in der URL — der Konverter trennt sie für fetch nicht in ein eigenes params-Objekt. Bei axios und requests werden sie zur besseren Lesbarkeit in params / params= ausgelagert.

Einen JSON-Body per POST senden

curl
curl 'https://api.example.com/v1/users' \  -H 'Content-Type: application/json' \  --data-raw '{"name":"Ada","age":36}'
Python (requests)
import requests
headers = {    'Content-Type': 'application/json',}json_data = {"name":"Ada","age":36}
response = requests.post('https://api.example.com/v1/users', headers=headers, json=json_data)response.raise_for_status()

Wenn der Body als JSON parst und Content-Type application/json ist, gibt der Konverter json= für requests aus und data: (geparstes Objekt) für axios. Der ursprüngliche Literal-String bleibt erhalten, wenn JSON.parse scheitert — er wird nie umgeschrieben.

Multipart-Datei-Upload

curl
curl 'https://api.example.com/upload' \  -F 'caption=Hello' \  -F 'photo=@./avatar.jpg'
Python (requests)
import requests
files = {    'caption': (None, 'Hello'),    'photo': open('./avatar.jpg', 'rb'),}
response = requests.post('https://api.example.com/upload', files=files)response.raise_for_status()

-F field=@file wird zu einem echten Datei-Upload (open('…', 'rb') in Python, FormData.append in JavaScript). Einfache -F-Felder werden zu normalen Form-Werten. Die Browser-Vorschau zeigt einen TODO-Platzhalter für Datei-Blobs, die du zur Laufzeit bereitstellen musst.

Basic Auth + Cookie

curl
curl 'https://api.example.com/me' \  -u alice:s3cret \  -b 'session=2f9a; theme=dark'
JavaScript (fetch)
const response = await fetch('https://api.example.com/me', {  method: 'GET',  headers: {    'Authorization': 'Basic YWxpY2U6czNjcmV0',    'Cookie': 'session=2f9a; theme=dark'  }});

Basic Auth wird zu einem einzelnen Authorization-Header zusammengefasst. Cookies werden mit ; verbunden und als ein Cookie-Header gesendet — genau so, wie curl es auf der Leitung tut.

Typische Fehler beim curl-Konvertieren

  • curl mit intelligenten Anführungszeichen (', ', ", ") aus einem Blogpost einfügen — sie sehen aus wie Anführungszeichen, brechen aber das Shell-Parsing. Der Konverter normalisiert sie, aber kopiere den Originalbefehl, wenn möglich.
  • -k (--insecure) in Produktion stehen lassen. Das schaltet die TLS-Zertifikatsprüfung ab — okay für lokale Entwicklung, gefährlich im echten Traffic.
  • Vergessen, dass --data-raw und --data sich unterschiedlich verhalten — --data URL-codiert die Eingabe. Nutze --data-raw für JSON-Bodies, die @ oder & enthalten.

cURL-Konverter FAQ

Welche Sprachen unterstützt der Konverter?
Zwölf Ziele direkt eingebaut: JavaScript (fetch), TypeScript (fetch), Node (axios), Python (requests), Python (httpx), Go (net/http), PHP (curl), Ruby (Net::HTTP), Java (HttpClient), C# (HttpClient), HTTPie und PowerShell (Invoke-RestMethod). Jedes wird aus derselben geparsten Repräsentation erzeugt — Tabs wechseln geht sofort.
Werden Multipart-Uploads und -F-Flags unterstützt?
Ja. -F field=value wird zu einem normalen Form-Feld, -F file=@path zu einem echten Datei-Upload mit FormData (JS), files= (Python), CURLFile (PHP) und so weiter. Dateipfade erscheinen als TODO-Platzhalter, die du zur Laufzeit an ein File, Buffer oder einen Stream anschließen musst.
Wird mein curl-Befehl an einen Server geschickt?
Nein. Der Parser und jeder Code-Generator laufen in deinem Browser. Bearer-Tokens, Cookies und Request-Bodies verlassen deine Maschine nicht — standardmäßig maskieren wir sie sogar in der *Geparster Request*-Vorschau.
Warum sieht mein Windows-curl anders aus?
Windows-curl.exe (und CMD/PowerShell) nutzt ^ oder Backtick \` als Zeilenumbrüche und zitiert Strings teils anders. Der Konverter normalisiert die gängigen Windows-Muster, aber wenn etwas falsch aussieht, kopiere den Befehl als eine einzige Zeile.
Unterstützt er GraphQL-Requests?
Ja — ein GraphQL-Request ist nur ein POST mit einem JSON-Body, der query und variables enthält. curl einfügen, und der Konverter erzeugt einen normalen JSON-POST in deiner Zielsprache. Die Antwortstruktur ({ data, errors }) behandelst du wie in jedem GraphQL-Client.
Kann ich einen aus Postman exportierten curl-Befehl einfügen?
Ja. Postmans *Code → cURL*-Export wird voll unterstützt, inklusive der mehrzeiligen \-Formatierung. Genauso der curl-Befehl aus *Als cURL kopieren* in den Chrome- und Firefox-DevTools.
fetch oder axios — welche Ausgabe nehmen?
Nimm fetch, wenn dein Projekt es schon hat (es ist in Browsern und modernem Node enthalten). Nimm axios, wenn du automatisches JSON-Parsen, Request-Interceptors, Retries oder Progress-Events brauchst — Features, die fetch out of the box nicht bietet.

Mehr erfahren

Weitere Entwickler-Tools

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S