본문으로 건너뛰기
공시맵 툴즈

URL 인코딩·디코딩

주소창에서 복사한 링크가 %EC%84%9C%EC%9A%B8처럼 보일 때 원래 한글로 되돌리거나, 쿼리 문자열에 넣을 값을 안전하게 인코딩할 때 사용합니다.

변환은 UTF-8 기준으로 브라우저에서 처리되며 입력 내용은 전송되지 않습니다.

입력한 내용과 파일은 이 브라우저 안에서만 처리되며 서버로 전송되거나 저장되지 않습니다.

사용 방법

  1. 인코딩 또는 디코딩을 고릅니다.
  2. 변환 방식(쿼리 값용 또는 전체 URL용)을 선택합니다.
  3. 변환할 텍스트를 붙여넣습니다. 여러 줄이면 줄별 처리를 켭니다.
  4. 결과를 복사합니다.

기능과 제한

  • 쿼리 값용(encodeURIComponent)은 & = ? / 같은 구분 문자까지 인코딩하므로 파라미터 값 하나를 넣을 때 적합합니다.
  • 전체 URL용(encodeURI)은 :, /, ?, & 등 URL 구조를 이루는 문자는 그대로 두고 한글과 공백 등만 인코딩합니다.
  • '줄별 처리'를 켜면 각 줄을 따로 변환하므로 URL 목록을 한 번에 처리할 수 있습니다.
  • '공백을 +로' 옵션은 HTML 폼 방식처럼 공백을 +로 인코딩하고, 디코딩할 때 +를 공백으로 바꿉니다.
  • 잘못된 % 표기가 있으면 디코딩 오류와 함께 문제가 있는 줄을 알려 줍니다.

자주 묻는 질문

encodeURI와 encodeURIComponent는 무엇이 다른가요?

encodeURI는 URL 전체를 대상으로 하여 / ? & 같은 구조 문자를 남겨 두고, encodeURIComponent는 이 문자들까지 인코딩합니다. 쿼리 값 하나를 넣을 때는 encodeURIComponent를 써야 값 안의 &가 파라미터 구분자로 오해되지 않습니다.

공백은 %20과 + 중 무엇으로 인코딩해야 하나요?

URL 경로에는 %20을 쓰고, HTML 폼 데이터(application/x-www-form-urlencoded)에서는 +를 씁니다. 받는 쪽 형식에 맞춰 옵션을 고르세요.

URI malformed 오류가 나는 이유는 무엇인가요?

%뒤에 올바른 16진수 두 자리가 오지 않거나 UTF-8로 해석할 수 없는 바이트 조합이 있을 때 발생합니다. 이 도구는 오류가 있는 줄을 표시해 줍니다.

한글이 포함된 URL을 그대로 공유해도 되나요?

대부분의 브라우저는 자동으로 인코딩하지만, 일부 메신저나 프로그램에서는 링크가 끊길 수 있어 인코딩된 주소를 쓰는 것이 안전합니다.