🔗
변환
URL 디코더 / 인코더
URL 인코딩된 문자열을 디코딩하거나, 일반 텍스트를 URL 인코딩하세요.
공유하기
공유하기
사용법
디코딩 모드에서는 %ED%95%9C%EA%B8%80 같은 URL 인코딩된 문자열을 원래 텍스트로 변환합니다. 인코딩 모드에서는 한글, 특수문자 등을 URL에서 사용 가능한 형태로 변환합니다.
encodeURI vs encodeURIComponent
encodeURI — 전체 URL 인코딩
URL 구조를 유지하면서 인코딩합니다. / ? : @ & = + $ # 같은 URL 구분자는 그대로 둡니다.
encodeURI('https://ex.com/path?name=홍길동')
// → 'https://ex.com/path?name=%ED%99%8D...'
// ↑ : // . / ? = 는 그대로, 한글만 인코딩완성된 URL 전체를 그대로 인코딩할 때 사용
encodeURIComponent — 쿼리스트링 값 인코딩
URL 구분자(& = + ? /)까지 모두 인코딩합니다. 값 내부의 특수문자가 URL 구조를 깨뜨리지 않도록 보호합니다.
encodeURIComponent('a=1&b=2')
// → 'a%3D1%26b%3D2'
// ↑ = 와 & 까지 인코딩됨쿼리스트링 값 하나를 인코딩할 때 사용
| 상황 | 사용 함수 |
|---|---|
| URL 전체를 그대로 전달 | encodeURI |
| 쿼리스트링 값 하나 인코딩 | encodeURIComponent |
| API에 URL을 파라미터로 전달 | encodeURIComponent |
fetch('/api?url=' + someUrl) | encodeURIComponent(someUrl) |
💡 대부분의 실무에서는 encodeURIComponent를 씁니다. 값 안에 &, =, + 같은 문자가 섞이면 쿼리스트링이 깨지기 때문입니다.
%uXXXX — 비표준 유니코드 인코딩
Internet Explorer와 오래된 ASP/Java 레거시 시스템에서 사용하던 비표준 방식입니다. RFC 표준이 아니며, decodeURIComponent()로는 디코딩되지 않습니다.
| 방식 | 한글 예시 | 특징 |
|---|---|---|
%XX | %ED%95%9C%EA%B8%80 | RFC 표준, UTF-8 바이트 인코딩 |
%uXXXX | %uD55C%uAE00 | 비표준, IE/레거시, 유니코드 코드포인트 직접 인코딩 |
💡 escape() 함수의 결과가 %uXXXX 형식입니다. 이 함수는 deprecated 상태이므로 새 코드에서는 사용하지 마세요.