MUTools

인코딩 / 디코딩

URL 인코딩 / 디코딩

URL 인코딩 / 디코딩 도구는 텍스트를 URL 인코딩(퍼센트 인코딩) 형식으로 변환하거나, URL 인코딩된 문자열을 원래의 텍스트로 되돌리는 도구입니다. 입력란에 문자를 넣는 순간 실시간으로 결과가 갱신되므로 변환 버튼을 누를 필요가 없습니다.

변환 모드
인코딩 범위
URL 인코딩된 출력
입력하시면 결과가 여기에 표시됩니다

입력 내용은 모두 브라우저 내에서 처리되며 서버로 전송되지 않습니다.

URL 인코딩 / 디코딩 도구란?

URL 인코딩 / 디코딩 도구는 텍스트를 URL 인코딩(퍼센트 인코딩) 형식으로 변환하거나, URL 인코딩된 문자열을 원래의 텍스트로 되돌리는 도구입니다. 입력란에 문자를 넣는 순간 실시간으로 결과가 갱신되므로 변환 버튼을 누를 필요가 없습니다.

URL 인코딩이란 URL로 사용할 수 없는 문자(한국어, 일본어, 스페이스, 기호 등)를 %에 이어지는 2자리 16진수(예: %E3%81%82)로 변환하는 구조입니다. 웹 브라우저나 HTTP 요청이 내부에서 자동으로 수행하므로 평소에 의식할 일은 적지만, API 개발이나 디버깅 시에 수동으로 인코딩, 디코딩하고 싶은 상황은 많습니다.

2가지 인코딩 범위를 선택할 수 있습니다. "쿼리 파라미터용"은 :, /, ?, #, @와 같은 URL의 구분자를 포함한 거의 모든 특수 문자를 인코딩합니다. 쿼리 파라미터의 값으로 삽입하는 문자열이나 URL의 일부로 사용할 임의의 값에 적합합니다. "URL 전체용"은 URL의 구조를 유지하는 구분자(:, /, ?, # 등)는 그대로 두고, 그 외의 비 ASCII 문자 등만 인코딩합니다. 완성된 URL을 깨뜨리지 않고 인코딩하고 싶을 때 사용합니다.

또한 "공백을 +로 표현" 옵션을 켜면 공백 문자를 %20 대신 +로 치환합니다. HTML 폼 전송에서 사용되는 application/x-www-form-urlencoded 형식에 대응하고 싶을 때 편리합니다.

입력한 텍스트나 URL 인코딩 문자열은 모두 사용자의 브라우저 내에서 처리되며, 외부 서버로 전송되지 않습니다. 브라우저만으로 완결됩니다.

사용 방법

  1. 상단의 "변환 모드"에서 "텍스트 → URL" 또는 "URL → 텍스트"를 선택합니다.
  2. "인코딩 범위"에서 "쿼리 파라미터용" 또는 "URL 전체용"을 선택합니다. 일반적으로는 쿼리 파라미터용이 안전합니다.
  3. 입력란에 텍스트 또는 URL 인코딩된 문자열을 입력하거나 붙여넣습니다. 결과란이 실시간으로 갱신됩니다.
  4. 필요에 따라 "공백을 +로 표현" 옵션을 전환합니다(form-encoding 형식 대응).
  5. 결과란 오른쪽 상단의 "복사" 버튼으로 변환 결과를 클립보드에 복사할 수 있습니다.

활용 사례

  • API 요청의 쿼리 파라미터에 한국어나 기호를 포함시킬 때 올바른 인코딩 결과를 간편하게 확인하고 싶을 때.
  • 브라우저 주소창이나 HTTP 요청 로그에 표시된 URL 인코딩된 문자열을 사람이 읽을 수 있는 텍스트로 되돌리고 싶을 때.
  • HTML 폼의 POST 데이터(application/x-www-form-urlencoded) 인코딩과 디코딩을 확인하고 싶을 때.
  • OAuth의 redirect_uri나 서명 대상 문자열의 인코딩이 사양대로인지 검증하고 싶을 때.
  • 외부 서비스에서 받은 URL 인코딩된 파라미터를 디코딩하여 내용을 빠르게 확인하고 싶을 때.

주의사항

  • "쿼리 파라미터용"은 encodeURIComponent와 동등합니다. URL의 구분자(: / ? # @ 등)도 포함하여 인코딩합니다. 쿼리 파라미터의 값이나 임의의 문자열을 URL에 삽입할 때는 이쪽을 사용해 주세요.
  • "URL 전체용"은 encodeURI와 동등합니다. URL의 구조를 깨는 문자(비 ASCII 등)만 인코딩하고, : / ? # 등의 구분자는 유지합니다. 기존 URL 전체를 안전하게 인코딩하고 싶을 때 사용합니다.
  • "공백을 +로 표현"을 활성화하면 인코딩 시 %20을 +로 치환하고, 디코딩 시에는 +를 %20으로 되돌린 뒤 처리합니다. HTML 폼이 application/x-www-form-urlencoded로 전송하는 형식에 대응합니다.
  • 불완전한 %xx 시퀀스(예: %GG나 끝에 %만 있는 경우)를 포함한 문자열을 디코딩하려고 하면 오류 메시지가 표시됩니다. 원래 문자열을 확인해 주세요.
  • 한국어나 이모지를 포함한 텍스트도 그대로 입력할 수 있습니다. 인코딩 시에는 내부적으로 UTF-8 바이트열로 변환한 뒤 퍼센트 인코딩을 적용합니다.

자주 묻는 질문

텍스트나 URL 인코딩된 문자열이 서버로 전송되나요?
전송되지 않습니다. 변환 처리는 모두 사용자의 브라우저 내에서 완결됩니다. 기밀 정보를 포함한 URL이나 파라미터의 확인에도 안심하고 이용할 수 있습니다.
"쿼리 파라미터용"과 "URL 전체용"은 어떻게 구분해서 사용하나요?
URL에 삽입할 개별 값(검색어나 파라미터 값 등)을 인코딩할 경우 "쿼리 파라미터용(encodeURIComponent)"을 선택해 주세요. 완성된 URL 문자열 전체를 안전하게 인코딩하고 싶다면 "URL 전체용(encodeURI)"을 사용합니다. 망설여진다면 쿼리 파라미터용이 안전합니다.
한국어는 어떻게 인코딩되나요?
텍스트를 내부적으로 UTF-8 바이트열로 변환하고 그것을 퍼센트 인코딩합니다. 예를 들어 "가"는 %EA%B0%80가 됩니다.
"공백을 +로 표현"은 어떤 경우에 사용하나요?
HTML 폼의 전송(application/x-www-form-urlencoded 형식)에서는 공백 문자가 +로 전송됩니다. 서버에서 받은 이 형식의 데이터를 디코딩할 때나 폼 데이터를 수동으로 조립할 때 사용해 주세요.
디코딩에서 오류가 표시되었습니다. 어떻게 하면 되나요?
입력한 문자열에 불완전한 %xx 시퀀스(예: % 뒤에 1글자밖에 없거나, %GG와 같은 16진수가 아닌 문자가 이어지는 등)가 포함되어 있을 수 있습니다. 원래 문자열을 잘 확인한 뒤 다시 입력해 주세요.