MODOO HUB ← 모두의 툴

URL 디코더

퍼센트 인코딩된 URL을 원래 텍스트로 변환

인코딩된 입력
디코딩 결과 복사

URL 디코딩이란?

URL 디코딩은 퍼센트 인코딩된 문자열(%EC%95%88 등)을 사람이 읽을 수 있는 원래 텍스트로 변환하는 과정입니다. 서버 로그 분석, API 응답 디버깅, OAuth 리디렉트 URL 파싱, 브라우저 주소창에서 복사한 URL 해석 등 다양한 상황에서 활용됩니다.

decodeURIComponent vs decodeURI 차이

decodeURIComponent는 %2F(/), %3F(?), %26(&) 등 URL 구조 문자를 나타내는 시퀀스까지 모두 디코딩합니다. 쿼리 파라미터 값을 개별 디코딩할 때 사용합니다. decodeURI는 URL 구조 문자는 그대로 두고 나머지만 디코딩해 URL의 구조를 유지합니다. Auto 모드는 decodeURIComponent를 먼저 시도하고 실패하면 decodeURI로 대체합니다. 두 함수 모두 %XX 시퀀스만 처리하며 "+" 문자는 그대로 두므로, 폼·검색어 인코딩에서 흔한 "+"=공백 표기가 필요하면 하단의 "+ → 공백" 체크박스를 켜세요.

자주 묻는 질문

URL 디코딩이 필요한 상황은?

서버 로그의 퍼센트 인코딩된 쿼리 문자열 읽기, 인코딩된 파라미터가 포함된 API 응답 디버깅, OAuth 흐름의 리디렉트 URL 파싱, 브라우저 주소창에서 복사한 인코딩된 URL 해석 등에 필요합니다.

%20과 %2F는 각각 무엇을 의미하나요?

%20은 공백 문자(ASCII 32 = 16진수 20)를 나타내고, %2F는 슬래시(/)를 나타냅니다. 일반적으로 %XX 시퀀스는 해당 문자의 UTF-8 인코딩에서 16진수 값이 XX인 바이트를 나타냅니다.

decodeURI와 decodeURIComponent의 차이는?

decodeURIComponent는 %2F, %3F, %26 등 URL 구조 문자를 포함한 모든 퍼센트 인코딩 시퀀스를 디코딩합니다. decodeURI는 URL 구조 시퀀스를 그대로 두고 나머지만 디코딩하여 URL 구조를 보존합니다.

잘못된 퍼센트 시퀀스가 있으면 어떻게 되나요?

%GG(비 16진수)나 %2(불완전한 시퀀스)처럼 잘못된 퍼센트 시퀀스는 JavaScript에서 URIError를 발생시킵니다. 이 도구는 오류를 감지하고 대체 디코딩 함수로 재시도한 뒤, 그래도 실패하면 오류 메시지를 표시합니다.

이중 인코딩된 URL은 어떻게 처리하나요?

이중 인코딩된 URL은 %2520처럼 %가 %25로 인코딩된 형태입니다. 완전히 디코딩하려면 디코더를 두 번 실행하세요. 첫 번째 실행에서 %2520 → %20, 두 번째 실행에서 %20 → 공백이 됩니다.

쿼리 문자열의 "+"는 공백으로 바뀌나요?

기본적으로는 아닙니다. decodeURIComponent/decodeURI는 %XX 시퀀스만 디코딩하고 "+" 문자는 그대로 둡니다(폼 검색창에서 복사한 "q=hello+world" 같은 값에서 흔히 발생). 검색창·폼 데이터처럼 "+"가 공백을 의미하는 경우 "+ → 공백" 체크박스를 켜면 디코딩 전에 "+"를 공백으로 먼저 치환합니다. %2B로 이미 인코딩된 "+" 문자는 이 옵션과 무관하게 항상 "+"로 유지됩니다.

URL에서 한글 문자는 어떻게 디코딩되나요?

한글 문자는 UTF-8 바이트 시퀀스를 퍼센트 인코딩한 형태로 표현됩니다. 예를 들어 %EC%95%88%EB%85%95는 '안녕'으로 디코딩됩니다. EC 95 88이 '안'의 UTF-8이고 EB 85 95가 '녕'의 UTF-8이기 때문입니다.

입력한 데이터가 서버로 전송되나요?

아닙니다. 모든 디코딩 처리는 브라우저에서만 이루어집니다. 민감한 URL이나 토큰이 포함된 주소도 안전하게 사용할 수 있습니다.