입력 내용은 어디에도 전송되지 않습니다 — 100% 내 기기에서 처리

URL 인코딩 · 디코딩

한글 주소, 쿼리 값을 퍼센트 인코딩으로 변환하거나 되돌립니다.

업로드 0 B — 이 페이지는 입력 내용을 서버로 보내지 않았습니다?

입력한 내용도 파일도 어디에도 전송되지 않습니다 — 모든 처리가 이 페이지 안에서 끝나고, 서버로 내보내는 통신 자체가 없습니다.

다른 변환 사이트는 입력한 내용이나 파일을 서버로 보내서 처리합니다. 처리 뒤 지운다고 안내해도 그때까지는 남의 서버에 남아 있습니다. 여기에는 보내는 단계 자체가 없습니다. 비밀번호·계약 문구·개인 메모처럼 새어 나가면 곤란한 내용일수록 이 차이가 큽니다. 직접 확인하는 방법 →

한글·공백·기호가 섞인 값을 주소에 안전하게 넣고, 깨진 주소를 다시 읽기

한글 검색어가 들어간 링크를 복사하면 %EA%B2%80처럼 알아보기 어려운 문자열이 붙어 나옵니다. 이 도구는 글자를 이런 퍼센트 표기로 바꾸는 인코딩과, 퍼센트 표기를 원래 글자로 되돌리는 디코딩을 양방향으로 처리합니다. 값 하나용과 주소 전체용 방식 중에서 고를 수 있습니다.

조금 더 자세히

URL에는 영문자, 숫자와 몇몇 기호만 그대로 쓸 수 있습니다. 나머지 글자는 UTF-8 바이트로 바꾼 뒤 한 바이트마다 %와 16진수 두 자리로 적습니다. 한글 한 글자는 3바이트라 "한"은 %ED%95%9C 아홉 글자가 되고, 공백은 %20, 4바이트인 이모지는 열두 글자가 됩니다. ?, &, =, #, / 같은 기호는 주소에서 구분자 역할을 하므로 값 안에 있으면 인코딩해야 주소가 엉뚱한 곳에서 잘리지 않습니다.

선택 상자의 encodeURIComponent (값·파라미터용)는 영문·숫자와 - _ . ~ 같은 몇몇 기호만 남기고 구분자까지 모두 인코딩합니다. encodeURI (전체 URL용)는 주소의 뼈대를 이루는 ; , / ? : @ & = + $ #는 그대로 두고 한글과 공백 같은 글자만 바꿉니다. 디코딩은 선택과 관계없이 모든 퍼센트 표기를 되돌리며, 웹 폼이 공백을 +로 보내는 관례에 맞춰 +도 공백으로 읽습니다. 디코딩은 UTF-8 기준으로만 이루어집니다.

이렇게 쓰세요

이럴 때 유용해요

검색 링크 만들기"강남역 맛집&주차" 같은 검색어를 값 하나 방식으로 인코딩해 ?q= 뒤에 붙이면 & 위치에서 주소가 끊기지 않습니다.
로그인 연동의 redirect_uri다른 주소를 파라미터 값으로 넘길 때는 https://까지 통째로 값 하나 방식으로 인코딩해야 그 주소의 ?와 &가 바깥 주소와 섞이지 않습니다.
로그 속 주소 읽기서버 로그나 분석 도구에 %EC%9D%B4처럼 찍힌 경로를 디코딩해 방문자가 실제로 연 한글 주소를 확인합니다.
한글 파일 링크 공유한글 파일명이 든 다운로드 주소를 encodeURI로 바꿔 두면 메신저에서 링크가 중간에 끊기는 일이 줄어듭니다.

자주 막히는 지점

"올바른 퍼센트 인코딩이 아닙니다"라는 오류가 납니다.흔한 경우는 두 가지입니다. "50% 할인"처럼 인코딩되지 않은 % 기호가 섞였거나, 옛 한국 사이트가 쓰던 EUC-KR 방식 주소(예: %C7%D1%B1%DB)입니다. 이 도구는 UTF-8로만 디코딩하므로 EUC-KR 주소는 되돌릴 수 없습니다.
디코딩했는데 %25가 섞여 나옵니다.이미 인코딩된 문자열을 한 번 더 인코딩한 이중 인코딩입니다. %가 %25로 바뀐 상태이니 결과를 아래 칸에 다시 붙여넣고 한 번 더 디코딩하세요.
+ 기호가 공백으로 바뀌었습니다.디코딩은 +를 공백으로 읽습니다. 전화번호의 +82나 C++처럼 인코딩되지 않은 +가 있던 문자열이라면 결과에서 그 자리를 직접 고치세요. 인코딩할 때는 값 하나 방식이 +를 %2B로 바꿔 이런 혼동을 막습니다.
encodeURI로 바꿨는데 파라미터가 엉뚱하게 나뉩니다.encodeURI는 &와 =를 건드리지 않으므로 값 안의 &가 새 파라미터의 시작으로 읽힙니다. 주소 뼈대는 그대로 두고 각 값만 encodeURIComponent로 따로 인코딩해 이어 붙이세요.

팁 헷갈릴 때는 주소 전체가 아니라 = 뒤에 들어갈 값만 떼어 encodeURIComponent로 바꾸면 대부분의 깨짐을 막을 수 있습니다.

안내

component와 URI의 차이는?

encodeURIComponent는 ?, &, = 같은 구분자까지 전부 인코딩해서 쿼리 값 하나를 넣을 때 사용합니다. encodeURI는 URL 구조를 유지한 채 한글·공백만 인코딩해서 전체 주소를 변환할 때 사용합니다.