🔧 Base64 바이너리 인코더 — 파일/바이트를 Base64로 인코딩 (Base64url + MIME 옵션 포함)

100% 클라이언트 측 처리 (서버 업로드 없음). 형식 프리셋(RFC 4648, Base64url, MIME 줄바꿈), 패딩 제어, 엄격한 유효성 검사 및 일괄 다중 파일 지원으로 바이너리 파일/바이트를 Base64로 인코딩합니다. 또한 Base64를 다운로드 가능한 파일로 다시 디코딩하는 기능도 지원합니다.

Loading…

소개 Base64 인코딩/디코딩 (바이너리)

이 도구는 주로 바이너리 파일(바이트)을 전송용(JSON, 로그, 이메일, 구성 파일) Base64 텍스트로 인코딩하기 위한 것입니다. 또한 Base64를 다운로드 가능한 바이너리 파일로 다시 변환해야 할 때 디코딩 작업도 포함합니다. 모든 작업은 브라우저에서 로컬로 실행되며(업로드 없음), Base64 대 Base64url 대 MIME 줄바꿈, 패딩 동작 및 엄격한 유효성 검사에 대한 명확한 옵션을 제공합니다.

기능

  • 바이너리 파일 업로드 또는 드래그 앤 드롭 (다중 파일 일괄 처리 지원)
  • 두 가지 작업: 파일 → Base64 인코딩 또는 Base64 → 파일 다운로드 디코딩
  • 형식 프리셋: RFC 4648 (표준), RFC 4648 URL-안전 (Base64url), RFC 2045 MIME (76자 + CRLF 줄바꿈)
  • 패딩 제어: 자동, 항상 "=" 포함 또는 패딩 생략
  • 인코딩된 출력을 위한 선택적 줄바꿈 길이 (0은 비활성화; MIME은 일반적으로 76자 사용)
  • 잘못된 문자/패딩을 거부하는 엄격한 유효성 검사 모드 (디버깅에 유용)
  • Base64 출력에 선택적 최종 줄바꿈 (인코딩 모드)
  • 100% 클라이언트 측 처리 (서버 업로드 없음).

사용 방법 for base64-binary-encoder

1

하나 이상의 파일 드롭 (또는 디코딩을 위한 Base64 붙여넣기)

인코딩의 경우 바이너리 파일을 업로드 영역으로 드래그 앤 드롭하세요. 디코딩의 경우 받은 Base64 문자열(예: JSON, 로그 또는 이메일에서)을 붙여넣으세요.

2

작업/모드를 선택하고 실행

"작업"을 선택하세요: "파일 → Base64 인코딩" 또는 "Base64 → 파일 디코딩", 그런 다음 해당 실행 버튼(인코딩/디코딩)을 클릭하세요. 필요한 경우 "형식" 프리셋(표준/Base64url/MIME)을 선택하고, 패딩 및 줄바꿈을 조정하며, 잘못된 Base64를 디버깅할 때 "엄격한 유효성 검사"를 활성화하세요.

3

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
출력 Base64AAECAwQFBgcICQ==
출력이 다른 경우Base64url은 "+"/"/"를 "-"/"_"로 변경하며, 패딩이 생략되거나 MIME이 줄을 나눌 수 있습니다
인코딩은 결정적입니다: 동일한 바이트 + 동일한 옵션 → 동일한 Base64 출력.

오류 및 예외 상황

일반적인 실패 모드와 다음 조치 사항입니다.

증상가능한 원인확인 사항
디코딩을 위한 입력은 문자열이어야 합니다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.txt

input.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.bin

Base64 텍스트를 원시 바이트로 디코딩합니다.

macOS (BSD base64) / Unix

파일을 Base64로 인코딩

base64 < input.bin > output.b64.txt

BSD base64는 GNU와 다른 플래그를 사용합니다. 이 형식은 광범위하게 작동합니다.

Base64를 다시 파일로 디코딩

base64 -D < input.b64.txt > output.bin

macOS/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.bin

coreutils 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 엔드포인트를 제공하지 않습니다.

처리는 로컬인가요 원격인가요?

100% 클라이언트 측 처리(서버 업로드 없음). 파일/Base64 데이터는 브라우저에서 로컬로 처리됩니다.

여기서 비밀(키, 토큰, 비밀번호)을 안전하게 인코딩할 수 있나요?

피하세요. 처리는 로컬에서 이루어지지만, 클립보드 기록, 스크린샷, 확장 프로그램 또는 공유 장치를 통해 비밀이 유출될 수 있습니다. 비밀의 경우 로컬 명령줄 도구를 대신 사용하세요.

디코딩이 "잘못된 문자" 또는 "잘못된 패딩"으로 실패하는 이유는 무엇인가요?

대부분의 디코딩 실패는 형식 불일치(표준 vs Base64url vs MIME 래핑), 잘린 입력 또는 잘못된 패딩에서 비롯됩니다. 올바른 "형식" 프리셋을 선택하고, 패딩을 "자동"으로 설정하고, 일시적으로 "엄격한 검증"을 비활성화하여 입력이 약간만 비준수인지 확인해 보세요.

텍스트를 직접 붙여넣어 인코딩할 수 없는 이유는 무엇인가요?

이것은 바이너리(파일/바이트) 변형입니다. 인코딩은 바이트(File/Blob/Uint8Array/ArrayBuffer)를 기대합니다. 입력이 일반 텍스트인 경우 텍스트 Base64 인코더를 사용하여 텍스트-바이트 인코딩이 명시적으로 이루어지도록 하세요.

Pro Tips

Best Practice

URL-safe 토큰이 필요하다면 Base64url 프리셋을 선택하세요; 이는 "+"/"/"를 "-"/"_"로 대체하며 설정에 따라 패딩을 생략하는 경우가 많습니다.

Best Practice

디코딩 실패를 디버깅할 때는 Strict 검증을 활성화하여 더 빠르고 명확한 실패 메시지를 확인한 후, 생산자의 특이점을 파악하면 검증을 완화하세요.

CI Tip

CI에서 안정적인 diff를 위해 줄 바꿈과 마지막 개행을 표준화하여 Base64 출력이 환경 간에 변경되지 않도록 하세요.

Best Practice

대용량 파일이나 민감한 자료의 경우 로컬 CLI 도구를 선호하세요; 이는 브라우저 제한을 피하고 클립보드나 확장 프로그램을 통한 우발적 유출을 줄입니다.

Additional Resources

Other Tools

🔧 Base64 바이너리 인코더 — 파일/바이트를 Base64로 인코딩 (Base64url + MIME 옵션 포함) | Encode64