본문으로 건너뛰기
ToolMug

cURL 코드 변환기

브라우저 개발자 도구에서 복사한 curl 명령어 등을 붙여넣으면 같은 요청을 바로 실행할 수 있는 코드로 바꿔 줘요. 헤더, JSON 본문, 폼 업로드, 인증 정보가 그대로 옮겨지며, 어디로도 전송되지 않아요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

Chrome이나 Edge 개발자 도구의 Network 패널에서 요청을 마우스 오른쪽 버튼으로 클릭하고 Copy → Copy as cURL (bash 또는 cmd)을 선택하세요.

사용 방법

  1. curl 명령어를 붙여넣거나 예시 불러오기를 클릭하세요.
  2. JavaScript fetch, Node.js axios, Python requests, Go 중에서 고르세요.
  3. 생성된 코드를 복사해 프로젝트에 넣으세요.

옵션 설명

지원하는 옵션
-X, -H, -d / --data-raw / --data-binary / --data-urlencode, --json, -F, -u, -b, -A, -e, -G, -I, -L, -k, --compressed를 짧은 형식, 긴 형식, --option=value 형식으로 모두 지원해요. -s, -v, -o처럼 출력에만 관련된 플래그는 무시돼요.
JSON 본문
JSON Content-Type으로 보내는 본문은 Python의 json=payload처럼 객체 리터럴로 바뀌어서 수정하기 쉬워요.
리디렉션
curl은 -L을 주지 않으면 리디렉션을 따라가지 않아요. 생성된 코드도 이 동작을 그대로 유지해요. 예를 들어 Python에서는 allow_redirects=False가 돼요.

예시

브라우저에서 복사한 이 명령은

curl -X POST https://api.example.com/v1/users \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -d '{"name":"Ada","age":36}'

fetch로는 다음과 같이 바뀌고,

const response = await fetch("https://api.example.com/v1/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer TOKEN",
  },
  body: JSON.stringify({
    "name": "Ada",
    "age": 36
  }),
  redirect: 'manual',
});

Python requests로는 다음과 같이 바뀌어요.

response = requests.post("https://api.example.com/v1/users", headers=headers, json=payload, allow_redirects=False)

Python에서는 json= 인자가 Content-Type 헤더를 설정하므로 headers에서는 빠져요. redirect: 'manual'과 allow_redirects=False는 리다이렉트를 따라가지 않는 curl의 기본 동작을 유지해요.

자주 묻는 질문

브라우저에서 curl 명령어는 어떻게 얻나요?

개발자 도구를 열고 Network 패널에서 요청을 마우스 오른쪽 버튼으로 클릭한 뒤 Copy → Copy as cURL을 선택하세요. bash 형식과 Windows cmd 형식 모두 인식해요.

토큰이나 쿠키가 어딘가로 전송되나요?

아니요. 명령어는 브라우저 안에서 분석되며, 실행되거나 업로드되지 않아요. 생성된 코드를 공유하기 전에 비밀 정보는 꼭 지우세요.

어떤 옵션이 지원되지 않는다고 나오는 이유는 뭔가요?

클라이언트 인증서나 프록시처럼 요청 방식을 바꾸지만 간단한 대응 코드가 없는 옵션은 변환되지 않아요. 해당 옵션을 지우고 설정은 직접 추가하세요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구