URL 인코더·디코더: 텍스트와 URL 퍼센트 인코딩

  • 무료
  • 가입 불필요
  • 브라우저에서 실행
  • 마지막 업데이트 2026-10-07
문제 신고

URL에 넣을 수 있도록 특수문자를 이스케이프하거나, 퍼센트 인코딩된 문자열을 읽을 수 있는 텍스트로 되돌립니다.

입력한 내용은 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

사용 방법

  1. 텍스트나 URL을 입력창에 붙여 넣습니다.
  2. 쿼리 파라미터 같은 값 하나에는 구성 요소를, URL 구조를 그대로 두려면 전체 URL을 고릅니다.
  3. 인코딩 또는 디코딩을 누르고 결과를 복사합니다.

예시

a b&c=d/é
→ a%20b%26c%3Dd%2F%C3%A9
구성 요소 모드의 인코딩입니다. 예약 문자가 모두 이스케이프됩니다.
https://x.com/a b?q=é
→ https://x.com/a%20b?q=%C3%A9
전체 URL 모드의 인코딩입니다. : / ? = 문자는 그대로 남습니다.
a%20b%26c
→ a b&c
디코딩 결과입니다.

계산 방식

URL에는 제한된 문자만 쓸 수 있습니다. 공백이나 한글을 포함한 나머지 문자는 퍼센트 기호 뒤에 UTF-8 바이트의 16진수 두 자리를 붙여 적습니다. 이것이 퍼센트 인코딩입니다.

도구는 브라우저의 표준 함수를 씁니다. 구성 요소 모드는 encodeURIComponent와 decodeURIComponent, 전체 URL 모드는 encodeURI와 decodeURI입니다. 이 함수들은 RFC 3986의 규칙을 따릅니다.

필요한 부분만 인코딩하세요. 주소 전체에 구성 요소 모드를 쓰면 :와 /까지 이스케이프되어 주소를 쓸 수 없게 됩니다. 주소 전체에는 전체 URL 모드를, 파라미터 값 각각에는 구성 요소 모드를 쓰세요.

출처

자주 묻는 질문

구성 요소 모드와 전체 URL 모드는 어떻게 다른가요?
구성 요소 모드(encodeURIComponent)는 영문자, 숫자, - _ . ! ~ * ' ( )를 제외한 모든 문자를 이스케이프하므로 검색어 같은 값 하나에 알맞습니다. 전체 URL 모드(encodeURI)는 : / ? # & = @ 같이 URL의 구조를 이루는 문자도 그대로 두기 때문에 주소 전체를 쓸 수 있게 유지합니다.
공백이 +가 아니라 %20이 되는 이유는 무엇인가요?
퍼센트 인코딩에서 공백은 %20으로 적습니다. +는 HTML 폼 데이터(application/x-www-form-urlencoded)에서만 쓰는 방식이며, 이 도구는 그 형식을 만들지 않습니다.
디코딩할 때 잘못된 % 시퀀스라고 나오는 이유는 무엇인가요?
%는 반드시 16진수 두 자리가 뒤따라야 하고, 이어진 바이트가 올바른 UTF-8을 이루어야 합니다. %E0%A4%A 같은 텍스트는 글자 중간에서 끊겨 있어 디코딩할 수 없습니다.
한글 같은 문자는 어떻게 인코딩되나요?
문자가 UTF-8 바이트로 바뀌고 각 바이트가 %XX로 적힙니다. 예를 들어 é는 %C3%A9가 됩니다.
입력한 텍스트가 업로드되나요?
아니요. 인코딩과 디코딩은 브라우저 안에서만 실행되며 텍스트는 서버로 전송되지 않습니다.

마지막 업데이트: