URL 인코딩·디코딩
주소창에서 복사한 링크가 %EC%84%9C%EC%9A%B8처럼 보일 때 원래 한글로 되돌리거나, 쿼리 문자열에 넣을 값을 안전하게 인코딩할 때 사용합니다.
변환은 UTF-8 기준으로 브라우저에서 처리되며 입력 내용은 전송되지 않습니다.
입력한 내용과 파일은 이 브라우저 안에서만 처리되며 서버로 전송되거나 저장되지 않습니다.
사용 방법
- 인코딩 또는 디코딩을 고릅니다.
- 변환 방식(쿼리 값용 또는 전체 URL용)을 선택합니다.
- 변환할 텍스트를 붙여넣습니다. 여러 줄이면 줄별 처리를 켭니다.
- 결과를 복사합니다.
기능과 제한
- 쿼리 값용(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을 그대로 공유해도 되나요?
대부분의 브라우저는 자동으로 인코딩하지만, 일부 메신저나 프로그램에서는 링크가 끊길 수 있어 인코딩된 주소를 쓰는 것이 안전합니다.