← 🛠️ Dev Tools
💾 Dev Tools

cURL → Fetch Converter

Converti qualsiasi comando cURL in codice JavaScript fetch() o axios pronto all'uso. Supporta headers, body JSON, form data, autenticazione Bearer e metodi HTTP.

Come convertire cURL in JavaScript fetch

Incolla il tuo comando cURL nel campo di input e il converter genera automaticamente il codice JavaScript con la Fetch API equivalente. Puoi copiare il risultato direttamente nel tuo progetto. Lo strumento funziona nel browser, nessun dato viene inviato a server.

Il converter è particolarmente utile quando stai esplorando un'API con cURL dal terminale e vuoi portare la stessa richiesta in un progetto frontend o Node.js senza dover riscrivere headers, body e autenticazione a mano.

Cosa supporta il converter

Il tool converte correttamente: metodi HTTP (-X, --request), headers (-H, --header), body JSON (-d, --data, --data-raw), form data (--data-urlencode), autenticazione (-u, --user), URL con query string e flag comuni come --compressed, -k, --insecure.

Differenze tra cURL e Fetch API

cURL è uno strumento da riga di comando per effettuare richieste HTTP, disponibile su Linux, macOS e Windows. La Fetch API è l'equivalente nativo nei browser moderni e in Node.js 18+. Le differenze principali: Fetch usa Promise/async-await invece di output sincrono; la gestione degli errori è diversa (Fetch non rigetta la Promise per codici HTTP 4xx/5xx); alcuni flag cURL come --follow-redirects hanno equivalenti in Fetch tramite opzioni specifiche.

Quando usare questo strumento

Usalo quando: vuoi portare una chiamata API dal terminale al codice JavaScript; stai lavorando con la documentazione di un'API che fornisce esempi solo in cURL; vuoi integrare una richiesta copiata dal tab Network di Chrome DevTools nel tuo codice (Chrome permette di esportare richieste come cURL); stai imparando la Fetch API e vuoi confrontarla con la sintassi cURL che già conosci.

FAQ

Funziona con comandi cURL multiriga?

Sì. Incolla il comando cURL con le continuazioni di riga (\) e il parser le gestisce correttamente, unendo il comando in una singola logica prima di analizzarlo.

I token Bearer nel comando sono sicuri?

Il tool funziona interamente nel browser, nessun dato viene inviato a server. Tuttavia ti consigliamo di non usare token di produzione reali in tool online: usa sempre placeholder o token di test.

Il codice generato funziona in Node.js?

Sì. La Fetch API è disponibile nativamente in Node.js dalla versione 18. Per versioni precedenti puoi usare la libreria node-fetch che ha la stessa interfaccia.

Posso convertire anche il contrario, da fetch a cURL?

Questo strumento converte solo da cURL → Fetch. Per la direzione inversa esistono estensioni del browser come "Copy as cURL" disponibili nei DevTools di Chrome e Firefox.

Differenze chiave tra cURL e Fetch API

Redirect: cURL segue i redirect automaticamente con -L, fetch di default no — usa redirect: 'follow'. Errori HTTP: cURL considera errori solo i fallimenti di rete, fetch restituisce ok: false per 4xx/5xx ma non lancia eccezioni — controlla sempre response.ok. Cookie: cURL gestisce i cookie con --cookie-jar, fetch usa il browser cookie store con credentials: 'include'. Timeout: cURL ha --max-time, fetch richiede AbortController manuale.

Casi d'uso reali

Convertire esempi cURL dalla documentazione API (Stripe, Twilio, AWS) in codice JavaScript; adattare comandi cURL esportati da Postman "Code Snippet"; migrare script bash con cURL verso Node.js; capire la struttura di una richiesta HTTP leggendo il cURL e ottenendo fetch commentato e più leggibile; generare codice per documentazione tecnica da condividere con il team.

Gestione dell'autenticazione

I casi più comuni: Bearer token-H "Authorization: Bearer TOKEN" diventa headers: {'Authorization': 'Bearer TOKEN'}; Basic Auth-u user:pass diventa headers: {'Authorization': 'Basic ' + btoa('user:pass')}; API Key nell'header-H "X-API-Key: KEY" diventa un header aggiuntivo nell'oggetto headers; Cookie--cookie "session=abc" diventa headers: {'Cookie': 'session=abc'} o credentials: 'include' per il browser cookie store.