Toolzi LogoToolzi

URL 인코더 / 디코더

URL을 즉시 인코딩·디코딩하세요. encodeURIComponent와 전체 URI 인코딩을 지원합니다. 100% 클라이언트 처리.

모든 처리는 브라우저 내에서만 이루어집니다. 어떤 데이터도 서버로 전송되지 않습니다.

URL 인코딩(퍼센트 인코딩)이란?

URL 인코딩은 퍼센트 인코딩이라고도 하며, URL에서 허용되지 않는 문자를 % 기호 뒤에 두 자리 16진수를 붙인 형식으로 변환합니다. RFC 3986에서 정의된 방식으로, 공백·특수문자·한글 등 비ASCII 문자를 URL에 안전하게 포함할 수 있습니다. 예) 공백 → %20, 한글 '가' → %EA%B0%80.

어떤 모드를 사용해야 하나요?

URL 인코딩에는 두 가지 방식이 있습니다. Full URI 모드(encodeURI)는 URL 전체를 인코딩하면서 ://나 ?, & 같은 URL 구조 문자는 그대로 보존합니다. 완성된 URL을 안전하게 전달할 때 적합합니다. Component 모드(encodeURIComponent)는 ?q=검색어처럼 파라미터 값 하나를 인코딩할 때 사용하며, 구조 문자까지 모두 인코딩하기 때문에 URL 전체에 사용하면 브라우저가 주소로 인식하지 못합니다.

encodeURIComponent vs encodeURI 차이

항목ComponentFull URI
보존되는 문자A–Z a–z 0–9 - _ . ! ~ * ' ( )위 문자 + URL 구조 문자 (: / ? # [ ] @ ! $ & ' ( ) * + , ; =)
주요 용도쿼리 파라미터 값, 폼 데이터URL 전체를 구조를 유지하며 안전하게 인코딩

자주 인코딩되는 문자

문자인코딩설명
space%20폼 인코딩에서는 + 로 표기하기도 함
&%26쿼리 파라미터 구분자
=%3D키=값 구분자
#%23앵커(fragment) 식별자
+%2B더하기 기호 (공백 아님)
/%2F경로 구분자
?%3F쿼리 시작 문자
@%40이메일, 인증 정보

자주 묻는 질문

URL 인코딩과 퍼센트 인코딩은 같은 말인가요?
네, 동일합니다. 퍼센트 인코딩은 RFC 3986에서 정의한 공식 명칭입니다. 허용되지 않는 문자를 % 뒤에 UTF-8 바이트 값을 16진수로 붙인 형식으로 표현합니다.
한글 URL을 인코딩하면 왜 이렇게 길어지나요?
한글은 UTF-8로 3바이트입니다. 각 바이트가 %XX 형식으로 변환되므로, 글자 하나에 %XX%XX%XX 9자가 됩니다. 예) '가' → %EA%B0%80.
공백이 %20이기도 하고 +이기도 한데, 어느 것이 맞나요?
%20이 RFC 3986 표준 방식입니다. +는 HTML 폼 인코딩 방식(application/x-www-form-urlencoded)에서 공백을 의미합니다. URL에서는 %20이 더 안전합니다.
Component 모드와 Full URI 모드 중 무엇을 써야 하나요?
쿼리 파라미터 값 하나를 인코딩할 때는 Component(encodeURIComponent)를, URL 전체를 안전하게 인코딩하면서 구조(://, ?, & 등)를 유지하려면 Full URI(encodeURI)를 사용하세요.
이중 인코딩(double encoding)이란 무엇인가요?
이미 인코딩된 문자열을 한 번 더 인코딩하는 것입니다. 예) %20 → %2520. URL이 올바르게 동작하지 않으므로, 입력이 이미 인코딩된 상태인지 확인해야 합니다.
브라우저에서 한글 주소를 직접 입력할 수 있지 않나요?
브라우저가 자동으로 퍼센트 인코딩해서 사람이 읽기 쉬운 형태로 보여주는 것입니다. 실제 전송되는 URL은 퍼센트 인코딩된 형태입니다. 이 도구로 실제 전송 형태를 확인할 수 있습니다.
입력한 데이터가 서버로 전송되나요?
아니요. 모든 인코딩·디코딩은 브라우저 내 JavaScript에서만 처리됩니다. 어떤 데이터도 서버로 전송되지 않습니다.

관련 도구