Base64 인코딩/디코딩 (텍스트)
Input
Output
이 Base64 디코더를 사용하는 이유
- 텍스트 기반 페이로드에 대한 실시간 디코딩 미리보기
- 여러 줄 Base64 블록, PEM 스타일 섹션 및 데이터 URI 지원
- URL-안전 Base64 지원 (-/_ 변형) 및 자동 정규화
- 이메일 첨부 파일 및 MIME 블록에 친화적 (Content-Transfer-Encoding: base64)
- 바이너리 페이로드 처리 — 디코딩 결과를 파일로 다운로드
- 모바일 친화적 인터페이스로 이동 중 빠른 확인
- 브라우저 내에서 디코딩 — Base64 콘텐츠가 원격 서버로 전송되지 않음
🔧 Base64 디코딩 작동 방식 (단계별) for base64-decoder
Base64 데이터 붙여넣기 또는 드롭
Base64 문자열을 입력 영역에 붙여넣거나 Base64 데이터가 포함된 텍스트 파일을 드롭하세요. 이 도구는 data:*;base64,... URL에서 페이로드를 감지하고 추출할 수도 있습니다.
정규화 및 유효성 검사
디코더는 공백을 제거하고, URL-안전 문자(- 및 _)를 처리하며, 문자열이 유효한 Base64 문자와 선택적 패딩 =만 사용하는지 확인합니다.
Base64 블록 디코딩
4개의 Base64 문자마다 24비트로 매핑되어 3개의 원본 8비트 바이트로 재구성됩니다. 패딩 =은 마지막 그룹에 몇 바이트가 있는지 디코더에 알려줍니다.
결과 미리보기 또는 다운로드
디코딩된 출력이 텍스트인 경우 출력 패널에서 직접 확인할 수 있습니다. 바이너리 데이터(이미지, 문서, 아카이브 등)의 경우 디코딩 결과를 파일로 다운로드할 수 있습니다.
기술 사양
문자 집합 및 변형
디코더는 표준 Base64에 대해 RFC 4648을 따르며 URL-안전 변형도 이해합니다.
| 범위 / 유형 | 문자 | 참고 |
|---|---|---|
| 인덱스 0–25 | A–Z | 대문자 |
| 인덱스 26–51 | a–z | 소문자 |
| 인덱스 52–61 | 0–9 | 숫자 |
| 인덱스 62–63 | + / | 표준 Base64 기호 |
| 패딩 | = | 마지막 양자(quantum)가 불완전함을 나타냄 |
| URL-안전 | - _ | 일반적인 웹-안전 변형 (디코딩 전 + /로 재매핑됨) |
크기 관계 (원본 vs Base64)
Base64 인코딩은 크기를 약 1/3 정도 증가시킵니다. 디코딩할 때 데이터는 원래 크기로 축소됩니다.
| 원본 크기 | Base64 크기 (대략) | 오버헤드 |
|---|---|---|
| 3 바이트 | 4 문자 | 약 33% 더 큼 |
| 1 KB | ≈ 1.37 KB | 패딩과 줄바꿈 포함 약 37% 더 큼 |
| 1 MB | ≈ 1.37 MB | 더 큰 규모에서도 동일한 비율 |
성능 및 실용적 한계
Base64 디코딩은 가볍지만, 매우 큰 페이로드의 경우 브라우저 메모리가 여전히 중요합니다.
| 페이로드 크기 | 사용자 경험 | 권장사항 |
|---|---|---|
| 몇 KB | 즉시 | DevTools나 로그에서 빠르게 복사하기에 완벽함 |
| 100 KB – 1 MB | 여전히 매우 반응적 | API 응답이나 작은 첨부 파일에 일반적 |
| 1–5 MB | 일반적으로 최신 기기에서 문제없이 작동 | 바이너리 데이터는 다운로드 사용 |
| > 5–10 MB | 브라우저에서 느리거나 메모리 사용량이 많을 수 있음 | CLI 또는 언어 라이브러리 사용 권장 |
명령줄 Base64 디코딩
매우 큰 파일이나 자동화된 파이프라인의 경우 환경의 기본 Base64 도구를 사용하세요.
리눅스 / 🍏 macOS
Base64 문자열 디코딩
echo 'SGVsbG8=' | base64 --decode인라인 문자열 SGVsbG8=를 Hello로 디코딩합니다.
Base64 파일 디코딩
base64 -d input.b64 > output.binBase64 파일을 원시 바이너리 데이터로 변환합니다.
윈도우 / PowerShell
PowerShell로 디코딩
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8="))Base64 문자열을 UTF-8 텍스트로 디코딩합니다.
certutil로 디코딩 (CMD)
certutil -decode input.b64 output.bin내장된 Windows 도구를 사용하여 Base64 파일을 디코딩합니다.
실전 활용 사례
웹 개발 & API
브라우저에서 Base64 페이로드의 데이터를 검사하고 복구합니다.
- HTML/CSS에서 데이터 URI로 임베드된 이미지 디코딩.
- REST 또는 GraphQL 응답에서 Base64로 인코딩된 페이로드 검사.
- LocalStorage나 IndexedDB에 저장된 Base64 블롭 디코딩.
const binary = atob(base64String);const json = JSON.parse(atob(encodedJson));이메일 & MIME 첨부파일
Base64로 인코딩된 첨부파일과 MIME 파트 작업.
- EML 파일에서 Base64로 인코딩된 이메일 첨부파일 디코딩.
- Content-Transfer-Encoding: base64로 MIME 파트 검사.
- 인라인 이미지를 임베드하는 메일러 라이브러리 디버깅.
Content-Transfer-Encoding: base64const buffer = Buffer.from(encodedContent, 'base64');보안 & 포렌식
Base64 블롭 뒤에 실제로 숨겨진 내용을 이해합니다.
- 로그나 페이로드에서 발견된 의심스러운 Base64 블롭을 디코딩합니다.
- 난독화된 구성 값이나 스크립트 조각을 검사합니다.
- 다른 도구와 결합하여 인코딩된 IoC를 이해합니다.
// Node.js 예제: 의심되는 페이로드 디코딩
const decoded = Buffer.from(encoded, 'base64').toString('utf8');
console.log(decoded);
❓ Frequently Asked Questions
❓디코딩된 출력이 손상된 것처럼 보이는 이유는 무엇인가요?
Base64 문자열에 유효하지 않은 문자가 포함됨, (2) 패딩 = 문자가 누락되거나 잘림, (3) 원본 데이터가 바이너리(이미지, PDF, ZIP 등)였으나 일반 텍스트로 보려고 시도함. 마지막 경우에는 디코딩된 결과를 직접 표시하는 대신 파일로 다운로드하세요.🔗URL-safe Base64는 어떻게 처리하나요?
Base64는 '+'를 '-'로, '/'를 '_'로 대체하고 때로는 패딩 '='을 생략합니다. 이 도구는 디코딩 시 해당 문자를 자동으로 정규화합니다. 직접 구현하는 경우 '-' → '+', '_' → '/'로 교체한 후 길이가 4의 배수가 될 때까지 '='로 패딩하세요.🔒Base64는 데이터를 숨기는 안전한 방법인가요?
Base64는 인코딩이지 암호화가 아닙니다. 설계상 역변환이 가능하며 기밀성을 제공하지 않습니다. 디코딩된 페이로드에 민감한 정보가 포함된 경우 시스템에서 적절한 암호화(예: AES 또는 전송 중 TLS)가 사용되는지 확인하세요.📏여기서 안전하게 디코딩할 수 있는 최대 크기는 얼마인가요?
Base64 블록을 쉽게 처리합니다. 더 큰 페이로드는 작동할 수 있지만 느려지거나 메모리를 많이 사용할 수 있습니다. 약 5-10MB를 초과하는 경우 명령줄 도구나 서버 측 라이브러리를 사용하는 것이 더 좋습니다.Pro Tips
디코딩이 실패하면 먼저 모든 헤더('-----BEGIN' / 'END-----' 블록 등)를 제거하고 Base64 문자만으로 다시 시도하세요.
JSON을 예상하는 경우, 페이로드가 주장하는 내용과 다를 경우 빠르게 실패하도록 디코딩 단계를 try/catch와 JSON.parse로 감싸세요.
큰 바이너리 페이로드(이미지, 아카이브)의 경우 텍스트로 표시하려고 시도하는 대신 직접 파일로 디코딩하세요.
Additional Resources
Other Tools
- CSS 정리 도구
- HTML 정리 도구
- 자바스크립트 정리 도구
- PHP 정리 도구
- 색상 선택기
- 스프라이트 추출기
- Base64 인코더
- C# 포맷터
- CSV 포맷터
- Dockerfile Formatter
- Elm 포맷터
- ENV 포맷터
- Go 포맷터
- GraphQL 포맷터
- HCL 포맷터
- INI 포맷터
- JSON 포맷터
- LaTeX 포맷터
- 마크다운 포맷터
- Objective-C 포맷터
- Php Formatter
- 프로토콜 버퍼 포맷터
- Python 포맷터
- Ruby 포맷터
- Rust 포맷터
- Scala 포맷터
- 셸 스크립트 포맷터
- SQL 포맷터
- SVG 포맷터
- Swift 포맷터
- TOML 포맷터
- Typescript Formatter
- XML 포맷터
- YAML 포맷터
- Yarn 포맷터
- CSS 압축기
- Html Minifier
- Javascript Minifier
- JSON 압축기
- XML 최소화 도구
- HTTP 헤더 뷰어
- PDF 텍스트 변환
- 정규식 테스터
- 검색 순위 확인기
- Whois 조회