본 사이트는 파트너스 활동으로 수수료를 받을 수 있으며, 서버 운영과 무료 앱 개발에 사용됩니다. 본 사이트는 파트너스 활동으로 수수료를 받을 수 있으며
서버 운영과 무료 앱 개발에 사용됩니다.
🔐

Base64 인코더/디코더 Pro - 고급 텍스트 & 파일 변환 도구

텍스트와 파일을 Base64로 인코딩/디코딩하는 전문 도구입니다. 실시간 변환, 파일 드래그 앤 드롭, 이미지 미리보기, URL-safe 인코딩, 배치 처리, 코드 스니펫 생성까지 모든 기능을 제공합니다. 개발자와 일반 사용자 모두를 위한 완벽한 Base64 변환 솔루션입니다.

Base64
인코딩
디코딩
텍스트
파일
변환

Base64 인코더 / 디코더

100% 로컬 처리

원본 텍스트

0

Base64 결과

Base64 인코딩 완벽 가이드

Base64는 바이너리 데이터를 ASCII 문자열로 변환하는 인코딩 방식입니다. 1987년 RFC 989에서 처음 정의되었으며, 이메일 첨부파일(MIME)에서 널리 사용되기 시작했습니다. 오늘날에는 웹 개발, API, 데이터 전송 등 다양한 분야에서 필수적인 기술입니다.

이 도구는 텍스트와 파일의 Base64 인코딩/디코딩, 다양한 옵션 설정, 여러 프로그래밍 언어용 코드 스니펫 생성을 지원합니다. 모든 처리는 브라우저에서 로컬로 수행되어 개인정보가 완벽하게 보호됩니다.

Base64 작동 원리

바이너리를 텍스트로 변환하는 방법

Base64는 64개의 안전한 ASCII 문자(A-Z, a-z, 0-9, +, /)를 사용하여 바이너리 데이터를 텍스트로 표현합니다. 3바이트(24비트)의 원본 데이터를 4개의 6비트 그룹으로 나누어 각각을 하나의 Base64 문자로 매핑합니다.

인코딩 과정 예시: "Hi"

1. ASCII:H = 72, i = 105
2. 이진수:01001000 01101001
3. 6비트 분할:010010 000110 100100(패딩)
4. 인덱스:18, 6, 36
5. Base64:SGk=

Base64 문자 테이블

값 0-25: A-Z | 값 26-51: a-z | 값 52-61: 0-9 | 값 62: + | 값 63: /

패딩: = (입력 길이가 3의 배수가 아닐 때 사용)

입력 1바이트

출력: 2문자 + ==

입력 2바이트

출력: 3문자 + =

입력 3바이트

출력: 4문자 (패딩 없음)

Base64 사용 사례

실무에서 Base64를 활용하는 방법

Data URL로 이미지 임베딩

작은 아이콘이나 로고를 HTML/CSS에 직접 포함하여 HTTP 요청 수를 줄입니다. Critical CSS나 이메일 템플릿에서 특히 유용합니다.

API 데이터 전송

JSON API에서 파일 업로드나 바이너리 데이터를 전송할 때 사용합니다. 텍스트 기반 프로토콜에서 안전하게 바이너리를 전달할 수 있습니다.

인증 토큰

JWT(JSON Web Token)는 Header와 Payload를 Base64URL로 인코딩합니다. Basic 인증에서도 username:password를 Base64로 전송합니다.

데이터 저장

바이너리 데이터를 텍스트 기반 데이터베이스나 설정 파일에 저장할 때 사용합니다. XML, JSON, YAML에 바이너리를 포함시킬 수 있습니다.

Base64 변형

다양한 Base64 인코딩 방식

변형문자 62/63패딩사용처
표준 (RFC 4648)+ /= 필수MIME, 이메일
URL-Safe- _선택적URL, JWT
MIME+ /= 필수이메일 (76자 줄바꿈)
Filename Safe- _제거파일명

Data URL 스키마

Base64 데이터를 URL로 표현

Data URL은 파일 데이터를 URL 형태로 인라인 포함하는 방식입니다. HTML의 img, audio, video 태그와 CSS의 background-image 등에서 사용됩니다.

Data URL 형식

data:[<mediatype>][;base64],<data>

예시

이미지: data:image/png;base64,iVBORw0KGgo...

JSON: data:application/json;base64,eyJuYW1l...

텍스트: data:text/plain;base64,SGVsbG8gV29y...

Data URL 사용 시 주의사항

  • • 큰 파일은 HTML/CSS 파일 크기를 증가시켜 로딩 속도 저하
  • • 브라우저 캐싱이 어려워 반복 로드 시 비효율적
  • • IE8 이하에서는 32KB 제한
  • • 작은 이미지(1-2KB 이하)에만 권장

프로그래밍 언어별 Base64

각 언어에서 Base64 다루기

JavaScript

// 인코딩
btoa('Hello') // "SGVsbG8="

// 디코딩
atob('SGVsbG8=') // "Hello"

// UTF-8 지원
btoa(unescape(encodeURIComponent('안녕')))

Python

import base64

# 인코딩
base64.b64encode(b'Hello').decode()

# 디코딩
base64.b64decode('SGVsbG8=').decode()

# URL-safe
base64.urlsafe_b64encode(data)

Java

import java.util.Base64;

// 인코딩
Base64.getEncoder()
  .encodeToString(bytes);

// 디코딩
Base64.getDecoder()
  .decode(base64String);

Node.js

// 인코딩
Buffer.from('Hello')
  .toString('base64');

// 디코딩
Buffer.from(base64, 'base64')
  .toString('utf8');

성능 고려사항

Base64 사용 시 성능 영향

단점

  • • 데이터 크기가 약 33% 증가
  • • 인코딩/디코딩에 CPU 자원 소모
  • • 캐싱 효율 저하 (인라인 데이터)
  • • 큰 파일에서 메모리 사용량 증가

장점

  • • HTTP 요청 수 감소 (인라인 사용 시)
  • • 텍스트 기반 프로토콜과 호환
  • • 바이너리 안전 전송 보장
  • • 구현이 단순하고 표준화됨

권장 사항

  • • 1-2KB 이하의 작은 이미지에만 Data URL 사용
  • • 큰 파일은 별도 URL로 제공하고 캐싱 활용
  • • Critical CSS에 아이콘 인라인으로 First Paint 개선
  • • 스트리밍이 필요한 대용량 데이터는 별도 전송

보안 주의사항

Base64는 암호화가 아닙니다

중요: Base64 ≠ 암호화

Base64는 단순한 인코딩 방식으로, 누구나 쉽게 디코딩할 수 있습니다. 민감한 데이터를 Base64로 인코딩해서 "숨기는" 것은 보안이 아닙니다.

  • • 비밀번호, API 키를 Base64로만 저장하지 마세요
  • • 민감한 데이터는 반드시 AES 등 실제 암호화 사용
  • • JWT의 Payload도 쉽게 읽을 수 있음을 인지

올바른 사용법

  • • 바이너리 → 텍스트 변환 용도로만 사용
  • • 데이터 전송/저장의 포맷 변환에 활용
  • • 보안이 필요하면 암호화 후 Base64 인코딩

자주 묻는 질문 (FAQ)

Base64 관련 궁금증 해결

Q: Base64로 인코딩하면 데이터 크기가 얼마나 증가하나요?

약 33% 증가합니다. 3바이트가 4문자가 되므로 4/3 = 1.33배입니다. 추가로 줄바꿈이나 패딩이 포함되면 조금 더 증가할 수 있습니다.

Q: URL-safe Base64는 언제 사용하나요?

URL 파라미터, 파일명, JWT 토큰 등에서 사용합니다. 표준 Base64의 + / 문자가 URL에서 특수 의미를 가지므로 - _ 로 대체합니다.

Q: Base64 끝의 = 문자는 무엇인가요?

패딩(padding) 문자입니다. Base64는 4문자 단위로 출력하는데, 입력이 3바이트의 배수가 아니면 빈 공간을 =로 채웁니다.

Q: Base64로 한글을 인코딩하려면 어떻게 하나요?

UTF-8로 먼저 인코딩한 후 Base64로 변환합니다. JavaScript에서는 btoa(unescape(encodeURIComponent(text)))를 사용합니다.

Q: 이미지를 Base64로 변환하면 용량이 늘어나는데 왜 사용하나요?

작은 아이콘을 인라인으로 포함하면 추가 HTTP 요청을 줄일 수 있습니다. 하지만 큰 이미지는 별도 파일로 제공하는 것이 좋습니다.

Base64 마스터가 되셨습니다!

이제 Base64 인코딩의 원리부터 실무 활용까지 모두 익히셨습니다. 위의 도구를 사용하여 텍스트와 파일을 자유롭게 인코딩/디코딩하고, 다양한 프로그래밍 언어용 코드 스니펫을 생성해보세요. 모든 처리는 브라우저에서 로컬로 수행되어 데이터가 외부로 전송되지 않습니다.

#Base64#인코딩#디코딩#텍스트#파일#변환

Base64 인코더/디코더 Pro - 고급 텍스트 & 파일 변환 도구

텍스트와 파일을 Base64로 인코딩/디코딩하는 전문 도구입니다. 실시간 변환, 파일 드래그 앤 드롭, 이미지 미리보기, URL-safe 인코딩, 배치 처리, 코드 스니펫 생성까지 모든 기능을 제공합니다. 개발자와 일반 사용자 모두를 위한 완벽한 Base64 변환 솔루션입니다.

모든 도구를 한 곳에서 © 2025 큐레이터 단비. All right reserved.