KO

URL 인코더 / 디코더

URL 인코딩이란?

URL 인코딩(공식 명칭은 퍼센트 인코딩, RFC 3986에 정의)은 URL에서 안전하지 않거나 예약된 문자를 % 뒤에 두 자리 16진수를 붙여 변환합니다. 공백은 %20, &는 %26, =는 %3D, ?는 %3F가 됩니다. 이를 통해 쿼리 파라미터, 경로 세그먼트, 프래그먼트 식별자에 특수 문자가 포함되어도 URL의 구조적 유효성이 유지됩니다. 비예약 문자(문자, 숫자, -, _, ., ~)를 제외한 모든 문자는 표준 URL에서 퍼센트 인코딩되어야 합니다.

URL 인코딩은 API 요청 생성, 쿼리 문자열 파싱, 리다이렉트 URL 구성, 웹 애플리케이션에서 사용자 입력 처리 시 필수입니다. 흔한 버그 중 하나는 URL에 특수 문자를 그대로 삽입하는 것입니다: 쿼리 파라미터 값 안의 &가 파라미터 구분자로 파싱되어 URL 구조가 깨집니다. 검색 쿼리, 토큰, 공백이 있는 파일명, 사용자 생성 텍스트는 URL에 삽입하기 전에 반드시 인코딩해야 합니다.

이 도구는 RFC 3986 규격의 encodeURIComponent / decodeURIComponent 함수를 사용하며, A–Z, a–z, 0–9, -, _, ., ~ 를 제외한 모든 문자를 인코딩합니다. 참고: encodeURIComponent는 슬래시(/)도 인코딩하므로 전체 URL이 아닌 개별 쿼리 파라미터 값 인코딩에 적합합니다. 구조를 유지하면서 전체 URL을 인코딩하려면 :, /, ?, # 등의 구조 문자를 보존하는 encodeURI를 사용하세요. 모든 처리는 브라우저에서 로컬로 수행됩니다.

자주 묻는 질문

URL 인코딩이란 무엇인가요?
URL 인코딩(퍼센트 인코딩)은 안전하지 않은 문자를 % 뒤에 두 자리 16진수를 붙여 변환합니다. 예를 들어 공백은 %20, &는 %26, =는 %3D가 되어 URL의 구조적 유효성을 유지합니다.
URL 값을 인코딩해야 하는 이유는 무엇인가요?
URL에는 허용되는 문자가 제한됩니다. 쿼리 파라미터에 &, =, ?, #, 공백이 포함된 경우 반드시 인코딩해야 합니다. 그렇지 않으면 URL 구조가 깨지고 데이터가 손상됩니다.
퍼센트 인코딩된 URL을 디코딩하려면 어떻게 하나요?
인코딩된 URL 또는 값을 입력 필드에 붙여넣고 디코딩을 선택하세요. 도구가 모든 %XX 시퀀스를 원래의 읽기 쉬운 문자로 변환합니다.
이 도구가 인코딩하는 문자는 무엇인가요?
영문자(A–Z, a–z), 숫자(0–9), 하이픈(-), 밑줄(_), 마침표(.), 물결표(~)를 제외한 모든 문자가 인코딩됩니다. 이는 RFC 3986에서 항상 URL에 안전한 비예약 문자로 정의된 것들입니다.
공백에 대해 %20과 +의 차이는 무엇인가요?
%20은 공백의 표준 퍼센트 인코딩(RFC 3986)입니다. + 기호는 application/x-www-form-urlencoded 형식(HTML 폼 제출)에서만 공백을 의미합니다. 현대 URL과 API에서는 %20이 선호되며 모호성이 없습니다.
URL 쿼리 파라미터 값을 어떻게 인코딩하나요?
전체 URL이 아닌 파라미터 값만 인코딩하세요. 예를 들어 값이 "hello world"라면 "hello%20world"로 인코딩한 후 URL에 추가합니다. 전체 URL을 인코딩하면 ://와 구조적 슬래시도 인코딩되어 URL이 깨집니다.
URL에서 %3D는 무엇을 의미하나요?
%3D는 = 문자의 퍼센트 인코딩 형식입니다. 쿼리 문자열에서 =는 파라미터 이름과 값을 구분(key=value)하므로, 파라미터 값 안에 = 가 있으면 모호함을 피하기 위해 %3D로 인코딩해야 합니다.