도
도구상자FREE ONLINE TOOLS
← 모든 도구

인코더 · 디코더

Base64, URL 인코딩·디코딩을 브라우저에서 바로 처리합니다.

사용법
  1. 드롭다운에서 변환 방식을 선택합니다. Base64 인코딩·디코딩, URL 인코딩·디코딩 네 가지를 지원합니다.
  2. 왼쪽 입력창에 변환할 텍스트를 붙여넣거나 직접 입력합니다.
  3. "변환" 버튼을 누르면 오른쪽 출력창에 결과가 즉시 표시됩니다.
  4. ↕ 버튼으로 입력과 출력을 서로 바꿔 인코딩→디코딩 연속 작업에 활용합니다.
  5. 복사 버튼으로 결과를 클립보드에 저장해 바로 붙여넣기합니다.
인코딩은 왜 필요할까

인코딩은 데이터를 '안전하게 전달할 수 있는 형태'로 바꾸는 것입니다. 암호화와 달리 누구나 되돌릴 수 있어, 보안이 아니라 호환을 위한 변환입니다.

  • Base64: 이미지·파일 같은 이진 데이터를 글자(A~Z, a~z, 0~9, +, /)로만 표현해 텍스트 기반 시스템(이메일·JSON)에 실어 보낼 때 씁니다.
  • URL 인코딩: 주소에 쓸 수 없는 한글·공백·특수문자를 %EC%84%9C 같은 형태로 바꿔 URL이 깨지지 않게 합니다.
  • 주의: 둘 다 암호화가 아니므로 비밀번호 등 민감 정보 보호에는 쓰면 안 됩니다.

Base64의 자세한 원리는 Base64 가이드에서 볼 수 있습니다.

숫자로 보는 예시 — 인코딩하면 길이가 얼마나 늘까

아래는 이 도구에 각 텍스트를 넣어 얻은 결과입니다.

Base64 인코딩

입력UTF-8 바이트Base64 결과글자 수
a1YQ==4
ab2YWI=4
abc3YWJj4
Hello5SGVsbG8=8
도구상자1264+E6rWs7IOB7J6Q16
서울 강남137ISc7Jq4IOqwleuCqA==20
a를 300번 반복300(생략)400

결과 길이는 늘 4의 배수입니다. 3바이트가 4글자가 되고, 3바이트에 못 미치는 나머지는 =로 채웁니다. 그래서 1바이트짜리 a는 4배가 되지만 300바이트는 정확히 400글자입니다. 한글은 글자 수가 아니라 바이트 수로 계산되므로 4글자인 "도구상자"가 16글자로 바뀝니다.

URL 인코딩

입력결과글자 수
서울%EC%84%9C%EC%9A%B82 → 18
a ba%20b3 → 5
a+ba%2Bb3 → 5
a&b=ca%26b%3Dc5 → 9
100%100%254 → 6
%20%25203 → 5
-_.!~*'()-_.!~*'()9 → 9

한글 한 글자는 9글자(%XX 세 묶음)가 됩니다. 이미 인코딩된 %20을 한 번 더 인코딩하면 %2520이 되는데, 주소에 %25가 보인다면 이중 인코딩을 의심할 만합니다. 주소 전체를 넣으면 https://example.com/검색?q=커피&page=2(34자)가 https%3A%2F%2Fexample.com%2F…(82자)로 바뀌어 ://, ?, &, =까지 모두 깨지므로, 주소 전체가 아니라 값 부분만 넣어야 합니다.

디코딩이 실패하는 경우

방식입력결과
URL 디코딩100%변환 오류: URI malformed
URL 디코딩a+ba+b (+는 공백으로 바뀌지 않음)
URL 디코딩%2520%20 (한 번만 풀림)
Base64 디코딩SGVsbG8 (= 생략)Hello
Base64 디코딩eyJuYW1lIjoi7ZmN6ri464-ZIn0{"name":"홍길동"}
Base64 디코딩!!!변환 오류: Invalid character

Base64 디코딩은 패딩 =가 빠진 입력과, +·/ 대신 -·_를 쓰는 URL-safe 형식도 받습니다. 위에서 다섯째 줄이 그 예입니다.

활용 팁
  • JWT 페이로드 확인: JWT(JSON Web Token)의 Payload 부분만 잘라 Base64 디코딩하면 토큰 안에 어떤 클레임이 담겼는지 빠르게 확인할 수 있습니다. API 디버깅 시 자주 쓰이는 방법입니다.
  • URL에 한글 포함하기: 검색어나 파라미터에 한글·특수문자가 있다면 URL 인코딩 후 사용하세요. 예를 들어 "서울 강남"은 %EC%84%9C%EC%9A%B8%20%EA%B0%95%EB%82%A8으로 인코딩됩니다.
  • Base64는 암호화가 아닙니다: Base64는 누구나 디코딩할 수 있는 인코딩 방식입니다. 민감한 정보를 Base64로 변환해도 보안이 되지 않으므로, 비밀 데이터에는 암호화 알고리즘을 별도로 사용하세요.
자주 묻는 질문
Q. 한글 입력 시 오류 없이 변환되나요?

네. 내부적으로 UTF-8 인코딩을 처리하도록 구현되어 있어 한글도 정상적으로 변환됩니다.

Q. URL 인코딩에서 공백은 어떻게 처리되나요?

encodeURIComponent 기준으로 공백은 %20으로 인코딩됩니다. 일부 레거시 시스템에서 사용하는 + 방식은 지원하지 않습니다.

Q. 대용량 텍스트도 변환할 수 있나요?

브라우저 메모리 한도 내에서 가능합니다. 수십 MB 이상의 텍스트는 느릴 수 있지만, 일반적인 사용 범위(수십 KB)는 즉시 처리됩니다.

Q. Base64로 바꾸면 크기가 왜 커지나요?

Base64는 3바이트(24비트)를 4글자로 표현하기 때문에 원본보다 약 33% 커집니다. 그래서 용량을 줄이려는 용도가 아니라, 이진 데이터를 텍스트로만 다뤄야 하는 환경에서 호환을 위해 사용합니다.

Q. URL 인코딩과 Base64를 언제 구분해서 쓰나요?

주소(URL)에 값을 담을 때는 URL 인코딩을, 이메일 본문이나 JSON·데이터 URI에 이진 데이터를 실을 때는 Base64를 씁니다. 둘은 목적이 달라, 쿼리스트링 파라미터에 한글을 넣을 땐 URL 인코딩이 맞습니다.

함께 보면 좋은 가이드