cURL→Fetch/Axios変換
curlコマンドを貼り付けると、同じリクエストを行う fetch または axios のコードに変換します。APIドキュメントのcurl例や、ブラウザの開発者ツールからコピーしたcURLコマンドをそのままコードに移したいときに便利です。コマンドを解析するだけで、実際の通信は行いません。リクエストボディのJSONを確認・整形したい場合は JSON整形 もあわせてご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
使い方
- 「curlコマンド」欄にコマンドを貼り付けます(複数行・行末の「\」にも対応)。
- 「出力形式」でfetchまたはaxiosを選びます。
- 「変換結果」のコードを「コピー」して、プロジェクトに貼り付けます。
注意事項
- 変換できるのは主要なオプション(-X・-H・-d / --data-*・--json・-F・-u・-A・-e・-b・-G・-I・--url)です。それ以外のオプションは無視し、画面に警告を表示します。
- -d @ファイル名 や -F の @ファイル名 のようなファイル参照は、ブラウザ上で読み込めないため変換結果で自分で差し替える必要があります。
- Cookie・User-Agent・Referer ヘッダーは、ブラウザ上のfetch・axiosでは設定できません(Node.jsでは設定できます)。ブラウザで使う場合は、サーバー側のCORS設定も必要です。
- 本ツールはコマンドの解析とコード生成のみを行い、curlの実行やAPIへのリクエストは一切行いません。入力内容はサーバーに送信されませんが、トークンなどの機密情報を含むコマンドは、生成コードを共有・公開する前に必ず確認してください。
用語解説
cURL
URLを指定してHTTPなどの通信を行うコマンドラインツールです。APIドキュメントのリクエスト例としてよく使われます。
fetch
ブラウザやNode.js(18以降)に標準で備わるHTTPリクエストのAPIです。追加のライブラリなしで使え、Promiseベースで書けます。
axios
HTTPリクエストを行うJavaScriptライブラリです。JSONの自動変換やBasic認証の指定がしやすく、ブラウザとNode.jsの両方で動作します。
CORS
ブラウザが別オリジンへのリクエストを許可するかどうかを、サーバー側のヘッダーで制御する仕組みです。curlでは問題なく通るリクエストも、ブラウザのfetch・axiosではCORSの設定が不足していて失敗することがあります。
よくある質問
ブラウザの「cURLとしてコピー」の内容も変換できますか?
はい。ChromeやFirefoxの開発者ツールの「cURLとしてコピー(bash)」で得たコマンドを、そのまま貼り付けて変換できます。Windows向けの「cURLとしてコピー(cmd)」は書式が異なるため、bash形式でコピーしてください。
JSONのボディはどのように変換されますか?
Content-Typeがjsonで、ボディが正しいJSONの場合は、fetchでは JSON.stringify({...})、axiosでは data にオブジェクトとして出力します。JSONとして解釈できない場合は、文字列のまま出力します。
curlのオプションはすべて変換されますか?
主要なオプション(メソッド・ヘッダー・データ・フォーム・Basic認証・Cookie・User-Agent・Referer・-G・-I)に対応しています。タイムアウトやプロキシなどfetch・axiosの基本構文で表せないオプションは無視され、画面に警告が出ます。
変換したコードがブラウザでCORSエラーになるのはなぜですか?
curlはブラウザではないためCORSの制限を受けませんが、ブラウザ上のfetch・axiosは、リクエスト先のサーバーが許可していないとブロックされます。サーバー側でCORSを設定するか、Node.jsなどのサーバー環境で実行してください。
このページをシェア
