URL 인코딩·디코딩
메신저로 보낸 주소가 %EC%95%88…처럼 길게 깨졌을 때 ‘디코딩’에 붙여넣으세요.
URL 인코딩, 한글이 %XX로 바뀌는 원리
이럴 때 써요
메신저로 받은 링크가 ‘%ED%99%8D…’로 길게 이어져 어떤 페이지인지 알 수 없을 때, 검색 결과 주소에서 무슨 검색어를 썼는지 확인할 때, 한글이 들어간 값을 주소나 API 요청에 넣어야 할 때, 오래된 한국 사이트 주소가 깨져 보일 때 써요. 주소를 열지 않고 글자만 바꾸기 때문에, 출처가 확실하지 않은 링크의 내용을 안전하게 들여다보는 데도 좋아요.
사용 방법

1단계주소나 글 넣기
- 1① 주소나 글을 붙여 넣어요. 여러 줄이면 줄마다 따로 바꿔요.
- 2② 예시 주소가 ‘https://search.example.com/?q=홍라이프 도구&page=2’로 풀렸어요.

2단계방향과 문자 방식 고르기
- 3③ 디코딩, 값 전체 인코딩, 주소 모양 유지 인코딩 가운데 골라요.
- 4④ 자동은 UTF-8로 먼저 풀어 보고, 맞지 않는 바이트가 나오면 그 묶음을 EUC-KR로 다시 풀어요.
- 5⑤ 어느 방식으로 풀었는지 알려 주고, 첫 줄의 ? 뒤 값을 이름과 값으로 나눠 표로 보여 줘요. 예시는 q = 홍라이프 도구, page = 2예요.
%XX가 만들어지는 방법
컴퓨터는 글자를 바이트(0~255 숫자) 묶음으로 저장해요. 주소에 그대로 쓸 수 없는 글자는 바이트 하나하나를 % 뒤에 16진수 두 자리로 적어요. 그래서 같은 ‘홍’이라도 어떤 문자 방식으로 바이트를 만들었는지에 따라 %XX의 개수가 달라져요.
디코딩할 때는 이어진 %XX를 한 묶음으로 모아 한꺼번에 글자로 되돌려요. 중간에 %가 아닌 글자가 나오면 거기서 묶음을 끊고 그대로 옮겨 적어요. % 뒤에 16진수 두 자리가 오지 않으면 그 %는 보통 글자로 둬요.
두 가지 인코딩의 차이
| 넣은 글 | 값 전체 | 주소 모양 유지 |
|---|---|---|
| 홍라이프 도구?a=1&b=2 | %ED%99%8D…%EA%B5%AC%3Fa%3D1%26b%3D2 | %ED%99%8D…%EA%B5%AC?a=1&b=2 |
| 빈칸 | %20 | %20 |
| / ? & = # | 모두 %XX로 | 그대로 |
값 전체는 영문·숫자와 - _ . ! ~ * ' ( ) 만 남기고 모두 바꿔서, 검색어처럼 주소 한 칸에 들어갈 값을 만들 때 써요. 주소 모양 유지는 주소의 뼈대가 되는 기호를 살려 두기 때문에 주소 전체를 넣을 때 써요. 값 하나에 & 나 = 가 들어 있다면 값 전체 인코딩을 써야 다른 파라미터와 섞이지 않아요.
자동 판별이 고르는 방법
UTF-8은 바이트를 묶는 규칙이 엄격해서, 묶음이 규칙에 맞지 않으면 UTF-8이 아니라고 알 수 있어요. 자동 모드는 이 점을 이용해 UTF-8로 엄격하게 읽어 보고, 실패할 때만 EUC-KR로 읽어요. 다만 EUC-KR 바이트가 우연히 UTF-8 규칙에도 맞으면 UTF-8로 풀려 버려요. 예를 들어 EUC-KR ‘홍’인 %C8%AB 하나만 넣으면 UTF-8의 두 바이트 글자 ‘ȫ’로 풀리고 안내 줄에는 ‘UTF-8 방식으로 풀었어요’가 떠요. 결과가 이런 낯선 글자로 나오면 문자 방식을 EUC-KR로 직접 바꿔 보세요. 한글이 여러 글자 이어진 긴 주소일수록 자동 판별이 잘 맞아요.
주의할 점
- + 는 빈칸으로 풀어요 — 검색창 주소는 빈칸을 +로 적는 경우가 많아서 기본으로 켜 두었어요. 값 안에 진짜 + 기호가 들어 있는 주소라면 이 옵션을 끄고 푸세요.
- EUC-KR에 없는 글자 — EUC-KR 인코딩을 고르면 그 표에 없는 글자(일부 옛 한글, 이모지 등)는 UTF-8 방식으로 대신 바꿔요.
- 결과를 다시 입력으로 — 두 번 인코딩된 주소(%25ED…)는 한 번 푼 결과를 입력으로 올려 한 번 더 풀어야 해요.
더 궁금한 점
파라미터 표는 인코딩할 때도 나오나요?
나와요. 인코딩 결과의 첫 줄에 ?가 있으면 그 뒤를 풀어서 보여 주기 때문에, 바꾼 주소에 원하는 값이 제대로 들어갔는지 확인할 수 있어요.
결과를 브라우저 주소창에 붙여도 되나요?
풀어 낸 한글 주소도 대부분의 브라우저가 알아서 다시 인코딩해 열어요. 다만 결과는 확인용이니, 모르는 링크는 열기 전에 도메인이 맞는지 먼저 보세요.
깨진 한글 주소를 읽을 수 있게
웹 주소에는 원래 영문·숫자와 일부 기호만 쓸 수 있어서, 한글이 들어간 주소나 검색어는 ‘%ED%99%8D…’처럼 퍼센트 기호와 16진수로 바뀌어 전달돼요. 이것을 URL 인코딩(퍼센트 인코딩)이라고 해요. 메신저나 문서에 이런 주소를 붙이면 길고 읽기 어려워서 무슨 페이지인지 알 수 없어요. 이 도구는 이런 주소를 한글로 풀어 주고, 반대로 한글을 주소에 넣을 수 있는 형식으로 바꿔 줘요.
디코딩과 인코딩
- 디코딩 — %XX를 원래 글자로 바꿔요. 주소 끝의 검색어 파라미터(?q=…&page=2)는 아래 표에 이름과 값으로 나눠 보여 줘서, 어떤 검색어로 찾은 페이지인지 바로 알 수 있어요. 검색창 주소에서 빈칸을 뜻하는 +도 빈칸으로 풀어요.
- 인코딩 — 값 전체 — 검색어나 파라미터 값처럼 주소의 일부로 들어갈 글을 바꿀 때 써요. /, ?, &까지 모두 바꿔요(encodeURIComponent).
- 인코딩 — 주소 모양 유지 — https://…/경로?키=값 같은 주소 전체를 넣을 때 써요. 주소 구조를 이루는 기호는 그대로 두고 한글과 빈칸만 바꿔요(encodeURI).
UTF-8과 EUC-KR
요즘 사이트는 대부분 UTF-8로 한글 한 글자를 %XX 세 개로 바꾸지만, 오래된 한국 사이트나 일부 관공서·쇼핑몰 주소는 EUC-KR로 한 글자를 %XX 두 개로 바꿔요. ‘자동’을 고르면 UTF-8로 풀어 보고 맞지 않으면 EUC-KR로 풀어서, 어느 방식인지도 알려 줘요. 인코딩할 때 EUC-KR을 고르면 옛 사이트에 맞는 주소를 만들 수 있어요.
주소를 열거나 접속하지 않고 글자만 바꾸기 때문에 안전하고, 주소는 서버로 보내지 않아요. 짧은 주소로 공유하려면 QR코드를 만들어 보세요.
자주 묻는 질문
주소가 너무 길어서 메신저에서 잘려요.
디코딩한 한글 주소를 보내도 대부분 브라우저가 알아서 열어요. 그래도 길면 QR코드로 공유하세요.
%가 섞인 일반 글도 풀리나요?
‘50%’처럼 뒤에 16진수 두 자리가 없으면 그대로 둬요.
Base64와는 다른가요?
달라요. Base64 변환은 ‘Base64 인코딩·디코딩’ 도구를 쓰세요.
함께 쓰면 좋은 도구
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장
- HTML 태그 제거 (웹 글에서 글자만 뽑기)HTML 소스에서 태그를 지우고 글자만, 줄바꿈 살리기·링크 주소 남기기·특수문자 풀기
- QR코드 만들기링크·글자 → QR 이미지(PNG·SVG), 색·로고 넣기
- 글자 수 세기공백 포함·제외, 바이트, 원고지 매수를 자기소개서 기준으로
- 맞춤법·띄어쓰기 검사 도우미 (자주 틀리는 말, 근거 조항·글자 수)자주 틀리는 표현 200여 가지와 띄어쓰기를 근거 조항과 함께 찾아 고치기, 글자 수 제한 확인 (규칙 기반)
- 한글 로마자 변환기국어의 로마자 표기법대로 이름·지명·단어 변환