모든 도구

URL 인코더/디코더

URL 특수문자를 인코딩하거나 디코딩합니다.

encodeURIComponent: 쿼리 파라미터 값 인코딩에 적합

encodeURI: 전체 URL 인코딩 (:/? 등 보존)

🔗 URL 인코딩이란?

URL 인코딩(Percent-encoding)은 URL에서 사용할 수 없는 문자를 %XX 형식으로 변환하는 표준 방식입니다. 한글, 공백, 특수문자 등이 포함된 URL을 안전하게 전송하기 위해 사용됩니다. RFC 3986 표준에 따라 예약 문자와 비ASCII 문자를 UTF-8 바이트 시퀀스로 변환한 후 각 바이트를 %HH 형식으로 표현합니다. 웹 개발에서 가장 기본적인 인코딩 방식 중 하나입니다.

⚙️ encodeURI vs encodeURIComponent

encodeURIComponent (권장)

쿼리 파라미터 값을 인코딩할 때 사용합니다. =, &, ?, /, : 등 URL 구분자까지 모두 인코딩하므로 파라미터 값에 특수문자가 포함되어도 안전합니다.

?name=encodeURIComponent("홍길동&친구")

encodeURI (전체 URL)

전체 URL을 인코딩할 때 사용합니다. :, /, ?, #, & 등 URL 구조에 필요한 문자는 보존하고 나머지만 인코딩합니다.

encodeURI("https://example.com/검색?q=테스트")

자주 묻는 질문

URL 인코딩은 왜 필요한가요?

URL은 ASCII 문자만 허용합니다. 한글, 공백, 특수문자를 URL에 포함하려면 %XX 형식으로 변환해야 브라우저와 서버가 올바르게 해석할 수 있습니다.

공백은 +로 인코딩되나요, %20으로 인코딩되나요?

encodeURIComponent는 공백을 %20으로 인코딩합니다. +는 application/x-www-form-urlencoded 형식(HTML 폼)에서만 사용됩니다.

한글 URL이 깨져 보이는 이유는?

한글은 UTF-8로 인코딩되면 한 글자당 3바이트(%XX%XX%XX)로 변환됩니다. 예를 들어 "가"는 %EA%B0%80이 됩니다.

관련 도구