Base64 인코딩/디코딩 (텍스트)

Loading dropzone…

Input

Output

이 Base64 인코더 정보 온라인 Base64 인코더

Encode64 'Base64 Studio'의 일부로, 이 인코더는 텍스트, JSON 및 작은 바이너리 에셋을 Base64 문자열로 변환하여 헤더, HTML/CSS, 환경 변수 또는 테스트 픽스처에 바로 붙여넣을 수 있게 합니다. 로그인, 설치 및 서버 측 처리 없이 사용 가능합니다.

이 Base64 인코더를 사용하는 이유

  • 텍스트, JSON 및 소형 바이너리 페이로드에 대한 즉시 Base64 인코딩
  • 파일 지원(텍스트, 이미지, 바이너리)으로 Base64 문자열로 빠르게 변환
  • JWT, 쿼리 매개변수 및 웹 안전 컨텍스트를 위한 URL-안전 옵션
  • CLI 도구 또는 이메일/PEM 형식을 모방하는 선택적 줄 바꿈
  • 헤더, 구성 및 코드에서 쉽게 재사용할 수 있는 원클릭 복사
  • 데스크톱과 모바일에서 잘 작동하는 반응형 UI
  • 인코딩은 브라우저에서 발생합니다 — 데이터가 원격 서버로 전송되지 않음

🔧 Base64 인코딩 작동 방식(단계별) for base64-encoder

1

입력 제공

텍스트, JSON 또는 스니펫을 입력 영역에 붙여넣거나 파일을 드롭하여 원시 바이트를 Base64로 변환합니다. 도구는 바이트를 있는 그대로 읽습니다.

2

바이트로 변환

인코더는 문자(UTF-8 텍스트 등) 또는 파일 내용을 바이트로 변환합니다. 각 바이트는 0에서 255 사이의 8비트 값입니다.

3

비트를 Base64 인덱스로 재그룹화

3바이트마다(3 × 8 = 24비트) 6비트의 4개 그룹(4 × 6 = 24)으로 재그룹화됩니다. 각 6비트 그룹은 Base64 알파벳의 인덱스입니다.

4

Base64 문자로 매핑 및 패딩

각 6비트 인덱스는 Base64 문자로 변환됩니다. 입력이 3바이트로 나누어지지 않으면 출력 길이가 항상 4문자의 배수가 되도록 '=' 패딩이 추가됩니다.

기술 사양

문자 집합(RFC 4648)

이 인코더는 RFC 4648로 정의된 표준 Base64 알파벳을 사용합니다.

범위/유형문자참고
인덱스 0–25A–Z대문자
인덱스 26–51a–z소문자
인덱스 52–610–9숫자
인덱스 62–63+ /표준 Base64 기호
패딩=출력 길이가 4의 배수가 되도록 보장

크기 & 오버헤드

Base64는 텍스트 전용 채널에서 안전성을 위해 크기를 희생합니다. 인코딩 후 데이터가 약 1/3 정도 증가할 것으로 예상됩니다.

원본 크기Base64 크기 (약)오버헤드
3바이트4문자약 33% 증가
1 KB≈ 1.37 KB패딩 및 줄바꿈 포함 약 37%
1 MB≈ 1.37 MB더 큰 규모에서도 동일한 비율
압축 방법이 아닌 안전한 텍스트 전송(예: HTTP 헤더, JSON, HTML)이 필요할 때 Base64를 사용하세요.

성능 & 실용적 한계

인코딩 자체는 빠르지만, 큰 버퍼는 브라우저 메모리와 반응성에 영향을 미칠 수 있습니다.

페이로드 크기사용자 경험권장 사항
몇 KB즉시헤더, 구성 스니펫 및 테스트 데이터에 이상적
100 KB – 1 MB매우 반응적API 페이로드 및 픽스처에 일반적
1–5 MB최신 하드웨어에서 일반적으로 괜찮음자주 사용한다면 CLI 도구 고려
> 5–10 MB브라우저에서 느리거나 메모리를 많이 사용할 수 있음스트리밍 인코더 또는 CLI 유틸리티 사용

명령줄 Base64 인코딩

대용량 파일, 자동화 또는 CI 워크플로우의 경우 플랫폼의 기본 Base64 유틸리티를 사용하세요.

리눅스 / 🍏 macOS

문자열 인코딩

echo -n 'text' | base64

문자열 'text'를 Base64로 인코딩하며 줄바꿈을 추가하지 않습니다.

파일 인코딩

base64 input.bin > output.b64

input.bin에서 바이너리 데이터를 읽어 Base64 텍스트를 output.b64에 기록합니다.

Windows / PowerShell

PowerShell로 문자열 인코딩

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))

'text'의 UTF-8 바이트를 Base64 문자열로 변환합니다.

certutil로 파일 인코딩 (CMD)

certutil -encode input.bin output.b64

내장된 Windows 도구를 사용하여 Base64 인코딩된 파일을 생성합니다.

실전 활용 사례

웹 개발 & 데이터 URI

소형 자산과 리소스를 HTML, CSS 또는 JavaScript에 직접 인라인으로 포함합니다.

  • 로고, 아이콘 및 소형 이미지용 data:image/...;base64,... 생성
  • CSS 규칙에 폰트 또는 SVG 콘텐츠 인라인 포함
  • 소형 페이로드를 Base64 문자열로 LocalStorage에 저장
<img src="data:image/png;base64,iVBORw0KGgo...">
document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );

API 개발 & 헤더

텍스트 전용 채널을 통해 자격 증명과 소형 페이로드를 안전하게 전송합니다.

  • username:password 쌍으로 Authorization: Basic 헤더 구성
  • 커스텀 헤더 또는 쿼리 파라미터용 JSON 페이로드를 Base64로 인코딩
  • 바이너리 블롭을 Base64 문자열로 JSON에 래핑
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });

테스트, 픽스처 & 디버깅

테스트 및 디버깅 세션을 위한 안정적인 텍스트 전용 픽스처를 구축합니다.

  • 바이너리 픽스처(이미지, PDF)를 인코딩하여 테스트 코드에 포함
  • 샘플 페이로드를 바이너리 파일 커밋 대신 Base64 문자열로 저장
  • Base64로 인코딩된 필드를 예상하는 서비스를 위한 프로토타입 페이로드.
// 예시: Base64 픽스처를 사용한 Jest 테스트
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();

❓ Frequently Asked Questions

Base64는 왜 '=' 패딩을 사용하나요?

Base64는 입력을 3바이트(24비트) 블록으로 그룹화하고 4개의 문자(4 × 6비트)를 출력합니다. 입력 길이가 3으로 나누어 떨어지지 않을 때, 마지막 블록이 더 짧음을 나타내기 위해 '=' 패딩 문자가 추가됩니다. 패딩은 원본 데이터가 아닌 인코딩 형식의 일부입니다.

🔗URL-safe Base64는 어떻게 생성하나요?

URL-safe Base64는 '+'를 '-'로, '/'를 '_'로 대체하고 종종 후행 '=' 패딩을 제거합니다. 많은 라이브러리에 URL-safe 모드가 있습니다. 수동으로 수행해야 하는 경우 표준 Base64에서 시작하여 이러한 대체를 적용하고 사용 사례에 맞게 '='을 트리밍하세요.

🔒Base64 인코딩은 보안 조치인가요?

아니요. Base64는 이진 데이터를 텍스트로 안전하게 전송할 수 있게 하는(예: JSON, HTML 또는 헤더에서) **가역적 인코딩**입니다. 그 자체로 기밀성이나 무결성을 제공하지 않습니다. 보안을 위해서는 항상 HTTPS/TLS와 적절한 암호화(예: AES 또는 공개 키 방식)를 사용하세요.

📏여기서 인코딩할 수 있는 최대 파일 크기는 얼마인가요?

이 온라인 인코더는 몇 메가바이트까지의 페이로드에 가장 적합합니다. 더 큰 이진 파일도 작동할 수 있지만 브라우저에서 느리거나 메모리를 많이 사용할 수 있습니다. 대용량 파일의 경우 명령줄 도구나 스트리밍 인코더가 더 강력합니다.

Pro Tips

Performance Tip

매우 작은 자산(< 10 KB)의 경우 Base64 데이터 URI로 인라인 처리하면 HTTP 요청을 줄일 수 있지만, 큰 이미지나 글꼴에 대해서는 이 방법을 피하세요.

Security Tip

프로덕션 환경에서는 민감한 내용이 로그에 유출되지 않도록 잘린 Base64 페이로드(또는 해시)만 기록하세요.

Best Practice

백엔드가 Base64를 예상하는 경우, 서버 측에서 입력을 검증하고 정규화하여 잘못된 형식이나 비합리적으로 큰 페이로드를 거부하세요.

Additional Resources

Other Tools