メインコンテンツへスキップ

cURL → コード変換

curlコマンドを貼り付けるだけで、fetch・axios・Python requests・Go net/http・PHP curl・Ruby Net::HTTP など各言語のHTTPリクエストコードへ自動変換。APIドキュメントやChrome DevToolsの「Copy as cURL」をそのままコード化できる無料オンラインツール。ブラウザ内で完結。

curlコマンドを fetch・axios・Python requests・Go net/http・PHP・Ruby など各言語のコードに変換するツールです。

cURL → コード変換
fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
  },
  body: "{\"name\":\"tanaka\",\"age\":30}",
})
  .then((res) => res.json())
  .then((data) => console.log(data))
  .catch((err) => console.error(err));

// 詳細

cURLとは

curl(カール)は、コマンドラインからHTTPリクエストを送信できるオープンソースのツールです。ほぼすべてのOS(Mac / Linux / Windows)に標準搭載されており、API動作確認・ファイルダウンロード・スクリプトからのHTTP通信などに広く使われています。Stripe・GitHub・OpenAIなど多くのAPIドキュメントでは、リクエスト例がcurlコマンドで書かれているため、開発者にとって“共通言語”となっています。

対応する言語・ライブラリ

fetch(JavaScript / ブラウザ・Node.js 18+)、axios(JavaScript)、Python requests、Go net/http、PHP(cURL拡張)、Ruby Net::HTTP の6種類に対応。APIドキュメントに記載されているcurlコマンドや、Chrome DevToolsのNetworkタブで「Copy as cURL」したリクエストをそのまま貼り付けて、使いたい言語のコードへ一発変換できます。

対応オプション

-X / --request(メソッド)、-H / --header(ヘッダー)、-d / --data / --data-raw / --data-binary / --data-urlencode(ボディ)、-F / --form(multipart)、-u / --user(Basic認証)、-b / --cookie、-A / --user-agent、-e / --referer、-L / --location(リダイレクト追従)、-k / --insecure(SSL検証スキップ)、-G / --get(GETでデータをクエリ化)、-I / --head。-s / -S / --compressed など出力・進捗系のオプションは変換対象外として無視されます。

プライバシー

入力されたcurlコマンドはすべてブラウザ内で処理され、サーバーには一切送信されません。Authorizationヘッダーやアクセストークン、Basic認証情報を含むコマンドも安全に変換できます。

// よくある質問

Chrome DevToolsの「Copy as cURL」に対応していますか?
はい。NetworkタブでリクエストをRight-click → Copy → Copy as cURL で取得したコマンドをそのまま貼り付けて変換できます。macOSの場合は「Copy as cURL (bash)」を選択してください。
-d @filename のようなファイル参照はどう処理されますか?
ブラウザ上ではローカルファイルを読み取れないため、プレースホルダー(<file content>)に置換され、警告メッセージが表示されます。生成されたコード上で実際のデータやファイル読み込み処理に書き換えてください。
未対応のオプションを含むcurlコマンドはどうなりますか?
未対応のオプションは無視され、警告メッセージで通知されます。メソッド・URL・ヘッダー・ボディなど主要な要素は正しく変換されますが、生成コードを実行する前に警告内容を確認してください。
データはサーバーに送信されますか?
いいえ、すべての処理はブラウザ内で完結します。APIキーやBearerトークンを含むcurlコマンドを貼り付けても、外部に情報が漏れることはありません。
変換結果は本番環境でそのまま使えますか?
基本的な動作確認・プロトタイピング用途としてはそのまま利用できます。本番コードとして組み込む際は、エラーハンドリング・タイムアウト・リトライ・シークレット管理などをプロジェクトのポリシーに合わせて追加してください。
multipart(-F)は完全に変換されますか?
基本的なキー=値のフォーム項目、@ファイル指定(PHPのCURLFile、Pythonのopen()など)は各言語の慣用的なコードへ変換されます。fetch/axiosではFormData組み立てコード、Go/Rubyでは実装が重いためコメントでの誘導となります。

// 使い方

  1. curlコマンドを貼り付け

    上の入力欄にcurlコマンドを貼り付けます。行末の \ による複数行の継続もそのまま認識されます。SAMPLEボタンで代表的なパターン(POST JSON / GET / FORM / BASIC AUTH)を読み込めます。

  2. 出力言語を選択

    FETCH / AXIOS / PYTHON / GO / PHP / RUBY から変換先を選びます。選択に応じてリアルタイムでコードが再生成されます。未対応オプションがあれば警告が表示されます。

  3. コードをコピー

    COPYボタンで生成されたコードをクリップボードにコピーし、自分のプロジェクトに貼り付けて使います。必要に応じてエラーハンドリングや型を追加してください。