URL 인코딩·디코딩 변환기 – 다양한 문자셋·인코딩 방식 지원
텍스트나 URL에 포함된 특수문자, 공백, 비ASCII 문자를 URL 인코딩 또는 디코딩 형식으로 변환할 수 있습니다.
UTF-8을 기본으로 하며, UTF-16, UTF-32, ASCII, ISO-8859 계열, EUC 계열, Shift_JIS 등 30종 이상의 문자셋(Charset)을 선택할 수 있습니다.
인코딩 방식은 Standard, Form, URI, Sitemap 4가지 중 선택할 수 있습니다.
Sitemap Encode는 sitemap.xml의 <loc> 태그에 사용할 수 있도록 URL을 변환합니다.
&, <, >, ', " 같은 XML 예약 문자를 자동으로 처리하므로, 그대로 <loc> 값에 붙여 넣을 수 있습니다.
문자열 데이터를 함께 처리해야 한다면 Base64 인코딩/디코딩 도구나 JSON 포맷터도 함께 사용할 수 있습니다.
URL 인코딩 오류가 자주 발생하는 상황
URL 인코딩 오류는 대부분 3가지 상황에서 발생합니다.
첫째, 인코딩 방식을 잘못 선택했을 때입니다.
폼 전송에 Standard 방식을 쓰거나, sitemap.xml에 일반 인코딩을 적용하면 서버가 데이터를 잘못 읽을 수 있습니다.
둘째, 문자셋이 맞지 않을 때입니다. 발신 측과 수신 측의 문자셋이 다르면 문자가 깨지거나 데이터 손실이 발생합니다.
셋째, 이중 인코딩이 발생했을 때입니다.
이미 인코딩된 URL을 한 번 더 인코딩하면 %가 %25로 바뀌어 링크가 완전히 깨집니다. 중복 인코딩 방지 옵션을 켜두면 이 문제를 예방할 수 있습니다.
인코딩 방식별 차이 – Standard, Form, URI, Sitemap
URL 인코딩에는 목적에 따라 다른 방식을 선택해야 합니다.
- Standard Encode는 공백을
%20으로 변환하는 가장 일반적인 방식입니다. - Form Encode는 HTML 폼 전송 시 사용하는 방식으로 공백을
+로 처리합니다. - URI Encode는 URL 전체 구조를 그대로 두고 경로(path)와 쿼리(query) 부분만 인코딩하므로, 완전한 URL을 변환할 때 적합합니다.
-
Sitemap Encode는 sitemap.xml 전용 방식입니다.
일반 인코딩 도구로 URL을 변환해도&대신&가 그대로 남아 있으면 XML 파서가 오류를 발생시킵니다.
이 방식은&→&,<→<등 XML 예약 문자를 함께 처리하므로 별도 수작업 없이<loc>에 바로 사용할 수 있습니다.
용도에 맞지 않는 방식을 선택하면 서버에서 파라미터를 잘못 해석하거나 링크가 깨질 수 있습니다.
다양한 문자셋 지원 – UTF-8·EUC·Shift_JIS 등
각 문자셋은 문자를 바이트로 변환하는 고유한 규칙을 가지고 있습니다.
문자셋이 다르면 같은 바이트 값이 전혀 다른 문자로 해석되기 때문에 문자가 깨집니다.
웹 표준은 UTF-8을 권장하지만, 오래된 시스템이나 특정 지역 환경에서는 여전히 레거시 문자셋을 사용합니다.
비볼디 변환기는 UTF-8, UTF-16, UTF-32, ASCII, ISO-8859 계열은 물론 EUC 계열, Shift_JIS, GB2312, Big5 등 30종 이상의 문자셋을 지원합니다.
발신 측과 수신 측의 문자셋을 일치시키는 것이 깨짐 없는 데이터 전송의 기본입니다.
API 연동 및 쿼리스트링 작성 시 URL 인코딩
외부 API를 호출할 때 쿼리스트링 파라미터에 특수문자나 공백이 포함되면 요청이 실패할 수 있습니다.
URL 인코딩을 적용하면 서버가 파라미터를 정확하게 해석합니다.
예를 들어 공백은 %20, &는 %26, =는 %3D로 변환됩니다.
이메일에 포함된 링크, SNS 공유 URL, OAuth 콜백 파라미터 등에서도 동일한 원칙이 적용됩니다.
도메인에 비ASCII 문자가 포함된 경우라면 도메인 퓨니코드 변환 도구도 함께 확인해 보세요.
퍼센트 인코딩된 URL 디코딩 및 오류 디버깅
이메일로 받은 링크가 %2F, %3A 같은 문자로 가득 차 보이거나, 브라우저 주소창의 URL을 읽기 어려울 때 디코딩 탭에 붙여 넣으면 원본 텍스트를 바로 확인할 수 있습니다.
개발 환경에서는 서버 로그 분석, API 응답 파싱, 리디렉션 파라미터 확인 시에도 같은 방식으로 사용할 수 있습니다.
앞뒤 공백 제거 토글을 함께 사용하면 복사 과정에서 생긴 불필요한 공백도 처리할 수 있습니다.
텍스트 데이터를 정리한 뒤 줄 단위로 정렬이 필요하다면 텍스트/IP 정렬기를 참고하세요.
자주 묻는 질문
URL 인코딩(퍼센트 인코딩)은 URL에 포함된 공백, 특수문자, 비ASCII 문자를 %와 16진수 숫자 조합으로 변환하는 표준 방식입니다.
웹 주소는 ASCII 문자만 처리하도록 설계되어 있기 때문에, 특수문자나 비ASCII 문자를 그대로 전송하면 서버가 잘못 해석할 수 있습니다.
예를 들어 공백은 %20, &는 %26으로 변환됩니다.
인코딩은 텍스트를 %xx 형식으로 변환하는 과정입니다.
디코딩은 그 반대로, %xx 형식을 사람이 읽을 수 있는 텍스트로 복원합니다.
도구 상단의 탭에서 인코딩과 디코딩을 전환할 수 있습니다.
대부분의 현대 웹 환경에서는 UTF-8을 사용합니다. 전 세계 언어와 특수문자를 모두 처리할 수 있는 표준 문자셋입니다.
레거시 시스템이나 특정 지역 환경에서 운영되는 서비스라면, 해당 시스템이 사용하는 문자셋에 맞게 선택해야 합니다.
문자셋이 일치하지 않으면 문자가 깨질 수 있습니다.
확실하지 않다면 UTF-8을 기본값으로 사용하세요.
sitemap.xml의 <loc> 태그에는 W3C 표준에 따라 인코딩된 URL을 사용해야 합니다.
Sitemap Encode 방식을 선택하면 <loc>에 적합한 형식으로 변환됩니다.
일반 Standard Encode와 달리 & 등 XML 예약 문자를 올바르게 처리합니다.
변환된 URL을 그대로 <loc> 값에 붙여 넣으면 됩니다.
Standard Encode는 공백을 %20으로 처리합니다. REST API 호출이나 URL 직접 조립 시 사용합니다.
Form Encode는 공백을 +로 처리하며, HTML의 application/x-www-form-urlencoded 방식으로 폼 데이터를 전송할 때 사용합니다.
두 방식을 혼용하면 서버에서 공백을 잘못 읽을 수 있으므로, 전송 방식에 맞게 선택하세요.
인코딩 결과가 다르게 나오는 주요 원인은 문자셋과 인코딩 방식의 차이입니다.
같은 문자라도 UTF-8과 레거시 문자셋은 서로 다른 바이트 값을 가집니다. 예를 들어 동일한 문자를 UTF-8과 ISO-8859-1로 각각 인코딩하면 전혀 다른 결과가 나옵니다.
결과를 맞추려면 상대 도구와 동일한 문자셋과 인코딩 방식을 선택하세요.
확실하지 않다면 문자셋 드롭다운을 UTF-8, 인코딩 방식을 Standard Encode로 설정하는 것이 기본값으로 가장 무난합니다.