URL에는 공백, 한글, 특수문자 등 그대로 넣을 수 없는 문자가 있습니다. 이런 문자를 %20 같은 퍼센트 인코딩으로 바꾸는 것이 URL 인코딩입니다. 글자를 UTF-8 바이트로 바꾼 뒤 각 바이트를 % 뒤에 두 자리 16진수로 표기하는 방식이라, 한글 한 글자는 보통 %EA%B0%80처럼 세 묶음으로 표현됩니다. 이 도구는 encodeURIComponent와 decodeURIComponent를 기준으로 문자열을 양방향으로 변환하고, 물음표 뒤에 붙는 쿼리스트링을 키·값 표로 깔끔하게 분해해 보여 줍니다.
쿼리스트링 파서는 표준 URLSearchParams를 사용해 입력에서 ? 뒤부터 잘라 &로 나누고, 각 파라미터의 키와 값을 자동으로 디코딩해 표로 보여 줍니다. 같은 키가 여러 번 등장하거나 값이 비어 있어도 모두 행으로 표시되므로, 복잡한 추적 파라미터가 붙은 링크를 분석할 때 특히 편리합니다.
검색어가 포함된 링크를 만들거나, 로그에 남은 인코딩된 URL을 사람이 읽을 수 있게 풀어 보거나, API 호출 파라미터를 점검할 때 유용합니다. 모든 처리는 브라우저에서 이루어지므로 토큰이나 내부 주소가 담긴 URL도 안심하고 붙여 넣을 수 있습니다.
사용 방법
- 1
문자열 입력
인코딩할 텍스트, 디코딩할 인코딩 문자열, 또는 분석할 전체 URL/쿼리스트링을 입력합니다.
- 2
동작 선택
'인코딩'은 특수문자를 퍼센트 표기로, '디코딩'은 퍼센트 표기를 원래 문자로 되돌립니다.
- 3
쿼리스트링 파싱
URL이나 쿼리스트링을 입력하고 '쿼리스트링 파싱'을 누르면 각 파라미터가 키와 값으로 자동 디코딩되어 표로 표시됩니다.
- 4
결과 복사
변환 결과는 복사 버튼으로 클립보드에 담을 수 있습니다.
이럴 때 유용해요
검색어가 든 링크 만들기
한글이나 공백이 포함된 검색어를 인코딩해 쿼리 파라미터 값으로 안전하게 끼워 넣습니다.
로그 속 인코딩 URL 해독
서버 로그나 리퍼러에 %로 도배된 URL을 디코딩해 실제로 어떤 주소·검색어였는지 확인합니다.
추적 파라미터 분해
utm_source 같은 마케팅 파라미터가 잔뜩 붙은 링크를 파싱해 어떤 키·값이 들어 있는지 표로 점검합니다.
API 요청 파라미터 검증
API 호출이 실패할 때 쿼리스트링을 파싱해 값이 의도대로 인코딩·전달됐는지 확인합니다.
활용 팁
- encodeURIComponent는 ?, &, = 같은 구분자까지 인코딩하므로 '값 하나'를 인코딩할 때 적합합니다. 전체 URL을 인코딩하면 구조가 깨질 수 있으니 주의하세요.
- 쿼리스트링 파서는 입력에 ?가 있으면 그 뒤부터 자동으로 잘라 분석합니다.
- 같은 키가 여러 번 나오는 쿼리스트링도 각각의 행으로 모두 표시됩니다.
- 디코딩 오류가 난다면 % 뒤에 잘못된 16진수가 있거나 인코딩이 중복 적용된(예: %2520) 경우일 수 있습니다.
- 이미 인코딩된 문자열을 또 인코딩하면 %가 %25로 바뀌어 이중 인코딩됩니다. 디코딩을 한 번 더 해 원상 복구할 수 있습니다.
- 쿼리스트링 파서는 디코딩된 값을 보여 주므로, 별도로 디코딩 버튼을 누르지 않아도 각 파라미터의 원래 값을 바로 읽을 수 있습니다.
자주 묻는 질문
encodeURI와 encodeURIComponent의 차이가 뭔가요?
encodeURI는 전체 URL을 대상으로 구분자(:/?&=)는 남겨 두지만, encodeURIComponent는 그런 문자까지 모두 인코딩합니다. 이 도구는 값 하나를 다루기 좋은 encodeURIComponent를 사용합니다.
입력한 URL이 서버로 전송되나요?
아니요. 모든 인코딩·디코딩·파싱은 브라우저에서만 실행되며 외부로 전송되지 않습니다.
한글 검색어도 인코딩되나요?
네. 한글은 UTF-8 바이트 기준으로 퍼센트 인코딩되며, 디코딩하면 원래 한글로 정확히 복원됩니다.
공백이 +로 인코딩되나요?
encodeURIComponent에서 공백은 %20으로 인코딩됩니다. +는 주로 application/x-www-form-urlencoded 폼 전송에서 쓰이는 별도 규칙입니다.
쿼리스트링에 값이 없는 키도 파싱되나요?
네. 값이 빈 문자열인 경우에도 키가 표에 표시됩니다.
쿼리스트링 파서가 값을 자동으로 디코딩하나요?
네. URLSearchParams 표준을 사용하므로 각 파라미터의 키와 값이 자동으로 퍼센트 디코딩되어 사람이 읽을 수 있는 형태로 표에 나옵니다.
왜 디코딩했더니 글자가 깨지나요?
원래 UTF-8이 아닌 인코딩(예: EUC-KR)으로 만들어진 문자열은 UTF-8 기준 디코딩에서 깨질 수 있습니다. 이 도구는 표준 UTF-8 디코딩을 사용합니다.
전체 URL을 한 번에 인코딩해도 되나요?
권장하지 않습니다. encodeURIComponent로 전체 URL을 인코딩하면 ://나 ? 같은 구조 문자까지 변환돼 링크가 깨집니다. 인코딩은 파라미터 값 단위로 적용하세요.