URL 인코더 / 디코더

최종 수정:

도구 소개

URL 인코더는 URL 안에서 안전하지 않은 문자(공백, &, =, ?, /, 비-ASCII 등)를 %xx 퍼센트 인코딩 이스케이프로 변환합니다. 인코딩 없이 공백이나 앰퍼샌드가 포함된 쿼리 파라미터를 사용하면 URL 구조가 망가집니다. 웹 프레임워크는 보통 자동 처리하지만 문자열 결합으로 URL을 만들 때는 수동으로 인코딩해야 합니다.

사용 방법

  1. Encode(인코딩) 또는 Decode(디코딩) 모드를 선택합니다.
  2. URL이나 쿼리 파라미터를 입력란에 붙여넣습니다.
  3. 입력하는 즉시 결과가 갱신됩니다 — 별도 버튼이 필요 없습니다.
  4. 인코딩된 문자열을 URL 빌더, fetch 호출, 쿼리 스트링에 사용합니다.
  5. 헷갈리면 전체 URL이 아니라 쿼리 파라미터 각각만 인코딩하세요.

주요 사용 사례

  • 공백이나 특수문자를 포함하는 검색 URL 구성
  • 다른 URL을 파라미터로 전달하는 리다이렉트 URL 생성
  • 경로에 비-ASCII 텍스트(한국어, 일본어, 이모지)를 포함하는 딥 링크 구성
  • 파라미터가 이중 URL 인코딩된 웹훅 페이로드 디코딩
  • 서드파티 콜백 URL이 제대로 이스케이프됐는지 점검
  • URL에 넣기 전 base64 문자열 인코딩 (+ 와 / 가 안전하지 않음)

자주 묻는 질문

Q. encodeURI와 encodeURIComponent의 차이는?

A. encodeURI는 URL 예약 문자(: / ? & =)를 그대로 둡니다 — 전체 URL에 사용. encodeURIComponent는 이들도 모두 이스케이프합니다 — 개별 파라미터 값에 사용.

Q. 공백이 어떨 때는 +, 어떨 때는 %20인 이유는?

A. +는 레거시 x-www-form-urlencoded(쿼리 스트링에서 여전히 사용), %20은 URL 경로의 표준 퍼센트 인코딩입니다. 서버는 보통 쿼리 스트링에서 둘 다 허용합니다.

Q. 비-ASCII 문자도 반드시 인코딩해야 하나요?

A. 호환성을 위해 권장합니다. 최신 브라우저는 주소창에 유니코드를 표시하지만 실제 요청은 UTF-8 퍼센트 인코딩으로 전송합니다.

Q. 디코딩 결과가 이상한 문자가 됩니다.

A. 대개 문자 집합 불일치입니다 — URL이 한 인코딩(예: latin-1)으로 인코딩됐는데 다른 인코딩(UTF-8)으로 디코딩한 경우입니다. 가능하다면 소스를 수정하세요.