결과

UTF-8 바이트 하나가 16진수 두 자리가 됩니다. hi는 68 69, 한글 가는 ea b0 80, €는 e2 82 ac입니다. 디코딩할 때는 공백, 콜론, 0x나 \x 접두사도 받아들이므로 헥스 덤프, 패킷 캡처, C 문자열 리터럴에서 바로 붙여 넣을 수 있습니다.

사용법

  1. Base64, Base32, 16진수, 2진수, URL, HTML, 유니코드, 퓨니코드 중 형식을 고르세요.
  2. 인코딩이나 디코딩을 고른 뒤 입력하거나 붙여 넣으세요. 입력하는 대로 결과가 바뀝니다.
  3. 결과를 탭하면 복사되고, 내려받을 수도 있습니다. 바꾸기 버튼은 결과를 입력으로 옮기고 방향을 뒤집습니다.
  4. Base64에서는 아무 파일이나 끌어다 놓으면 Base64 문자열이나 data URL로 변환됩니다. 이미지의 Base64를 디코딩하면 미리 보기가 나오고 내려받을 수 있습니다.
  5. 디코딩할 수 없는 입력이면 오류 메시지가 문제의 문자와 위치를 정확히 알려 줍니다.
  • 모든 처리는 UTF-8 기준입니다. 한글, 이모지, 악센트 문자 등 어떤 문자도 손실 없이 변환됩니다.
  • Base64 디코딩은 표준과 URL-safe 문자 집합, 패딩 누락, 줄바꿈, data: URL을 모두 받아들입니다.
  • URL 컴포넌트 모드는 예약 문자(/ ? & = #)를 모두 인코딩하고, 전체 URI 모드는 URL 구조를 그대로 둡니다. HTML 폼 데이터에는 “공백을 +로”를 쓰세요.
  • 퓨니코드는 국제화 도메인 이름을 변환합니다. 예: 한국.kr ⇄ xn--3e0b707e.kr. 전체 URL을 붙여 넣으면 호스트 부분만 변환합니다.
  • 아무것도 업로드되지 않습니다. 인코딩과 디코딩은 모두 브라우저 안에서 처리됩니다.

인코딩은 암호화가 아닙니다

여기서 다루는 형식은 모두 바이트를 텍스트로 적는 되돌릴 수 있는 방법이며 공개 표준으로 정해져 있습니다. Base64와 Base32는 RFC 4648, 퍼센트 인코딩은 RFC 3986, 엔티티는 HTML 표준, 퓨니코드는 RFC 3492입니다. 키 없이 누구나 디코딩할 수 있으므로, 특정 문자만 허용하는 시스템에 데이터를 통과시키는 용도로만 쓰고 비밀을 숨기는 데 쓰면 안 됩니다.

Base64의 원리

Base64는 바이트를 3개(24비트)씩 묶어 A–Z, a–z, 0–9, +, / 중 4글자로 씁니다. 그래서 결과가 원본보다 약 33% 커지고, 마지막 묶음은 =로 채웁니다. Man은 TWFu, Hello는 SGVsbG8=가 됩니다. URL 안전 버전은 +와 /를 -와 _로 바꿔 URL이나 파일 이름에 넣을 수 있게 한 것으로, JWT가 이 방식을 씁니다.

텍스트는 먼저 UTF-8 바이트로 바뀝니다. 한글 가는 3바이트(ea b0 80), €도 3바이트(e2 82 ac)로 정확히 인코딩됩니다. 이 과정을 건너뛰는 도구에서는 한글이 깨집니다.

형식 고르는 법

쿼리 문자열 값에는 URL 인코딩(공백은 %20, HTML 폼에서는 +), 사용자가 입력한 글을 페이지에 넣을 때는 HTML 엔티티, 원시 바이트를 살펴볼 때는 16진수나 2진수, 대소문자를 구분하지 않는 코드(TOTP 비밀키 등)에는 Base32, 국제화 도메인에는 퓨니코드를 씁니다. 예를 들어 한글.kr은 DNS에서 xn--bj0bj06e.kr로 바뀝니다.

자주 묻는 질문

Base64는 암호화인가요?

아니요. Base64는 키 없이 누구나 바로 되돌릴 수 있는 인코딩일 뿐이며, 바이너리 데이터를 텍스트로 보낼 수 있게 해 줄 뿐입니다. 비밀로 지켜야 할 데이터는 먼저 암호화하세요.

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

입력 3바이트가 4글자가 되므로 크기가 약 33% 늘고, 끝에 =가 최대 두 개 붙습니다. 30KB 이미지는 Base64로 약 40KB가 됩니다.

URL 구성 요소 인코딩과 전체 URI 인코딩은 어떻게 다른가요?

구성 요소 모드는 / ? & = # 같은 예약 문자까지 인코딩해 값이 쿼리 문자열 안에 들어갈 수 있게 합니다. 전체 URI 모드는 이 문자들을 그대로 두어 주소 전체가 계속 작동하게 합니다.

어떤 URL은 %20, 어떤 URL은 +인 이유는 무엇인가요?

둘 다 공백입니다. %20은 표준 퍼센트 인코딩(RFC 3986)이고, +는 application/x-www-form-urlencoded 폼 데이터에서만 씁니다. 폼 형식 쿼리 문자열을 만들 때는 공백을 +로 옵션을 켜세요.

Base64 디코딩으로 이미지나 파일을 되돌릴 수 있나요?

네. 디코딩 모드에서 Base64나 data: URL을 붙여 넣으면 이미지일 경우 미리 보기가 나오고, 어떤 파일이든 원래 바이트 그대로 내려받을 수 있습니다.

URL 인코딩이나 Base64 변환에서 한글이 깨지지 않나요?

깨지지 않습니다. 인코딩 전에 UTF-8로 바꾸고 디코딩 후 다시 UTF-8에서 되돌리므로 이모지, 한글, 일본어, 키릴 문자가 입력한 그대로 나옵니다.

함께 쓰는 도구

사용법

순서

  1. Base64, Base32, 16진수, 2진수, URL, HTML, 유니코드, 퓨니코드 중 형식을 고르세요.
  2. 인코딩이나 디코딩을 고른 뒤 입력하거나 붙여 넣으세요. 입력하는 대로 결과가 바뀝니다.
  3. 결과를 탭하면 복사되고, 내려받을 수도 있습니다. 바꾸기 버튼은 결과를 입력으로 옮기고 방향을 뒤집습니다.
  4. Base64에서는 아무 파일이나 끌어다 놓으면 Base64 문자열이나 data URL로 변환됩니다. 이미지의 Base64를 디코딩하면 미리 보기가 나오고 내려받을 수 있습니다.
  5. 디코딩할 수 없는 입력이면 오류 메시지가 문제의 문자와 위치를 정확히 알려 줍니다.

단축키

Ctrl + Enter결과 복사Alt + S입력과 결과 바꾸기Ctrl + V텍스트나 파일 붙여 넣기

알아두면 좋은 점

브라우저 안에서 동작합니다. 파일과 입력한 내용은 기기 밖으로 나가지 않습니다.