유틸리티

URL 인코딩·디코딩이란? 한글 URL 깨짐 해결하는 법

링크를 공유했는데 한글 부분이 %ED%95%9C%EA%B5%AD 같은 문자로 바뀌어 있다. 깨진 게 아니라 인코딩된 것이다. 하지만 원래 어떤 텍스트였는지 알아보려면 디코딩이 필요하다.

URL 인코딩이 뭔가

URL에는 영문, 숫자, 일부 특수문자만 들어갈 수 있다. 한글이나 공백 같은 문자는 브라우저가 자동으로 퍼센트(%) 기호와 16진수 조합으로 바꿔서 전송한다. 이 과정이 URL 인코딩이다.

예시
원본: https://example.com/검색?q=서울 날씨
인코딩 후: https://example.com/%EA%B2%80%EC%83%89?q=%EC%84%9C%EC%9A%B8%20%EB%82%A0%EC%94%A8

인코딩·디코딩이 필요한 상황

  • API 파라미터 전달 — 검색어에 한글이나 특수문자가 포함될 때 인코딩하지 않으면 서버가 값을 잘못 해석한다.
  • 공유 링크 원본 확인 — 받은 URL이 인코딩되어 있어서 내용을 알 수 없을 때 디코딩으로 원본을 확인한다.
  • 리다이렉트 URL 디버깅 — 리다이렉트 경로에 포함된 인코딩 값을 풀어야 어디로 이동하는지 파악할 수 있다.
  • 마케팅 UTM 파라미터 — 캠페인 이름에 한글이 들어가면 인코딩된 상태로 전달된다.

URL 인코딩·디코딩 방법

URL 인코딩 변환기에 텍스트를 넣고 인코딩 또는 디코딩 버튼을 누르면 변환 결과가 바로 나온다. encodeURIComponent 옵션을 켜면 슬래시(/)나 물음표(?) 같은 문자까지 전부 인코딩해준다.

  1. 인코딩 모드에서 한글 URL이나 파라미터를 입력한다.
  2. 변환 결과를 복사해서 코드나 링크에 사용한다.
  3. 디코딩이 필요하면 모드를 전환하고 인코딩된 문자열을 넣으면 원본이 나타난다.

한글 URL이 깨져 보일 때 당황할 필요 없다. 디코딩 한 번이면 원본을 바로 확인할 수 있다.