URL 인코더 / 디코더
최종 수정:
도구 소개
URL 인코더는 URL 안에서 안전하지 않은 문자(공백, &, =, ?, /, 비-ASCII 등)를 %xx 퍼센트 인코딩 이스케이프로 변환합니다. 인코딩 없이 공백이나 앰퍼샌드가 포함된 쿼리 파라미터를 사용하면 URL 구조가 망가집니다. 웹 프레임워크는 보통 자동 처리하지만 문자열 결합으로 URL을 만들 때는 수동으로 인코딩해야 합니다.
사용 방법
- Encode(인코딩) 또는 Decode(디코딩) 모드를 선택합니다.
- URL이나 쿼리 파라미터를 입력란에 붙여넣습니다.
- 입력하는 즉시 결과가 갱신됩니다 — 별도 버튼이 필요 없습니다.
- 인코딩된 문자열을 URL 빌더, fetch 호출, 쿼리 스트링에 사용합니다.
- 헷갈리면 전체 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)으로 디코딩한 경우입니다. 가능하다면 소스를 수정하세요.