cURL コンバーター
cURL コマンドを貼り付けると、fetch、axios、Python requests、Go、Rust、PHP、Java など約三十種のクライアントや言語の動くコードとして読み直せます。メソッド、クエリ文字列付きの完全な URL、ヘッダー、Cookie、Basic 認証、そして JSON・フォーム・生のボディがそのまま引き継がれ、各言語のシンタックスハイライト付きでワンクリックコピーできます。変換エンジンは進捗バー付きで必要時に読み込まれ、準備が整えばすべてブラウザー内で動作します。コマンドやそこに含まれるトークンはこのページから外に出ません。
- 1 本の cURL コマンドを fetch・axios・Python・Go・Rust・PHP・Java など 30 以上のターゲットへ変換
- メソッド・URL・クエリ文字列・ヘッダー・Cookie・Basic 認証・ボディがすべて往復で保持される
- 各言語のシンタックスハイライト付き、ワンクリックでエディターへコピー
- エンジンは必要時に読み込まれ、以降は完全にブラウザー内で動作——コマンドやトークンは外に出ない
概要
DevTools・API ドキュメント・同僚から受け取った cURL コマンドを貼り付け、プロジェクトで実際に使う言語のコードとして読み直せます。ヘッダーを 1 つも打ち直す必要はありません。
- 01
1 本のコマンドで三十以上のターゲット
ブラウザーの fetch・jQuery $.ajax・XHR、Node の fetch・axios・got・ky、Python の requests・http.client、Go・Rust・C#・Swift・Dart・Objective-C、PHP cURL・Guzzle、Java OkHttp・Kotlin、さらに Ruby・Elixir・R・MATLAB・Perl・Lua・PowerShell・Ansible——どれもそのまま貼り付けられます。
- 02
リクエスト全体が引き継がれる
メソッド(-X)、クエリ文字列付きの完全な URL、すべての -H ヘッダー、-b や Cookie ヘッダーの Cookie、-u の Basic 認証、そして --data・--data-raw・--data-urlencode・-F フォームフィールドのボディが、ターゲットクライアントで再構築されます。
- 03
ボディは構造を保つ
JSON の --data-raw は本物のオブジェクトリテラルや JSON.stringify 呼び出しになり、フォームフィールドはターゲット言語のフォームエンコードに、生のテキストは生のまま——手で再パースが必要な平坦な文字列にはなりません。
- 04
ハイライト済みでコピーできる出力
各ターゲットはその言語に合わせてシンタックスハイライトされ、ライト/ダークのテーマに追従し、ワンクリックのコピーボタンでそのままエディターへ落とせます。
- 05
貼り直さずにスタックを切り替え
一度貼れば、ドロップダウンで fetch・Python・Go を行き来し、同じリクエストが各エコシステムでどう読めるかを比較してから 1 つに決められます。
- 06
オンデマンドのエンジン、ブラウザー内変換
cURL パーサーは大きめのバンドルなので、進捗バー付きで必要時に読み込まれ、この訪問の間はキャッシュされます。その後は解析もコード生成もこのページで行われ、コマンド・ヘッダー・トークンを外へ運ぶ通信はありません。
使い方
入力欄 1 つとドロップダウン 1 つ——貼って、選んで、コピー。変換エンジンはページを最初に開いたときに自動で読み込まれます。
- 01
cURL コマンドをコピーします。Chrome DevTools でリクエストを右クリックして Copy → Copy as cURL を選ぶか、API ドキュメントや同僚から入手します。
- 02
左の cURL 入力欄に貼り付けます。バックスラッシュによる行継続を含む複数行コマンドでも問題ありません。
- 03
ツール下部のドロップダウンからターゲット言語またはクライアントを選びます。
- 04
右側のハイライトされた結果を確認し、上部のコピーボタンでエディターへ落とします。
- 05
ドロップダウンでターゲットを切り替え、同じリクエストをスタック間で比較します——貼り直しは不要です。
詳細
使い捨ての cURL コマンドをプロジェクトの実コードにする作業が、手作業の書き直しではなくなり、書き直しにつきもののタイプミスも生まれません。
- cURL フラグからメソッド・URL・クエリパラメーター・ヘッダー・Cookie・Basic 認証・ボディをそのまま復元します。
- バックスラッシュ継続の複数行コマンドに加え、シングルクォート・ダブルクォート・$'…' のシェル文字列に対応します。
- JSON リクエストボディは往復で保持され、不透明な文字列ではなく整形された形でターゲット片に出力されます。
- ターゲットはブラウザー(fetch・jQuery・XHR)、Node(fetch・axios・got・ky)、さらに二十以上の言語やクライアントに及びます。
- 出力は各言語のシンタックスハイライトを使い、ライト/ダークのテーマに追従するため、diff やスクリーンショットが読みやすくなります。
- 新しいターゲットを選ぶと、解析済みのコマンドから即座に再生成され、余計な往復はありません。
- パーサーのバンドルは進捗バー付きで必要時に読み込まれてキャッシュされるため、本当に必要になるまでページは軽いままです。
活用シーン
「cURL はある、コードが欲しい」という日常の場面——どれも手作業の書き直しではなくなり、細かなコピーミスの原因でもなくなります。
-
DevTools のリクエストをコードへ
ネットワークパネルで Copy as cURL し、fetch や axios に変換して、ヘッダーとボディごと作成中のフロントエンドへそのまま貼り付けます。
-
API ドキュメントを動くコールへ
多くの API は例を cURL で示します。Python requests や Go に変換し、ドキュメントのヘッダーとペイロードに一致したコールから始められます。
-
スタック間でリクエストを移植
バックエンドの例は PHP cURL だがサービスは Rust や Java——一度変換すれば、メソッド・認証・ヘッダー・ボディが目視翻訳なしでそのまま揃います。
-
リグレッション用フィクスチャの下地に
キャプチャしたリクエストを Python や Node に変換して結合テストの起点にし、テスト用の認証情報に差し替えてレスポンスにアサーションを追加します。
-
採用前にクライアントライブラリを比較
同じリクエストを fetch・got・ky の間、または requests と http.client の間で切り替え、チームとコードスタイルにどの API の書き方が合うかを見極めます。
-
実行可能なスニペットを引き渡す
自分で訳す必要のある生の cURL ではなく、すぐ動く fetch や PowerShell のスニペットを同僚に渡せます——「これ X でどう送るの?」という質問が減ります。
関連情報
変換ではなくリクエストを分解して読みたいときは、 HTTP メッセージパーサー を開くと、生の HTTP・cURL・fetch をヘッダー・Cookie・ボディの構造化ビューに分解できます。URL の中に絡まったクエリ文字列やリダイレクトチェーンがあるときは、 URL ツール が各要素を分解してトラッキングパラメーターを除去します。Authorization ヘッダーや Cookie に JWT があるときは、 JWT インスペクター がペイロードをデコードして署名を検証し、未検証のトークンに基づいて動かずに済みます。
使い方のヒント
変換はコマンドに忠実ですが、スニペットは結局プロジェクトに入ります——着地前にひと通り目を通しましょう。
- DevTools の「Copy as cURL」の複数行コマンドを使うと、すべての -H ヘッダーとフラグが貼り付け時に失われにくくなります。
- 変換後のコードを共有・コミットする前に、Authorization ヘッダー・セッション Cookie・API トークンを削除または置換します。
- シークレットはインラインに残さず、生成スニペット内の環境変数や設定ローダーへ移します。
- プロジェクトに合わせてタイムアウト・リトライ・エラー処理を追加します——出力はリクエストを再現するだけで、その周りの本番向け堅牢化は含みません。
- スニペットが実際のコードベースに入る前に、サンプルのドメインやプレースホルダー ID を実際の設定に置き換えます。
- ローカルファイルを参照するボディ(--data @payload.json)はプレースホルダーとして扱い、ターゲット言語で本物のファイル読み込みをつなぎます。
- 本番トークンを本ツールを含むどのオンラインツールにも残さないでください。終わったら入力をクリアします。
制限事項
境界を知っておけば、これを HTTP クライアントやデバッガーとして使おうとせずに済みます。
- リクエストは送信されません——コマンドテキストを翻訳するだけで、コールの実行・リダイレクトの追従・レスポンスの表示はできません。
- ごく特殊な、あるいはシェル展開されたフラグ(プロセス置換、パイプで渡す --data、グロブのアップロード)は、すべてのターゲット言語にきれいに対応するとは限りません。
- 生成コードは忠実な出発点であって本番対応ではありません。認証更新・ページネーション・リトライ・エラー処理はあなたの担当です。
- ファイルパスで参照されるバイナリアップロード(例: --data @file や -F file=@photo.png)は、ここにファイルが無いためインライン化できません。
- 入力は cURL のみを受け付けます。生の HTTP メッセージや fetch スニペットを解析したり、ヘッダーや Cookie を構造化ビューで調べたりするには、HTTP メッセージパーサーを使ってください。
よくある質問
よくある質問は、対応ターゲット、保持される内容、オンデマンドのエンジン、精度、データの所在をカバーします。
どの言語・クライアントに変換できますか?
約三十のターゲットで、ブラウザーの fetch・jQuery・XHR、Node の fetch・axios・got・ky、Python の requests・http.client、Go・Rust・C#・Swift・Dart・Objective-C、PHP cURL・Guzzle、Java OkHttp・Kotlin、さらに Ruby・Elixir・R・MATLAB・Perl・Lua・PowerShell・Ansible を含みます。
リクエストのどの部分が保持されますか?
メソッド、クエリ文字列付きの完全な URL、ヘッダー、Cookie、Basic 認証、そしてリクエストボディ(JSON・form-urlencoded・生)が、選んだターゲットへすべて引き継がれます。-F の multipart フォームフィールドも、ターゲットクライアントが対応していればマッピングされます。
ページを開いたときにローディングバーが出るのはなぜですか?
cURL パーサーは大きめのバンドルなので、ページの残りと一緒に同梱せず、進捗バー付きで必要時にダウンロードします。この訪問の間はキャッシュされるため、以降の変換は即時です。
生成されたコードはそのまま実行できますか?
リクエストを保持した忠実な出発点です。リリース前にエラー処理・タイムアウト・環境変数を追加し、シークレットをインラインコードから移してください。
HTTP メッセージパーサーとの違いは?
本ツールは「cURL を入れてコードを出す」一点に特化しています。HTTP メッセージパーサーは生の HTTP メッセージや fetch スニペットも受け付け、リクエストをヘッダー・Cookie・ボディの構造化ビューに分解します。コードだけ欲しいときは本ツールを、メッセージを調べたりデバッグしたいときはそちらを使ってください。
cURL コマンドはアップロードされますか?
いいえ。エンジンの読み込み後は、解析もコード生成もブラウザー内で実行されます。コマンド・ヘッダー・トークンをこのページの外へ運ぶ通信はありません。
コマンドの変換が失敗するのはなぜですか?
入力は curl で始まる完全なコマンドである必要があります。大量にシェル展開されたコマンドや、選んだターゲットに対応のないフラグは変換できないことがあります——別のターゲットを試す、コマンドを簡略化する、シェル固有の構文を外すなどしてください。
関連ツール
ネットワークとリクエストの作業を続けましょう——HTTP メッセージ全体を調べる、URL を整える、Authorization ヘッダーの JWT をデコードする。