🔧 Base64 바이너리 인코더 — 파일/바이트를 Base64로 인코딩 (Base64url + MIME 옵션 포함)
100% 클라이언트 측 처리 (서버 업로드 없음). 형식 프리셋(RFC 4648, Base64url, MIME 줄바꿈), 패딩 제어, 엄격한 유효성 검사 및 일괄 다중 파일 지원으로 바이너리 파일/바이트를 Base64로 인코딩합니다. 또한 Base64를 다운로드 가능한 파일로 다시 디코딩하는 기능도 지원합니다.
기능
- 바이너리 파일 업로드 또는 드래그 앤 드롭 (다중 파일 일괄 처리 지원)
- 두 가지 작업: 파일 → Base64 인코딩 또는 Base64 → 파일 다운로드 디코딩
- 형식 프리셋: RFC 4648 (표준), RFC 4648 URL-안전 (Base64url), RFC 2045 MIME (76자 + CRLF 줄바꿈)
- 패딩 제어: 자동, 항상 "=" 포함 또는 패딩 생략
- 인코딩된 출력을 위한 선택적 줄바꿈 길이 (0은 비활성화; MIME은 일반적으로 76자 사용)
- 잘못된 문자/패딩을 거부하는 엄격한 유효성 검사 모드 (디버깅에 유용)
- Base64 출력에 선택적 최종 줄바꿈 (인코딩 모드)
- 100% 클라이언트 측 처리 (서버 업로드 없음).
사용 방법 for base64-binary-encoder
하나 이상의 파일 드롭 (또는 디코딩을 위한 Base64 붙여넣기)
인코딩의 경우 바이너리 파일을 업로드 영역으로 드래그 앤 드롭하세요. 디코딩의 경우 받은 Base64 문자열(예: JSON, 로그 또는 이메일에서)을 붙여넣으세요.
작업/모드를 선택하고 실행
"작업"을 선택하세요: "파일 → Base64 인코딩" 또는 "Base64 → 파일 디코딩", 그런 다음 해당 실행 버튼(인코딩/디코딩)을 클릭하세요. 필요한 경우 "형식" 프리셋(표준/Base64url/MIME)을 선택하고, 패딩 및 줄바꿈을 조정하며, 잘못된 Base64를 디버깅할 때 "엄격한 유효성 검사"를 활성화하세요.
Base64 출력 복사 또는 디코딩된 파일 다운로드
인코딩 후 Base64 텍스트를 복사하세요(설정에 따라 선택적으로 줄바꿈/줄바꿈 종료 포함). 디코딩 후 재구성된 바이너리 파일을 다운로드하세요(파일 이름 지정은 가능한 경우 도구 규칙을 따릅니다).
기술 사양
실행 모델
런타임 공개, 제약 사항 및 데이터 처리 방식.
| 측면 | 상세 내용 |
|---|---|
| 모드 | 100% 클라이언트 측 처리 (서버 업로드 없음). |
| 작업 범위 | 바이너리 → Base64 인코딩 (주요), 추가로 Base64 → 바이너리 다운로드 디코딩 |
| 입력 | 인코딩: File/Blob/Uint8Array/ArrayBuffer/TypedArray. 디코딩: Base64 문자열 |
| 출력 | 인코딩: Base64 텍스트. 디코딩: 다운로드 가능한 파일로 바이트 변환 |
| 제한 | ~1–2MB 문자; ~25000ms 타임아웃 |
| 보존 | 모든 처리는 사용자의 브라우저에서 로컬로 이루어집니다(업로드 없음) |
간단한 예시
Base64(표준 RFC 4648)로 인코딩된 작은 바이트 시퀀스입니다.
| 항목 | 값 |
|---|---|
| 입력 바이트(16진수) | 00 01 02 03 04 05 06 07 08 09 |
| 출력 Base64 | AAECAwQFBgcICQ== |
| 출력이 다른 경우 | Base64url은 "+"/"/"를 "-"/"_"로 변경하며, 패딩이 생략되거나 MIME이 줄을 나눌 수 있습니다 |
오류 및 예외 상황
일반적인 실패 모드와 다음 조치 사항입니다.
| 증상 | 가능한 원인 | 확인 사항 |
|---|---|---|
| 디코딩을 위한 입력은 문자열이어야 합니다 | Base64 텍스트 대신 바이트/파일을 제공하여 디코딩을 시도했습니다 | 파일의 경우 작업을 "인코딩"으로 설정하세요. 디코딩의 경우 Base64 문자열을 붙여넣으세요 |
| 이 도구는 바이너리 데이터를 인코딩합니다... 텍스트 문자열이 아닙니다 | 바이너리 인코더에 텍스트를 붙여넣어 인코딩을 시도했습니다 | 인코딩을 위해 파일을 업로드하세요(또는 바이트 제공). 순수 텍스트 워크플로우의 경우 텍스트 Base64 도구를 사용하세요 |
| 잘못된 문자 / 엄격한 검증 실패 | Base64에 선택된 형식에서 허용되지 않는 문자가 포함되었거나 패딩이 잘못되었습니다 | "형식"(표준 vs Base64url vs MIME)과 "패딩"을 확인하세요. 엄격 모드를 비활성화하여 관대한 입력을 허용하세요 |
| 길이/패딩 오류(특히 엄격 모드가 켜져 있을 때) | 잘린 Base64, 잘못된 "=" 패딩, 혼합된 알파벳 | 전체 페이로드를 다시 복사하세요. 후행 "="를 잃지 않았는지 확인하거나 패딩을 "자동"으로 설정하세요 |
| 입력이 너무 큼(최대 2MB) | 페이로드가 도구의 안전 제한을 초과했습니다 | 파일/페이로드를 분할하거나 더 큰 데이터의 경우 로컬 CLI/스크립트를 사용하세요 |
| 어댑터 호출 시간 초과 | 처리가 ~25초 타임아웃을 초과했습니다(크기/장치에 따라 다름) | 더 작은 입력을 시도하거나, 실시간 미리보기를 비활성화하거나, 로컬 명령줄 도구로 전환하세요 |
명령줄 대안
대용량 파일, 비밀 정보 또는 CI 사용을 위해 Base64 인코딩/디코딩을 로컬에서 실행하세요. 아래는 표준적이고 널리 사용 가능한 옵션입니다.
Linux/macOS (coreutils)
파일을 Base64로 인코딩 (줄 바꿈 없음)
base64 -w 0 input.bin > output.b64.txtinput.bin을 Base64로 인코딩합니다. -w 0 플래그는 줄 바꿈을 비활성화합니다 (GNU coreutils).
파일을 MIME 스타일 Base64로 인코딩 (76자/줄)
base64 -w 76 input.bin > output.mime.b64.txt일반적인 MIME 줄 길이와 일치합니다. (플랫폼에 따라 줄 끝 문자가 CRLF와 다를 수 있습니다.)
Base64를 다시 파일로 디코딩
base64 -d input.b64.txt > output.binBase64 텍스트를 원시 바이트로 디코딩합니다.
macOS (BSD base64) / Unix
파일을 Base64로 인코딩
base64 < input.bin > output.b64.txtBSD base64는 GNU와 다른 플래그를 사용합니다. 이 형식은 광범위하게 작동합니다.
Base64를 다시 파일로 디코딩
base64 -D < input.b64.txt > output.binmacOS/BSD에서는 디코딩에 일반적으로 -D를 사용합니다 (-d 아님).
OpenSSL (이식 가능)
파일을 Base64로 인코딩 (단일 줄)
openssl base64 -A -in input.bin -out output.b64.txt-A 플래그는 단일 줄을 출력합니다 (줄 바꿈 없음).
Base64를 다시 바이트로 디코딩
openssl base64 -d -in input.b64.txt -out output.bincoreutils base64를 사용할 수 없을 때 유용합니다.
Node.js
파일을 Base64로 인코딩
node -e "const fs=require('fs'); const b=fs.readFileSync('input.bin'); process.stdout.write(b.toString('base64'))" > output.b64.txt바이트를 읽어 Base64를 출력합니다.
Base64를 파일로 디코딩
node -e "const fs=require('fs'); const s=fs.readFileSync('input.b64.txt','utf8').trim(); fs.writeFileSync('output.bin', Buffer.from(s,'base64'))"Base64 텍스트를 원시 바이트로 디코딩합니다.
Python
파일을 Base64로 인코딩
python -c "import base64,sys; sys.stdout.write(base64.b64encode(open('input.bin','rb').read()).decode('ascii'))" > output.b64.txt파일 바이트를 Base64 ASCII로 인코딩합니다.
Base64를 다시 파일로 디코딩
python -c "import base64; open('output.bin','wb').write(base64.b64decode(open('input.b64.txt','rb').read()))"Base64를 원시 바이트로 디코딩합니다.
사용 사례
텍스트 채널에 바이너리 데이터 임베드하기
- JSON 페이로드 내부에 작은 바이너리 첨부하기
- 이슈 트래커나 문서에 파일을 Base64로 붙여넣기
- 텍스트만 허용하는 시스템을 통해 바이트 전송하기
다른 시스템에서 생성된 Base64 디버깅하기
- 생산자와 일치하도록 표준/Base64url/MIME 프리셋 간 전환하기
- 패딩/알파벳 오류를 잡기 위해 엄격한 검증 활성화하기
- 디코딩을 사용하여 페이로드가 원본 파일을 재구성하는지 확인하기
CI에서 작은 아티팩트에 대한 파이프라인 검사
- 게시 전에 아티팩트가 오류 없이 디코딩되는지 확인하기
- 안정적인 diff를 위해 Base64 출력(래핑/패딩) 정규화하기
비밀 바이너리 스니펫의 안전한 공유
- 원시 바이너리를 이메일로 보내지 않고 재현 가능한 테스트 픽스처 공유하기
- 브라우저 도구에서 비밀을 제외하고, 키/토큰에는 로컬 CLI 사용하기
❓ Frequently Asked Questions
이 도구에 공개 API가 있나요?
API 엔드포인트를 제공하지 않습니다.처리는 로컬인가요 원격인가요?
Base64 데이터는 브라우저에서 로컬로 처리됩니다.여기서 비밀(키, 토큰, 비밀번호)을 안전하게 인코딩할 수 있나요?
디코딩이 "잘못된 문자" 또는 "잘못된 패딩"으로 실패하는 이유는 무엇인가요?
텍스트를 직접 붙여넣어 인코딩할 수 없는 이유는 무엇인가요?
Base64 인코더를 사용하여 텍스트-바이트 인코딩이 명시적으로 이루어지도록 하세요.Pro Tips
URL-safe 토큰이 필요하다면 Base64url 프리셋을 선택하세요; 이는 "+"/"/"를 "-"/"_"로 대체하며 설정에 따라 패딩을 생략하는 경우가 많습니다.
디코딩 실패를 디버깅할 때는 Strict 검증을 활성화하여 더 빠르고 명확한 실패 메시지를 확인한 후, 생산자의 특이점을 파악하면 검증을 완화하세요.
CI에서 안정적인 diff를 위해 줄 바꿈과 마지막 개행을 표준화하여 Base64 출력이 환경 간에 변경되지 않도록 하세요.
대용량 파일이나 민감한 자료의 경우 로컬 CLI 도구를 선호하세요; 이는 브라우저 제한을 피하고 클립보드나 확장 프로그램을 통한 우발적 유출을 줄입니다.
Additional Resources
Other Tools
- CSS 정리 도구
- HTML 정리 도구
- 자바스크립트 정리 도구
- PHP 정리 도구
- 색상 선택기
- 스프라이트 추출기
- Base32 이진 인코더
- Base32 디코더
- Base32 인코더
- Base58 이진 인코더
- Base58 디코더
- Base58 인코더
- Base62 이진 인코더
- Base62 디코더
- Base62 인코더
- Base64 디코더
- Base64 인코더
- 16진수 이진 인코더
- 16진수 디코더
- 16진수 인코더
- 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 조회