Base64 인코더/디코더

텍스트, 이미지, 파일을 Base64로 인코딩하거나 Base64 데이터를 원본으로 디코딩합니다. 웹 개발과 데이터 전송에 필수적인 도구입니다.

🔤 입력 데이터

0 문자

📋 결과

0 문자

Base64 예시

📝 다양한 데이터 유형별 예시

🔤 간단한 텍스트

원본: "Hello, World!"

Base64: SGVsbG8sIFdvcmxkIQ==

🇰🇷 한글 텍스트

원본: "안녕하세요"

Base64: 7JWI64WV7ZWY7IS47JqU

📋 JSON 데이터

원본: {"name":"홍길동","age":30}

Base64: 인코딩된 JSON 문자열

🔗 URL 안전

설명: URL에서 안전하게 사용할 수 있는 Base64

+ → -, / → _, = 패딩 제거

Base64 활용 가이드

🎯 Base64란?

  • 바이너리 데이터를 텍스트로 변환하는 인코딩 방식
  • 64개 문자 사용: A-Z, a-z, 0-9, +, /
  • 3바이트 → 4문자로 변환
  • 패딩 문자 = 사용

💻 웹 개발 활용

  • 이미지 임베딩: CSS, HTML에 직접 포함
  • API 통신: JSON에 바이너리 데이터 포함
  • 파일 전송: 텍스트 기반 프로토콜에서 사용
  • 데이터 URL: data:image/png;base64,...

📧 이메일 & 보안

  • MIME 인코딩: 이메일 첨부파일
  • Basic 인증: HTTP 인증 헤더
  • 토큰 저장: JWT, OAuth 토큰
  • 설정 파일: 바이너리 설정 데이터

⚠️ 주의사항

  • 크기 증가: 원본 대비 약 33% 크기 증가
  • 보안 아님: 인코딩이지 암호화가 아님
  • URL 안전성: URL에서는 URL-safe Base64 사용
  • 성능: 큰 파일은 직접 전송이 효율적

프로그래밍 언어별 사용법

💾 주요 언어에서의 Base64 처리

JavaScript

// 인코딩
const encoded = btoa('Hello, World!');
console.log(encoded); // SGVsbG8sIFdvcmxkIQ==

// 디코딩
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // Hello, World!

// URL-safe Base64
function urlSafeEncode(str) {
    return btoa(str).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
}

Python

import base64

# 인코딩
text = "Hello, World!"
encoded = base64.b64encode(text.encode('utf-8'))
print(encoded.decode('utf-8'))  # SGVsbG8sIFdvcmxkIQ==

# 디코딩
decoded = base64.b64decode(encoded)
print(decoded.decode('utf-8'))  # Hello, World!

Java

import java.util.Base64;

// 인코딩
String text = "Hello, World!";
String encoded = Base64.getEncoder().encodeToString(text.getBytes());
System.out.println(encoded); // SGVsbG8sIFdvcmxkIQ==

// 디코딩
byte[] decoded = Base64.getDecoder().decode(encoded);
System.out.println(new String(decoded)); // Hello, World!

주의: Base64는 인코딩 방식이며 암호화가 아닙니다. 보안이 필요한 데이터는 적절한 암호화 방법을 사용하시기 바랍니다.