TOOLHUB

URL 인코더 / 디코더

한글이나 특수문자가 포함된 URL을 encodeURIComponent 방식으로 양방향 변환합니다.

encodeURIComponent vs encodeURI

본 도구는 encodeURIComponent를 사용합니다. 쿼리스트링 값·경로 세그먼트 등 특정 부분을 인코딩할 때 적합하며,:/?# 같은 URL 구분자도 모두 변환합니다.

전체 URL을 그대로 인코딩하려면 encodeURI가 적절하지만, 쿼리값/경로 조각은 반드시 encodeURIComponent로 처리해야 안전합니다.

사용 방법

인코딩할 텍스트나 URL을 입력창에 붙여 넣으면 퍼센트 인코딩된 결과가 즉시 나타납니다. 반대로 %ED%95%9C%EA%B8%80처럼 인코딩된 문자열을 입력하면 디코딩된 원문으로 복원됩니다. 변환 결과는 복사 버튼으로 바로 클립보드에 저장할 수 있습니다.

encodeURIComponent와 encodeURI의 차이

JavaScript에는 두 가지 URL 인코딩 함수가 있습니다.

  • encodeURI: URL 전체 구조를 유지하기 위해 :, /,?, =, & 등 예약 문자를 인코딩하지 않습니다. 주소 전체를 그대로 전달할 때 씁니다.
  • encodeURIComponent: 예약 문자를 포함한 거의 모든 특수문자를 인코딩합니다. 쿼리스트링 파라미터 값처럼 URL 일부분만 인코딩할 때 적합합니다.

이 도구는 encodeURIComponent 방식을 사용하므로 한글, 공백, 특수문자가 포함된 파라미터 값을 안전하게 변환할 수 있습니다.

자주 묻는 질문

Q. 한글은 왜 여러 글자로 늘어나나요?

한글은 UTF-8 기준으로 한 글자가 3바이트로 표현됩니다. URL 인코딩은 각 바이트를%XX 형식으로 나타내므로 한 글자가 9자(%XX%XX%XX)로 늘어납니다. 이는 정상적인 동작입니다.

Q. 공백은 %20과 + 중 어느 것으로 인코딩되나요?

encodeURIComponent는 공백을 %20으로 변환합니다. 반면 HTML 폼이 GET 방식으로 전송될 때는 공백이 +로 인코딩되는 경우도 있습니다. 이 도구는 %20 방식을 사용합니다.

Q. 전체 URL을 붙여 넣으면 안 되나요?

encodeURIComponenthttps://의 슬래시나 콜론도 인코딩하므로 URL 전체를 넣으면 링크가 깨질 수 있습니다. 파라미터 값 부분만 따로 인코딩하는 것을 권장합니다.