왜 만들었나요
API 문서나 동료가 준 예시는 늘 curl 명령인데, 정작 코드에 넣으려면 헤더와 바디를 하나씩 옮겨 적어야 했습니다. 옵션이 많아질수록 빠뜨리기 쉬워서, 붙여넣으면 API 코드 생성이 바로 되게 만들었습니다.
curl 명령을 붙여넣으면 같은 요청을 5가지 언어 코드로 바꿔 줍니다. 메서드·헤더·바디·Basic 인증·쿠키는 알아서 읽어 옵니다.
로딩 중...
API 문서나 동료가 준 예시는 늘 curl 명령인데, 정작 코드에 넣으려면 헤더와 바디를 하나씩 옮겨 적어야 했습니다. 옵션이 많아질수록 빠뜨리기 쉬워서, 붙여넣으면 API 코드 생성이 바로 되게 만들었습니다.
Note
붙여넣은 명령은 서버로 전송되지 않습니다. 변환이 전부 브라우저 안에서 이뤄져, 인증 토큰이 든 실제 명령을 넣어도 기기 밖으로 나가지 않습니다.
왼쪽 입력창에 curl 명령을 붙여넣습니다. 샘플 버튼으로 시작하거나, 위쪽 파일 아이콘으로 텍스트 파일(.txt 등)을 불러와도 됩니다. curl로 시작하지 않는 글을 넣으면 코드를 만들지 않고 그 사실을 알려 줍니다.

붙여넣는 즉시 오른쪽에 코드가 나옵니다. 기본은 JavaScript(fetch)입니다. 가운데 화살표를 누르면 기다리지 않고 바로 변환되고, 입력창 위 비우기로 한 번에 지울 수 있습니다.

결과 패널 위 선택 목록에서 언어를 바꾸면 같은 요청이 그 언어 코드로 다시 그려집니다. 오른쪽 복사 버튼으로 코드를 그대로 가져가세요.

문서에 적힌 curl 예시를 넣으면 이렇게 나옵니다.
넣은 것
curl -X POST https://api.example.com/orders \
-H "Content-Type: application/json" \
-d '{"item":"apple","qty":2}'
나온 것 (Python)
import requests
url = "https://api.example.com/orders"
headers = {
"Content-Type": "application/json",
}
payload = {
"item": "apple",
"qty": 2
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
-X POST 처럼 메서드를 직접 적었으면 그대로 씁니다-d(데이터)가 있으면 POST로 봅니다-d 값이 JSON 모양이면(또는 Content-Type이 JSON이면) JSON 요청으로 만듭니다. JSON이 아니면 그 문자열을 그대로 바디에 넣을 뿐, 폼 데이터 구조로 나누거나 Content-Type을 새로 붙여 주지는 않습니다.
-d 를 여러 번 쓴 명령은 curl과 같은 방식으로 값들을 & 로 이어 붙입니다. --data-urlencode 는 -d 와 똑같이 처리합니다. curl이라면 특수문자를 안전한 형태로 바꿔 보낼 값이, 여기서는 원문 그대로 바디에 들어갑니다.
-d @파일이름 은 알아채지 못합니다. 파일에서 본문을 읽어 오는 형태인데, @data.json 이라는 글자가 그대로 본문에 들어간 코드가 나옵니다. 이럴 때는 파일 내용을 직접 -d '{...}' 안에 붙여넣어 변환하세요.
본문이 JSON 모양인데 문법이 틀렸으면(마지막 쉼표 등) JSON이 아닌 그냥 글자로 넘깁니다. 코드는 만들어지되 JSON.stringify(...) 대신 문자열로 들어가니, 원본 JSON을 먼저 바로잡는 편이 좋습니다.
-u 아이디:비밀번호 형태를 인식합니다. Python은 auth=(...) 인자로, 나머지 언어는 Authorization: Basic ... 헤더로 만들어 줍니다.
됩니다. 줄 끝에 \ 가 붙어 이어지는 형태를 그대로 인식합니다. 문서에서 복사한 그대로 넣으면 됩니다.
초안으로 쓰고 손보는 것을 권합니다.
panic, Node.js는 catch 정도의 최소 처리만 들어갑니다-F(파일 업로드)처럼 코드로 옮기지 못하는 옵션은 결과 아래에 빠진 옵션 이름이 안내로 뜹니다 — 파일 첨부·프록시·인증서 설정은 나온 코드에 직접 넣어야 합니다넣어도 안전합니다. cURL 코드 변환기는 전부 브라우저 안에서 변환하므로 명령이 어디로도 전송되지 않습니다. 다만 나온 코드를 그대로 저장소에 올리면 토큰이 함께 올라가니 주의하세요.
가장 흔한 방법은 브라우저 개발자 도구입니다.
이렇게 복사한 명령은 줄 끝을 백슬래시로 이어 붙인 여러 줄 형태인 경우가 많은데, 그대로 붙여넣어도 한 덩어리로 읽어 냅니다.
개발자 도구에서 복사한 curl 명령에는 로그인 쿠키나 인증 토큰이 그대로 들어 있습니다.
이 도구는 붙여넣은 내용을 서버로 보내지 않으므로 여기서는 안전하지만, 그 명령을 메신저나 이슈 트래커에 그대로 붙여넣지 마세요. 다른 사람이 내 계정으로 요청을 보낼 수 있습니다. 공유해야 한다면 인증 부분을 지우고 전달하세요.
-F)는 변환되지 않습니다 — 빠졌다는 안내만 뜨니 그 부분은 직접 넣어야 합니다명령 한 줄로 웹 요청을 보내는 프로그램입니다. API 문서에서 예시를 적을 때 언어에 상관없이 쓸 수 있어 사실상 공통 표기처럼 쓰입니다.
요청에 함께 붙이는 부가 정보입니다. 데이터 형식(Content-Type)이나 인증 토큰(Authorization) 등이 들어갑니다.
요청에 실어 보내는 실제 데이터입니다. curl에서는 -d 옵션으로 지정하며, 주로 JSON 형태를 씁니다.
아닙니다. cURL 변환기는 붙여넣은 curl 명령을 브라우저 안에서 문자열로 파싱해 코드로 만들 뿐, 실제로 그 요청을 보내거나 curl 내용을 서버로 전송하지 않습니다. 토큰이나 인증 정보가 담긴 명령도 안심하고 붙여넣을 수 있습니다.
JavaScript(fetch), JavaScript(axios), Python(requests), Node.js(내장 fetch), Go(net/http) 다섯 가지 중에 고릅니다. 오른쪽 결과 패널 위의 언어 선택 목록에서 하나를 고르면 같은 요청이 그 언어의 관용적인 코드로 다시 그려지고, 바로 옆 복사 버튼으로 가져갈 수 있습니다.
네. 브라우저 개발자 도구의 "Copy as cURL"처럼 줄 끝을 백슬래시(\)로 이어 붙인 여러 줄 명령도 한 덩어리로 읽어 냅니다. 복사한 그대로 붙여넣으면 헤더와 바디를 순서대로 파싱합니다.
메서드를 명시하지 않았더라도 -d 등으로 요청 바디를 넘겼으면 POST로, 아무 데이터가 없으면 GET으로 자동 판단합니다. -X나 --request로 메서드를 직접 지정하면 그 값을 그대로 사용합니다.
마지막 업데이트: