calai
개발자

URL 인코딩·디코딩

URL 특수문자·한글을 % 인코딩 양방향 변환. 쿼리 파라미터·링크 처리 시 필수.

100% 브라우저 처리가입·로그인 불필요영구 무료·워터마크 없음
이렇게 사용해요
  1. 1
    입력 붙여넣기
    JSON·SQL·URL 등 그대로 입력
  2. 2
    실시간 처리
    포맷·변환·검증이 즉시
  3. 3
    복사·다운로드
    결과를 클립보드/파일로
개발자 · 가이드

URL 인코딩 완벽 정리

URL 인코딩(percent encoding)은 URL에 특수문자·한글·공백 등을 안전하게 표현하기 위한 방식입니다. 한글은 UTF-8로 변환된 후 각 바이트가 %XX 형태로 인코딩되며, 공백은 %20 또는 +(쿼리 스트링)로 표현됩니다. RFC 3986에 정의된 표준이며 브라우저·서버가 자동 처리하지만, 직접 URL 만들 때 수동 인코딩이 필요한 경우가 많습니다.

01

계산 공식

예: "안녕" → UTF-8 (E5 88 86 EB 85 95) → %EC%95%88%EB%85%95 공백: %20 (path) 또는 + (query) 예약 문자: ! * ' ( ) ; : @ & = + $ , / ? # [ ] → 인코딩 필요
02

언제 사용하나요

  • 01쿼리 파라미터에 한글·특수문자 포함
  • 02REST API 호출 시 URL path에 동적 값
  • 03OAuth redirect_uri 인코딩
  • 04외부 API 디버깅 (Postman·curl)
03

알아두면 좋은 점

  • JS는 encodeURI(전체 URL) vs encodeURIComponent(파라미터 값만) 구분
  • 쿼리 값은 항상 encodeURIComponent — &·=가 들어가면 파싱 깨짐
  • 한글 도메인은 punycode (xn--로 시작) 별도 변환 — URL 인코딩과 다름
04

자주 묻는 질문

01encodeURI vs encodeURIComponent 차이?

encodeURI는 / : ? & = 등 URL 구조 문자 보존. encodeURIComponent는 모두 인코딩 (파라미터 값에 사용).

02+와 %20 어떤 게 맞나요?

쿼리 스트링은 둘 다 OK (역사적 이유). path는 %20만. 일관성 위해 모두 %20 권장.

03이미 인코딩된 URL을 또 인코딩하면?

이중 인코딩 발생 (%25EC...). 디코딩하면 원본이 안 나옴. encode 전에 항상 raw 상태 확인.

04한글 도메인은 어떻게?

URL 인코딩 X — punycode 변환. 예: 한국.kr → xn--3e0b707e.kr. 브라우저 자동 처리.