전체 도구 ↗
💻 긴 주소를 복사·붙여넣기 하기엔 PC 화면이 더 편해요
🔗

URL 인코더/디코더

한글·특수문자가 섞인 주소, 붙여넣고 한 번에 변환 — 입력값은 기기 밖으로 나가지 않습니다.

입력0자 · 0바이트
결과
0자 · 0바이트
🔗안녕 world!%EC%95%88%EB%85%95%20world!변환 결과가 여기에 표시됩니다
변환한 값, Base64로도 바꿔보기 →이 도구 즐겨찾기 Ctrl+D
광고

설명

한글·특수문자가 포함된 URL을 퍼센트 인코딩하거나 다시 사람이 읽을 수 있게 디코딩합니다.

광고

관련 도구

URL 인코더는 일반 텍스트나 특수 문자를 포함한 문자열을 퍼센트 인코딩(percent-encoding) 방식으로 변환해 주는 도구입니다. 한글, 공백, '&', '#', '=' 같은 문자는 URL에 그대로 쓰면 서버나 브라우저가 잘못 해석할 수 있어, API 요청 파라미터 작성이나 링크를 직접 조합할 때 올바른 인코딩이 필수입니다. 반대로 인코딩된 문자열을 다시 사람이 읽을 수 있는 텍스트로 디코딩하는 기능도 함께 제공됩니다.

사용 방법

입력 칸에 인코딩하고 싶은 텍스트(예: '안녕하세요 world!')를 붙여넣거나 직접 입력합니다. '인코딩' 버튼을 누르면 '%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94%20world!' 형태로 변환된 결과가 아래에 표시됩니다. 반대로 퍼센트 인코딩된 문자열을 붙여넣고 '디코딩' 버튼을 누르면 원래 텍스트로 복원됩니다. 복사 버튼으로 결과를 바로 클립보드에 저장할 수 있습니다.

인코딩이 필요한 상황과 주의사항

API 키, 검색어, 주소 같은 값을 GET 파라미터로 전달할 때 인코딩하지 않으면 '&'나 '='이 파라미터 구분자로 혼동되어 요청이 깨집니다. 특히 한글 검색어를 직접 URL에 넣으면 서버 설정에 따라 깨진 문자로 수신될 수 있습니다. encodeURIComponent와 encodeURI는 동작이 다른데, 이 도구는 파라미터 값 처리에 적합한 encodeURIComponent 방식을 따르므로 '/', '?', '#' 같은 문자도 인코딩됩니다. URL 전체를 인코딩하려는 경우 슬래시(/)까지 인코딩되면 경로가 깨질 수 있으니 파라미터 값 부분만 선택해서 인코딩하세요.

자주 하는 실수

이중 인코딩(double encoding)이 가장 흔한 실수입니다. 이미 '%20'처럼 인코딩된 문자열을 다시 인코딩하면 '%2520'이 되어 서버에서 원본을 복원할 수 없게 됩니다. 입력 전에 이미 인코딩된 값인지 먼저 확인하세요. 공백 처리도 주의가 필요한데, 퍼센트 인코딩에서 공백은 '%20'이지만 HTML 폼 데이터에서는 '+'로 인코딩되는 경우가 있어 컨텍스트에 맞는 방식을 선택해야 합니다. 전체 URL이 아닌 파라미터 '값' 부분만 인코딩하는 것이 원칙입니다.

자주 묻는 질문

한글이 포함된 URL을 그대로 사용하면 안 되나요?
최신 브라우저는 주소창에서 한글을 자동으로 인코딩하지만, 코드나 API 요청에 직접 삽입할 때는 반드시 퍼센트 인코딩을 해야 서버가 올바르게 수신합니다. 환경마다 자동 처리 여부가 달라 명시적 인코딩이 안전합니다.
공백은 '%20'과 '+'중 무엇으로 인코딩해야 하나요?
RFC 3986 표준에서는 공백을 '%20'으로 인코딩합니다. '+'는 HTML 폼(application/x-www-form-urlencoded) 방식에서만 사용되며, 일반적인 URL 파라미터에는 '%20'을 사용하는 것이 올바릅니다.
인코딩 결과를 디코딩하면 원본이 정확히 복원되나요?
네, 퍼센트 인코딩은 가역 변환이므로 인코딩 후 디코딩하면 원본 텍스트가 정확하게 복원됩니다. 단, 이중 인코딩된 경우 한 번만 디코딩하면 중간 단계 값이 나오므로 한 번 더 디코딩해야 원본이 나옵니다.
URL 전체를 붙여넣으면 경로(//)까지 인코딩되나요?
이 도구는 encodeURIComponent 방식으로 동작하므로 슬래시(/)를 포함한 대부분의 특수 문자가 인코딩됩니다. URL 전체가 아닌 파라미터 값 부분만 입력해서 사용하는 것이 올바른 방법입니다.
파일 이름에 특수 문자가 있을 때도 사용할 수 있나요?
네, 파일 다운로드 링크를 만들 때 파일명에 한글이나 특수 문자가 있으면 URL 인코딩이 필요합니다. 예를 들어 '자료집.pdf' 파일명은 '%EC%9E%90%EB%A3%8C%EC%A7%91.pdf'로 인코딩해야 링크가 정상 동작합니다.

개인정보처리방침

URL 인코더/디코더란

URL에는 영문자·숫자와 일부 기호(- _ . ~)만 그대로 쓸 수 있고, 한글이나 공백, & ? # = + / 같은 문자는 그대로 넣으면 주소가 깨지거나 다른 뜻으로 해석됩니다. 이 도구는 그런 문자를 % 뒤 16진수 형태(퍼센트 인코딩)로 바꿔주고, 반대로 %ED%95%9C처럼 인코딩된 문자열을 원래 글자로 되돌립니다. 위쪽 입력 칸에 원문이나 인코딩된 값을 붙여넣고 인코딩/디코딩 버튼을 누르면 아래 결과 칸에 나옵니다.

작동 원리 - 왜 한글이 %ED%95%9C처럼 되나

퍼센트 인코딩은 먼저 글자를 UTF-8 바이트로 바꾼 뒤, 각 바이트를 %XX(두 자리 16진수)로 표기합니다. 한글 '한'은 UTF-8에서 3바이트(ED 95 9C)라서 %ED%95%9C가 됩니다. 영문자 A는 안전 문자라 그대로 A입니다. 공백은 문맥에 따라 %20 또는 +로 쓰입니다. 이 도구는 자바스크립트 표준 함수 encodeURIComponent(디코딩은 decodeURIComponent)만 사용합니다. 따라서 / ? & = # 같은 기호까지 전부 %XX로 인코딩되므로, 주소 전체가 아니라 파라미터 '값' 한 부분만 골라 넣는 것이 올바른 사용법입니다.

문자인코딩 결과
공백%20
&%26
?%3F
=%3D
#%23
%ED%95%9C

이럴 때 씁니다

네이버·구글 검색 결과 주소를 복사했더니 query=%EA%B2%80%EC%83%89처럼 나와서 무슨 검색어인지 확인하고 싶을 때 디코딩합니다. 반대로 UTM 파라미터나 API 요청에 한글 값을 직접 넣어야 할 때, 예를 들어 utm_campaign=봄세일utm_campaign=%EB%B4%84%EC%84%B8%EC%9D%BC로 인코딩합니다. 카카오톡·문자로 링크를 보낼 때 한글이 섞여 클릭이 안 되는 경우, 미리 인코딩해 두면 안전합니다. 개발 중 쿼리스트링에 특수문자(&, +, 공백)가 값으로 들어가 파라미터가 잘리는 문제도 값만 인코딩해 해결합니다.

실전 팁

주소 전체를 한 번에 인코딩하면 ://?까지 %로 바뀌어 링크가 망가집니다. 값 부분(파라미터 하나)만 골라서 인코딩하세요. 이미 인코딩된 문자열을 또 인코딩하면 %%25로 바뀌는 이중 인코딩이 생기니, %25가 보이면 디코딩을 한 번 더 해보면 원문이 나옵니다. 공백이 +로 된 옛날 폼(form) 방식 값은 디코딩 시 +가 공백이 아니라 그대로 남을 수 있으니 확인이 필요합니다.