Base64 인코딩이란?
Base64는 바이너리 데이터를 64개의 인쇄 가능한 ASCII 문자(A-Z, a-z, 0-9, +, /)로 변환하는 인코딩 방식입니다. 이메일 첨부파일 전송, 웹 API 통신, 이미지 Base64 변환(Data URI), JWT 토큰 페이로드 등 텍스트만 허용되는 환경에서 바이너리 데이터를 안전하게 전달하기 위해 개발되었으며, RFC 4648 표준으로 정의되어 있습니다.
이 Base64 변환기는 텍스트·이미지·파일을 실시간으로 인코딩/디코딩할 수 있는 무료 온라인 도구입니다. URL-Safe Base64, 파일 업로드, 이미지 미리보기, 드래그 앤 드롭, 변환 히스토리(최근 10개)를 지원합니다. 한글·UTF-8을 완벽 지원하며, 모든 처리가 브라우저에서 이루어져 입력 데이터가 서버로 전송되지 않습니다.
주요 기능
실시간 인코딩/디코딩
텍스트를 입력하면 즉시 Base64로 변환되며, 반대로 Base64 문자열을 붙여넣으면 원본 텍스트로 복원합니다. UTF-8 인코딩을 완벽 지원합니다.
URL-Safe 모드
URL-Safe 모드는 +를 -로, /를 _로 바꾸고 끝의 = 패딩을 제거합니다. 전송 대상이 요구하는 알파벳과 패딩 규칙을 확인하세요.
파일 업로드 & 이미지 미리보기
파일을 업로드하면 자동으로 Base64로 변환됩니다. 이미지 파일의 경우 Data URI 형식의 미리보기를 제공합니다.
드래그 앤 드롭
파일을 드래그하여 입력 영역에 놓으면 바로 Base64로 변환됩니다. 빠르고 직관적인 파일 처리가 가능합니다.
사용법
- 모드 선택 — 상단에서 인코딩(텍스트→Base64) 또는 디코딩(Base64→텍스트) 모드를 선택합니다.
- 텍스트 입력 또는 파일 업로드 — 변환할 텍스트를 입력하거나, 파일 업로드 버튼 또는 드래그 앤 드롭으로 파일을 추가합니다.
- 옵션 설정 — URL-Safe를 켜면 +는 -, /는 _로 바뀌고 끝의 = 패딩이 제거됩니다. 줄바꿈 옵션은 URL-Safe가 꺼져 있을 때 76자마다 적용됩니다.
- 변환 실행 — 기본 자동 변환 모드에서는 입력 후 약 0.3초 뒤 결과가 표시됩니다. 자동 변환을 끈 경우에만 인코딩 또는 디코딩 버튼을 누릅니다.
- 결과 복사 — 복사 버튼을 클릭하여 변환 결과를 클립보드에 복사합니다.
활용 예시
API 개발 (Basic Auth)
HTTP Basic Authentication에서 사용자명:비밀번호를 Base64로 인코딩하여 Authorization 헤더로 전송합니다. API 테스트 시 필수적인 인코딩 방식입니다.
이메일 첨부파일
MIME 프로토콜에서 바이너리 첨부파일을 텍스트 형태로 변환할 때 Base64를 사용합니다. 이메일 시스템의 기본 인코딩 방식입니다.
Data URI 이미지 임베딩
이미지를 Base64로 변환하여 HTML/CSS에 직접 삽입하면 별도의 HTTP 요청 없이 이미지를 표시할 수 있습니다. 작은 아이콘이나 로고에 효과적입니다.
데이터 전송 및 저장
JSON이나 XML 같은 텍스트 기반 형식에 바이너리 데이터를 포함해야 할 때 Base64로 인코딩합니다. JWT 토큰, 설정 파일 등에서 활용됩니다.
직접 대조하는 Base64 변환 예제
아래 입력을 그대로 붙여넣으면 확인할 수 있는 결과입니다. 별도 안내가 없으면 인코딩 모드에서 URL-Safe와 줄바꿈을 끕니다. 한글은 글자 수가 아닌 UTF-8 바이트를 기준으로 변환됩니다.
영문과 패딩
- 입력
Hello- 결과
SGVsbG8=
5바이트 텍스트가 패딩을 포함한 8문자가 됩니다. 끝의 =는 원문에 있던 문자가 아닙니다.
한글 UTF-8
- 입력
한글- 결과
7ZWc6riA
두 글자는 UTF-8에서 6바이트입니다. 이 예시는 끝에 패딩이 붙지 않습니다.
이모지 UTF-8
- 입력
🙂- 결과
8J+Zgg==
이 이모지는 UTF-8에서 4바이트입니다. 일반 Base64 결과에는 +와 =가 포함됩니다.
같은 이모지, URL-Safe 켜기
- 입력
🙂- 결과
8J-Zgg
+가 -로 바뀌고 끝의 ==는 제거됩니다. 디코딩 모드에서는 이 결과를 다시 🙂로 읽을 수 있습니다.
슬래시가 바뀌는 경우
- 입력
???- 결과
Pz8_
URL-Safe를 켠 결과입니다. 끄면 Pz8/가 됩니다. 두 표현은 같은 원문을 나타냅니다.
사용 전에 확인할 범위와 한계
- Base64는 암호화가 아닙니다. 비밀번호·비밀키 보호 용도로 사용하지 마세요.
- 인코딩은 파일을 지원하지만 디코딩·다운로드는 UTF-8 텍스트용입니다. 바이너리 파일 복구 도구로 사용하지 마세요.
- 파일 입력은 15MiB(15 × 1,024 × 1,024바이트)를 초과하면 거부합니다. 그보다 작은 파일도 기기 메모리에 따라 느려질 수 있습니다.
- 줄바꿈 없는 일반 Base64의 길이는 입력 n바이트에 대해 4 × ceil(n / 3)문자입니다. 짧은 입력은 패딩 때문에 증가율이 33%보다 클 수 있습니다.
자주 묻는 질문
Base64 인코딩은 암호화인가요?
아니요, Base64는 암호화가 아닌 인코딩입니다. 누구나 쉽게 디코딩할 수 있으므로 민감한 데이터 보호에는 적합하지 않습니다. 데이터 전송 형식 변환 목적으로만 사용해야 합니다.
URL-Safe Base64란 무엇인가요?
Base64url은 표준 Base64의 +를 -로, /를 _로 바꾸는 변형입니다. 이 도구의 URL-Safe 옵션은 끝의 = 패딩도 제거합니다. 패딩 생략 여부는 사용하는 API나 형식의 규칙에 따라 확인하세요.
Base64로 인코딩하면 크기가 왜 커지나요?
Base64는 6비트를 8비트 ASCII 문자로 변환하므로, 인코딩 후 데이터 크기가 약 33% 증가합니다. (3바이트 → 4문자)
이미지 Base64를 디코딩하면 원본 파일이 내려받아지나요?
이 도구의 디코딩 결과는 UTF-8 텍스트이며 다운로드도 .txt 형식입니다. 이미지·PDF 같은 바이너리 파일을 복원하는 기능은 아닙니다. Data URI 전체를 입력했다면 쉼표 앞의 data:…;base64, 접두어도 텍스트 디코딩 전에 제거해야 합니다.
입력한 내용이나 변환 기록이 저장되나요?
변환 연산은 브라우저에서 처리하지만 기록은 localStorage에 남습니다. 최근 10개 기록에 입력·출력 각각 앞 2,000자와 변환 모드·시각을 저장합니다. 텍스트 자동 변환 후 잠시 멈추거나 변환·복사·다운로드할 때 기록될 수 있습니다. ‘변환 히스토리’를 열고 ‘전체 삭제’를 누르세요. 입력창의 ‘지우기’만으로 기록이 삭제되지는 않습니다.
Base64가 유효한데 글자가 깨지는 이유는 무엇인가요?
Base64는 바이트를 표현할 뿐 문자 인코딩까지 지정하지 않습니다. 이 도구는 디코딩한 바이트를 UTF-8로 읽습니다. 원본이 다른 문자 인코딩이나 이미지 같은 바이너리라면 대체 문자(�)가 보일 수 있습니다. UTF-8 유효성 배지도 확인하고, 출력이 나온다는 이유만으로 원본이 정확히 복원됐다고 판단하지 마세요.
개인정보 안내
변환 연산은 브라우저에서 이루어지며 변환기 코드가 입력 텍스트·파일을 변환용 서버로 업로드하지 않습니다. 다만 최근 10개 변환 기록은 이 브라우저의 localStorage에 저장되고, 입력·출력 각각 앞 2,000자와 모드·시각이 포함됩니다. 파일 변환도 복사·다운로드하면 결과 일부가 기록에 남을 수 있습니다. 기록 삭제는 ‘변환 히스토리 → 전체 삭제’에서 할 수 있습니다. 공용 기기에서는 민감한 원문을 입력하지 말고, 창을 닫거나 입력창만 지워도 기록이 남을 수 있음을 주의하세요. 광고·이용 통계는 사이트 개인정보처리방침의 별도 안내를 확인하세요.
댓글과 질문