URL 인코딩·디코딩

한글·공백이 들어간 주소를 %XX 형식으로 인코딩하거나 깨진 URL을 원래 글자로 디코딩해요. URL을 넣으면 경로와 쿼리 파라미터도 표로 나눠 보여 드려요.

URL 분석

URL 인코딩·디코딩란?

URL에는 영문, 숫자와 일부 기호만 쓸 수 있어서 한글이나 공백은 퍼센트 인코딩(예: 한 → %ED%95%9C)으로 바꿔야 합니다. 주소창에 한글이 보이더라도 실제로 복사하면 %EC%84%9C…처럼 길게 바뀌는 이유가 바로 이것입니다.

이 도구는 JavaScript의 encodeURIComponent와 encodeURI 두 방식을 모두 지원하고, 잘못된 % 표기가 있으면 몇 번째 글자가 문제인지 알려 줍니다.

사용 방법

  1. 인코딩 또는 디코딩을 고르세요.
  2. 검색어나 파라미터 값 하나를 바꿀 때는 값 (Component), 주소 전체를 바꿀 때는 전체 주소 (URI)를 고르세요.
  3. 입력하는 즉시 결과가 나옵니다. ⇅ 결과를 입력으로를 누르면 반대 방향으로 다시 변환합니다.
  4. 아래 URL 분석에 주소를 넣으면 프로토콜, 호스트, 경로, 쿼리 파라미터를 나눠서 보여 줍니다.

encodeURIComponent와 encodeURI 차이

문자encodeURIComponentencodeURI
한글, 공백인코딩인코딩
: / ? # & = + , ; @ $인코딩그대로 둠
A-Z a-z 0-9 - _ . ! ~ * ' ( )그대로 둠그대로 둠

쿼리 값에 &나 =가 들어가면 encodeURI로는 파라미터가 잘못 나뉩니다. 값에는 항상 Component 방식을 쓰세요.

공백은 %20일까 +일까?

URL 표준(RFC 3986)에서 공백은 %20입니다. 다만 HTML 폼 전송 형식(application/x-www-form-urlencoded)에서는 공백을 +로 씁니다. 네이버·구글 검색 주소의 q=서울+맛집이 그 예입니다. 이런 주소를 디코딩할 때는 +를 공백으로를 켜세요.

자주 묻는 질문

디코딩하면 'UTF-8 문자로 해석할 수 없다'고 나와요.

오래된 국내 사이트는 한글을 EUC-KR로 인코딩해 한 글자가 %C7%D1처럼 2바이트로 표현됩니다. 이 도구와 현재 브라우저 표준은 UTF-8 기준이라 EUC-KR 주소는 해석하지 못합니다.

주소를 두 번 인코딩하면 어떻게 되나요?

%가 %25로 바뀌어 %25ED%2595…처럼 됩니다. 결과에 %25가 많이 보이면 이중 인코딩된 것이니 디코딩을 두 번 해 보세요.

한글 도메인도 인코딩되나요?

도메인은 퍼센트 인코딩이 아니라 퓨니코드(xn--로 시작)로 바뀝니다. URL 분석에서 한글 도메인을 넣으면 퓨니코드로 표시됩니다.