본문으로 건너뛰기

URL 인코딩 · 디코딩

한글·공백·특수문자를 %XX로, %EA%B0%80 같은 주소를 다시 글자로. 쿼리 값도 풀어서 보여 줍니다.

인코딩 결과

위에 넣으면 바로 바뀝니다.

URL 인코딩 한눈에 보기

URL 인코딩·디코딩은 한글·공백·특수문자를 %EA%B0%80 같은 퍼센트 인코딩으로 바꾸고, 깨져 보이는 주소를 다시 글자로 되돌리는 무료 웹 도구입니다. 주소 속 쿼리 값도 풀어서 표로 보여 줍니다.

인코딩값 하나(전부 인코딩)·주소 전체(: / ? & = # 유지) 두 가지
디코딩UTF-8 %XX → 글자, 공백을 +로 쓴 폼 형식 선택
주소 풀기https 주소를 넣으면 쿼리 값을 디코딩해 표로
오류 표시% 뒤 16진수가 없는 위치, UTF-8이 아닌 조합
처리 위치내 브라우저(서버 전송 없음)

URL 인코딩 쓰는 법

  1. '인코딩'을 고르고 글을 넣으면 결과가 바로 나옵니다. 검색어·파라미터 값 하나를 넣을 때는 '값 하나', 주소 전체를 넣을 때는 '주소 전체'를 고르세요.
  2. 깨져 보이는 주소는 '디코딩'에 붙여넣습니다. https로 시작하는 주소면 그 아래에 쿼리 이름과 값이 한 줄씩 풀려 나옵니다.
  3. HTML 폼이나 일부 검색 주소처럼 공백을 +로 쓰는 곳이면 '공백을 + 로'를 켭니다. 인코딩할 때는 공백이 +로, 디코딩할 때는 +가 공백으로 바뀝니다.
  4. '결과로 반대 방향'을 누르면 결과를 입력 칸으로 옮기고 방향을 바꿔, 인코딩한 값이 제대로 되돌아오는지 바로 확인할 수 있습니다.

기준과 계산 방식

URL 인코딩은 어떤 원리인가요?

주소에는 영문·숫자와 일부 기호만 그대로 쓸 수 있어서(RFC 3986), 나머지 글자는 UTF-8 바이트로 바꾼 뒤 바이트마다 %와 16진수 두 자리로 적습니다. 한글은 한 글자가 3바이트라 '가'는 %EA%B0%80처럼 9글자가 됩니다. 이 도구는 브라우저의 encodeURIComponent·encodeURI와 같은 규칙을 씁니다.

'값 하나'와 '주소 전체'는 무엇이 다른가요?

'값 하나'는 & = ? / # 까지 모두 인코딩해서 검색어나 파라미터 값에 그대로 넣을 수 있게 합니다. '주소 전체'는 주소의 구조를 이루는 : / ? & = # 를 그대로 두고 한글·공백만 바꿉니다. 값에 &가 들어 있는데 주소 전체 모드로 인코딩하면 값이 중간에서 잘리니 주의하세요.

디코딩이 실패하는 이유는?

% 뒤에 16진수 두 자리가 없거나(예: 100%), %XX 조합이 UTF-8 글자가 아니면 실패합니다. 오래된 국내 사이트는 EUC-KR로 인코딩해 '가'를 %B0%A1로 쓰는데, 이 도구는 UTF-8만 풀기 때문에 그런 주소는 오류로 알려 줍니다.

자주 묻는 질문

주소창의 한글이 %EC%84%9C처럼 바뀌어 복사돼요.

브라우저는 주소를 복사할 때 한글을 인코딩해서 넘깁니다. 이 도구의 '디코딩'에 붙여넣으면 원래 한글 주소로 볼 수 있습니다. 인코딩된 주소도 그대로 열리므로 공유할 때는 둘 다 괜찮습니다.

Base64와 URL 인코딩은 무엇이 다른가요?

URL 인코딩은 주소에 못 쓰는 글자만 %XX로 바꾸고 나머지는 그대로 둡니다. Base64는 모든 바이트를 64글자로 다시 적는 방식이라 결과가 원문과 전혀 달라 보입니다. 주소 파라미터에는 URL 인코딩을, 바이너리 데이터를 글자로 옮길 때는 Base64를 씁니다.

입력한 주소가 어딘가에 저장되나요?

아닙니다. 변환은 이 브라우저 안에서만 이뤄지고 어떤 서버로도 보내지 않습니다. 다음 방문 때 편하도록 마지막 입력과 설정만 이 브라우저에 남습니다.

최종 갱신 · 작성 patrick(개인 개발자)

출처·참고: RFC 3986 — URI 문법과 퍼센트 인코딩 · WHATWG URL 표준 · MDN — encodeURIComponent()