대상 입력
상단의 텍스트 창에 변환하고자 하는 원본 URL이나 특정 파라미터 값(한글, 공백, 특수문자 등)을 그대로 입력하거나 붙여넣습니다.
IETF RFC 3986 표준 기반, UTF-8 퍼센트 인코딩 양방향 변환기
초기 인터넷 통신 규약은 오직 7비트 ASCII 문자 집합(영문 및 숫자)만을 안전하게 전송할 수 있도록 설계되었습니다. 현대의 웹은 한글, 한자, 이모지(Emoji) 등 방대한 다국어 데이터를 교환하기 때문에, 이러한 비정형 데이터를 웹 서버나 데이터베이스가 충돌 없이 처리할 수 있도록 표준화된 16진수 포맷으로 치환해야 합니다. 이 과정을 'URL 인코딩(URL Encoding)' 또는 '퍼센트 인코딩(Percent-encoding)'이라고 부릅니다.
FreetyTools의 변환기는 웹 표준인 IETF RFC 3986 가이드라인을 엄격하게 준수하며, 어떠한 백엔드 API 서버의 개입 없이 오직 사용자의 브라우저 내에서 가장 빠르고 안전하게 데이터를 양방향 변환합니다.
상단의 텍스트 창에 변환하고자 하는 원본 URL이나 특정 파라미터 값(한글, 공백, 특수문자 등)을 그대로 입력하거나 붙여넣습니다.
목적에 맞게 하단의 'URL 인코딩(Encode)' 버튼을 눌러 안전한 텍스트로 치환하거나, 'URL 디코딩(Decode)' 버튼을 클릭하여 원래의 문장으로 해독합니다.
즉각적으로 변환이 완료된 텍스트를 확인한 후, 우측 하단의 '결과 복사' 버튼을 눌러 클립보드에 안전하게 저장하고 필요한 곳에 사용합니다.
문자열이 인코딩되는 내부 알고리즘은 3단계의 정밀한 바이트 매핑(Byte Mapping) 과정을 거칩니다. 예를 들어 한국어 '가'를 변환할 경우, 브라우저는 유니코드(U+AC00)를 UTF-8 규칙에 따라 3바이트로 쪼갠 후, 각각의 16진수 바이트 앞에 퍼센트(%) 기호를 결합하여 최종적으로 %EA%B0%80 라는 결과값을 도출합니다.
※ 자바스크립트 인코딩 내장 함수의 공학적 차이
본 변환기는 파라미터 값 전송에 특화된 encodeURIComponent() 알고리즘을 사용합니다.
// 1. encodeURI (전체 URL 구조 유지용)
// 도메인과 파라미터 구조(?, =, &)를 유지하며 한글과 공백만 변환
console.log(encodeURI("https://freety.tools/?q=한글 텍스트"));
// 출력: https://freety.tools/?q=%ED%95%9C%EA%B8%80%20%ED%85%8D%EC%8A%A4%ED%8A%B8
// 2. encodeURIComponent (파라미터 값 전용)
// http:// 부터 시스템 문자열 전체를 무조건 16진수로 변환 (본 도구 적용)
console.log(encodeURIComponent("https://freety.tools/?q=한글 텍스트"));
// 출력: https%3A%2F%2Ffreety.tools%2F%3Fq%3D%ED%95%9C%EA%B8%80%20%ED%85%8D%EC%8A%A4%ED%8A%B8 구글 애널리틱스(GA) 등을 위한 UTM 파라미터 링크 생성 시, 캠페인명에 포함된 띄어쓰기(공백)나 특수문자를 웹 표준에 맞게 변환하여 광고 플랫폼에서 링크가 깨지는 '링크 유실(Link Rot)' 현상을 방어합니다.
프론트엔드에서 백엔드 서버로 GET 방식의 쿼리 스트링(?search=검색어)을 통해 한글 검색어나 특수 기호 데이터를 넘길 때, 예약 문자로 인한 400 Bad Request 에러를 사전에 차단합니다.
한글 도메인이나 한글 이름으로 된 첨부파일 링크를 이메일이나 메신저로 공유할 때, 시스템이 인식할 수 있는 안전한 ASCII 문자열로 치환하여 상대방이 오류 없이 접속하도록 돕습니다.
A. 이미 인코딩된 문자열을 한 번 더 인코딩하면 '%' 기호 자체가 '%25'로 이중 변환됩니다. 결과값에 '%25'가 비정상적으로 반복된다면 이미 변환이 완료된 데이터를 다시 처리한 것이므로 주의가 필요합니다.
A. 입력하신 텍스트의 '% 기호' 뒤에 올바른 16진수 숫자 두 자리가 오지 않았거나, 데이터가 중간에 잘린 경우 발생합니다. 원본 URL 코드가 누락 없이 복사되었는지 확인해 주세요.
FreetyTools의 모든 변환 로직은 100% 클라이언트 사이드(Client-Side)에서 브라우저 메모리로만 실행됩니다. 입력하신 텍스트와 결과값은 귀하의 기기 밖으로 단 1바이트도 유출되지 않으며, 외부 서버에 전송되거나 기록되지 않습니다.
※ 주의: URL 인코딩은 데이터를 '암호화(Encryption)'하는 것이 아닙니다. 비밀번호, 주민등록번호, API 키 등 민감한 개인정보를 인코딩만 거친 채로 공개된 네트워크를 통해 전송하지 마십시오.