~/devtools / url
tool::url

URL
인코더

URL 문자열을 인코딩하거나 디코딩합니다. encodeURIComponent(모두 인코딩)와 encodeURI(URL 구조 유지) 중 선택하세요.

ad · 728×90
입력
출력
// encodeURI vs encodeURIComponent
encodeURIComponentA-Z a-z 0-9 - _ . ! ~ * ' ( ) 를 제외한 모든 문자를 인코딩
encodeURIURL 구조 문자 유지: : / ? # [ ] @ ! $ & ' ( ) * + , ; =
디코딩decodeURIComponent — %XX 시퀀스를 모두 디코딩
ad · 300×250
// about this tool

URL 인코딩이란?

URL에는 사용 가능한 문자 범위에 제한이 있습니다. 한글, 특수문자, 공백 등 ASCII 범위를 벗어나는 문자는 %XX 형식의 퍼센트 인코딩으로 변환해야 URL에 안전하게 포함할 수 있습니다.

JavaScript에는 두 가지 인코딩 함수가 있습니다. encodeURIComponent는 URL 구조 문자(:, /, ?, # 등)를 포함한 거의 모든 특수문자를 인코딩하며, 쿼리 파라미터 값에 적합합니다. encodeURI는 URL 전체 구조를 유지하며 인코딩합니다.

이 도구는 encodeURIComponent, encodeURI, 디코딩 세 가지 모드를 지원합니다. API 쿼리 파라미터 생성, URL 디버깅, 한글 포함 URL 처리 등 다양한 상황에 활용할 수 있습니다.

주요 사용 사례
  • 한글, 일본어 등 비ASCII 문자를 URL 쿼리 파라미터에 포함
  • API 요청의 URL 파라미터 인코딩 오류 디버깅
  • 이메일 링크나 공유 URL의 특수문자 처리
  • 퍼센트 인코딩된 URL을 사람이 읽기 쉽게 디코딩
  • OAuth redirect_uri 파라미터 등 중첩 URL 인코딩
자주 묻는 질문
Q. encodeURIComponent와 encodeURI의 차이는?
encodeURIComponent는 URL 구조 문자(:, /, ?, #, =, & 등)도 인코딩합니다. 쿼리 파라미터 값에 사용하세요. encodeURI는 이 문자들을 그대로 두어 URL 전체를 인코딩할 때 적합합니다.
Q. 공백은 %20과 + 중 어느 것으로 인코딩되나요?
encodeURIComponent는 공백을 %20으로 인코딩합니다. HTML 폼 제출(application/x-www-form-urlencoded)에서는 공백이 +로 인코딩됩니다. 대부분의 API에서는 %20을 사용하는 것이 안전합니다.
Q. 이미 인코딩된 URL을 한 번 더 인코딩하면?
%가 %25로 이중 인코딩되어 URL이 깨질 수 있습니다. 디코딩 모드를 먼저 사용해 현재 상태를 확인하고, 필요한 경우에만 재인코딩하세요.