URL 인코더/디코더이란?

URL 인코더/디코더는 URL의 특수 문자를 퍼센트 인코딩 형식으로 변환하거나 원래대로 되돌립니다. 쿼리 문자열, API 파라미터, 공백이나 특수 문자가 포함된 URL을 다룰 때 유용합니다.

네 가지 인코딩 모드를 제공합니다. Component 모드(encodeURIComponent)는 슬래시와 & 등 모든 예약 문자를 이스케이프해 쿼리 값 안쪽에 적합합니다. Full URL 모드(encodeURI)는 구조 문자를 그대로 두어 주소 전체가 여전히 파싱되게 합니다. 폼 데이터 모드는 application/x-www-form-urlencoded 전송을 위해 공백을 +로 인코딩합니다. RFC 3986 엄격 모드는 한 걸음 더 나아가 encodeURIComponent가 건너뛰는 하위 구분자 !'()* 까지 이스케이프하므로, 표준을 따르는 어떤 URL 안에도 안전하게 넣을 수 있습니다. Auto-detect는 %XX 시퀀스 유무를 보고 방향을 자동으로 고르고, 실시간을 켜면 입력하는 즉시 변환하며, 재귀 디코딩을 켜면 이중·삼중 인코딩을 남김없이 벗겨내고, 비교 패널은 같은 입력을 네 모드로 한꺼번에 인코딩해 보여 줍니다.

사용 방법

  1. 입력 필드에 URL 또는 텍스트 문자열을 붙여넣으세요.
  2. 인코딩 버튼을 클릭하여 특수 문자를 퍼센트 인코딩 형식으로 변환하거나, 디코딩 버튼으로 원래대로 되돌리세요.
  3. 결과를 클립보드에 복사하거나 스왑 버튼으로 입력과 출력을 교체하세요.

사용 시기

  • 쿼리 문자열을 직접 만들 때 공백, &, = 등을 안전하게 이스케이프.
  • 퍼센트 인코딩된 서버 로그를 읽기 좋은 텍스트로 복원.
  • ASCII 외 문자가 포함된 외국어 URL을 일반 텍스트 메일에 깨뜨리지 않고 붙여 넣기.

결과

개발자가 쿼리 문자열 파라미터에 사용하기 위해 hello world&foo=bar를 hello%20world%26foo%3Dbar로 인코딩합니다.

자주 묻는 질문

encodeURI와 encodeURIComponent는 어떻게 다른가요?
encodeURI는 구조 문자인 /, ?, &, =을 건드리지 않아 URL 전체가 계속 동작합니다. encodeURIComponent는 이 문자들도 모두 이스케이프하므로, 쿼리의 ? 뒤에 들어가는 단일 매개변수 값으로 적합합니다.
왜 디코딩한 문자열에 아직 %20이 남아 있나요?
원문이 이중 인코딩된 경우(한 번 디코딩해도 다시 인코딩된 결과가 나와 한 번 더 디코딩해야 함)거나, +가 공백을 의미하는 폼 인코딩일 수 있습니다. 한 번 더 디코딩하거나, 디코딩 전에 +를 공백으로 바꿔 보세요.
URL에 인코딩 없이 그대로 넣을 수 있는 문자에는 무엇이 있나요?
비예약 문자입니다. A–Z, a–z, 0–9 그리고 하이픈, 밑줄, 점, 물결표 네 가지 기호. 그 밖의 모든 것, 공백·비 ASCII 글자·해당 위치에서 구문상 의미가 없는 예약 문자는 퍼센트 인코딩이 필요합니다.
같은 문자열을 두 번 인코딩하면 망가지나요?
망가집니다. 이중 인코딩은 모든 %를 %25로 바꾸므로 원본을 되살리려면 디코딩을 두 번 해야 합니다. 이미 인코딩되었을 수 있는 다른 시스템의 값을 이어 붙인다면 먼저 한 번 디코딩하거나 상태 플래그를 함께 다루세요.
도구가 한국어·아랍어 같은 유니코드 문자를 지원하나요?
지원합니다. 브라우저 내장 encodeURIComponent는 임의 문자의 UTF-8 바이트 시퀀스를 만든 뒤 각 바이트를 퍼센트로 인코딩합니다. 디코딩은 역방향이라 'café'는 언어와 무관하게 'caf%C3%A9'로 왕복합니다.

관련 도구