처리 범위
쿼리 파라미터와 로그에 인코딩된 한글·특수문자를 읽고, URL 구성 요소에 넣을 텍스트를 안전한 형태로 준비할 수 있습니다.
디코딩 모드에서는 %ED%95%9C%EA%B8%80 같은 URL 인코딩된 문자열을 원래 텍스트로 변환합니다. 인코딩 모드에서는 한글, 특수문자 등을 URL에서 사용 가능한 형태로 변환합니다.
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를 씁니다. 값 안에 &, =, + 같은 문자가 섞이면 쿼리스트링이 깨지기 때문입니다.
Internet Explorer와 오래된 ASP/Java 레거시 시스템에서 사용하던 비표준 방식입니다. RFC 표준이 아니며, decodeURIComponent()로는 디코딩되지 않습니다.
| 방식 | 한글 예시 | 특징 |
|---|---|---|
%XX | %ED%95%9C%EA%B8%80 | RFC 표준, UTF-8 바이트 인코딩 |
%uXXXX | %uD55C%uAE00 | 비표준, IE/레거시, 유니코드 코드포인트 직접 인코딩 |
💡 escape() 함수의 결과가 %uXXXX 형식입니다. 이 함수는 deprecated 상태이므로 새 코드에서는 사용하지 마세요.
URL 디코더 이용 안내
URL 인코딩(%7B%22...)된 문자열을 디코딩하거나, 일반 텍스트를 URL 인코딩하세요.
일반 문자열을 encodeURIComponent 방식의 퍼센트 인코딩으로 바꾸거나 `%EA%B0%80` 같은 값을 원래 UTF-8 문자로 복원합니다.
변환할 일반 텍스트 또는 퍼센트 인코딩 문자열을 붙여 넣으세요.
URL 인코딩과 디코딩 중 필요한 방향을 고르고 전체 주소인지 개별 값인지 확인하세요.
변환된 문자열에서 예약문자와 한글이 예상대로 유지됐는지 확인해 복사하세요.
쿼리 파라미터와 로그에 인코딩된 한글·특수문자를 읽고, URL 구성 요소에 넣을 텍스트를 안전한 형태로 준비할 수 있습니다.
주소 전체를 한꺼번에 인코딩하면 `:`, `/`, `?`, `&` 같은 구분자까지 바뀔 수 있습니다. 전체 URL인지 개별 값인지 구분해 처리하세요.
일반 텍스트를 퍼센트 인코딩으로 바꾸거나 `%EA%B0%80` 같은 문자열을 원문으로 되돌릴 수 있습니다. 한글과 공백이 포함된 값을 주소의 쿼리 파라미터로 전달할 때는 인코딩하고, 로그에서 원문을 읽을 때는 디코딩을 사용하세요.
전체 주소 또는 쿼리 파라미터 값만 입력할 수 있지만, 예약문자까지 변환할지 결과를 확인한 뒤 사용하세요. 일반적으로 `?` 뒤의 개별 값만 처리하면 주소 구조를 유지할 수 있으며 변환 후 실제 링크가 열리는지 확인하세요.
`%` 뒤에 올바른 16진수 바이트가 없는 문자열은 디코딩 오류가 발생할 수 있으므로 원본 값을 확인하세요. 여러 번 인코딩된 값은 한 번 디코딩해도 `%` 문자열이 남을 수 있으므로 원본이 몇 차례 처리됐는지 확인해야 합니다.
변환할 일반 텍스트 또는 퍼센트 인코딩 문자열을 붙여 넣으세요. URL 인코딩과 디코딩 중 필요한 방향을 고르고 전체 주소인지 개별 값인지 확인하세요. 변환된 문자열에서 예약문자와 한글이 예상대로 유지됐는지 확인해 복사하세요.
정렬하거나 검사할 JSON 문자열을 입력란에 붙여 넣으세요. 들여쓰기 정렬, 압축, URL 디코딩 또는 이스케이프 해제 작업을 선택하세요. 구문 오류가 없는 결과를 확인한 뒤 필요한 JSON 형식으로 복사하세요.
변환할 JSON 객체 또는 YAML 문서를 입력란에 붙여 넣으세요. JSON→YAML 또는 YAML→JSON 방향을 선택하고 입력 문법 오류를 수정하세요. 변환 결과의 들여쓰기와 자료형을 검토한 뒤 복사하거나 파일로 저장하세요.