ByteCompress

URL 디코더

퍼센트 인코딩된 URL과 URI 구성 요소를 사람이 읽을 수 있는 텍스트로 변환합니다. RFC 3986에 따른 %XX 시퀀스와 HTML 양식 제출에서의 + 인코딩된 공백을 처리합니다.

0 chars
FreeClient-sideNo signup

서버 접근 로그, 리디렉션 체인 및 API 오류 메시지는 종종 한눈에 읽을 수 없는 퍼센트 인코딩된 URL을 포함합니다. https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F는 한 번의 붙여넣기로 읽을 수 있게 됩니다. 이 브라우저 기반 디코더는 RFC 3986을 따르며 JavaScript의 decodeURIComponent()를 사용합니다 - 아무것도 업로드되지 않으며, 계정도 필요하지 않습니다. 일반적인 API 디버깅 작업 흐름 분석에서 URL 문자열 디코딩은 사고 조사 중 가장 일반적인 개발자 작업 중 하나입니다.

URL 디코딩 방법

  1. 퍼센트 인코딩된 URL 또는 쿼리 문자열을 입력 필드에 붙여넣습니다.
  2. 디코드를 클릭하거나 실시간 모드를 활성화하여 입력하는 즉시 결과를 확인합니다.
  3. 읽을 수 있는 디코딩된 출력이 결과 패널에 나타납니다.
  4. 분석, 문서화 또는 공유를 위해 디코딩된 텍스트를 복사합니다.

URL 디코딩 이해하기

디코딩되는 내용

디코더는 각 %XX 시퀀스를 해당 헥사 바이트 값의 문자로 대체하여 RFC 3986 퍼센트 인코딩을 역으로 변환합니다. 다중 바이트 유니코드 문자의 경우, 여러 개의 연속된 %XX 시퀀스가 UTF-8 바이트 시퀀스로 함께 디코딩됩니다. 쿼리 문자열의 + 기호는 선택적으로 공백으로 디코딩됩니다 - HTML 양식 제출에서 사용되는 application/x-www-form-urlencoded 규칙입니다.

일반적인 시퀀스와 그 의미

  • %20 → 공백 (RFC 3986 표준)
  • %2B+
  • %2F/
  • %3A:
  • %3D=
  • %26&
  • %40@
  • %23#
  • %C5%9Fş (다중 바이트 UTF-8)
  • %E4%B8%AD (다중 바이트 UTF-8)

예시

입력

https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F

출력

https://example.com/search?q=Hello World!&lang=trüş

일반적인 사용 사례

  • 서버 로그 분석 - 접근 로그에서 쿼리 매개변수 및 참조 URL 읽기
  • 리디렉션 디버깅 - 인증 흐름에서 ?redirect= 또는 ?return_to= 값을 디코딩하기
  • API 테스트 - 네트워크 추적에서 캡처된 요청 URL 디코딩 후 분석하기
  • 분석 검사 - UTM 매개변수 및 추적 URL의 실제 콘텐츠 읽기

일반적인 실수

  • 이중 인코딩된 URL - %2520은 공백이 아닌 %20으로 디코딩됩니다. %25% 자체의 인코딩이므로 두 번 디코딩해야 합니다.
  • 잘못된 + 처리 - +는 양식 데이터에서만 공백을 의미합니다; 경로 세그먼트에서는 +가 리터럴 플러스 기호입니다; 양식 데이터 옵션을 적절히 전환하세요.
  • 비UTF-8 인코딩 - 구형 웹 앱은 ISO-8859-1을 사용할 수 있으며, 이 경우 비ASCII 문자의 디코딩된 출력이 깨져 보일 수 있습니다.

URL을 인코딩하려면 URL 인코더를 사용하세요. URL 쿼리 매개변수에 포함된 JSON을 디코딩하려면 먼저 이 도구를 사용한 후, JSON 검증기로 유효성을 검사하세요. URL에서 발견된 Base64를 디코딩하려면 URL 안전 모드에서 Base64 디코더를 사용하세요.

자주 묻는 질문

URL 디코딩이란 무엇인가요?

URL 디코딩(퍼센트 디코딩)은 RFC 3986에서 정의된 퍼센트 인코딩을 역으로 변환합니다. 각 %XX 시퀀스를 해당 헥사 쌍이 나타내는 실제 바이트로 대체한 후, 바이트 시퀀스를 UTF-8 텍스트로 해석합니다. Hello%20World%21는 Hello World!로 변환됩니다. 이는 %20이 공백(바이트 0x20)의 헥사값이고, %21이 느낌표(바이트 0x21)의 헥사값이기 때문입니다.

왜 디코딩 시 깨진 문자가 발생하나요?

문자가 깨진 출력은 일반적으로 URL이 비UTF-8 문자 집합(예: ISO-8859-1, 구형 웹 앱에서 일반적)으로 인코딩되었거나 데이터가 이중 인코딩되었음을 의미합니다. %2520이 공백이 아닌 %20으로 디코딩되는 경우, URL이 두 번 인코딩된 것입니다. 실제 값을 얻으려면 두 번째로 디코딩하세요.

%20과 +의 공백 차이는 무엇인가요?
%20은 현대 API에서 URL 경로와 쿼리 값에 사용되는 공백에 대한 RFC 3986 표준입니다. + 기호는 application/x-www-form-urlencoded 형식(HTML 양식 제출)에서만 공백을 나타냅니다. 이 디코더는 둘 다 처리합니다: %20은 항상 공백으로 디코딩되고, +는 양식 데이터 모드에서 공백으로 디코딩됩니다.
쿼리 매개변수가 포함된 전체 URL을 한 번에 디코딩할 수 있나요?

네. 스킴, 호스트, 경로 및 쿼리 문자열을 포함한 전체 URL을 붙여넣으세요. 디코더는 모든 퍼센트 인코딩 시퀀스를 한 번에 처리합니다. %2F 및 %3F와 같은 구조적 문자를 디코딩하면 결과 URL이 작동하지 않을 수 있으니, 읽기 전용으로 완전히 디코딩된 버전을 사용하세요.

토큰이나 세션 ID가 포함된 개인 URL에 대해 이 도구는 안전한가요?

네. 디코딩은 JavaScript의 decodeURIComponent()를 사용하여 완전히 클라이언트 측에서 실행됩니다. URL, 인증 토큰, 세션 식별자 및 쿼리 매개변수는 서버에 전송되거나 어디에도 저장되지 않습니다.