파일 업로드
  1. base64hub
  2. 텍스트 도구
  3. MIME 인코더

76자 줄 바꿈 MIME Base64 인코더

텍스트를 붙여넣으면 이메일 본문과 첨부 파일이 쓰는 형식인 76자 줄로 나눈 Base64를 받습니다. PEM 블록이라면 64로, 한 줄이 필요하면 없음으로 바꾸세요.

무료 가입 없음, 제한 없음 로컬 업로드 없음 76 줄당 문자 수, RFC 2045 업데이트 2026. 10. 27.
입력 0 B출력 0 B크기 –

브라우저에서 처리됩니다. 이 페이지는 데이터를 어디로도 보낼 수 없습니다 – 확인 방법

MIME Base64를 만드는 방법

  1. 입력 · 텍스트에 텍스트를 붙여넣으세요. 줄 바꿈은 76 (MIME, LF) 로 미리 설정되어 있습니다.
  2. 메시지가 다른 문자 인코딩을 선언하지 않는다면 문자 인코딩을 UTF-8로 두고, Content-Type 헤더에도 같은 값을 쓰세요.
  3. 출력 · Base64에서 줄 바꿈한 Base64를 복사하거나 다운로드로 base64.txt를 받으세요.
  4. 인증서나 키 본문이라면 줄 바꿈을 64 (PEM) 로 바꾸세요. HTTP, JSON 등 한 줄이 필요한 곳에는 없음을 고르세요.

MIME Base64란

MIME(RFC 2045)은 이메일이 첨부 파일, 영어 외의 텍스트, HTML을 담을 수 있게 해 주는 표준입니다. 파트의 본문이 바이너리이거나 비 ASCII 바이트로 가득하면 보내는 쪽이 이를 Base64로 인코딩하고 Content-Transfer-Encoding: base64로 표시합니다. RFC 2045는 일반 Base64에 줄 길이 규칙을 더합니다. 인코딩된 줄은 최대 76자입니다. 76자 한 줄에는 입력 57바이트가 들어갑니다.

이렇게 인코딩한 텍스트 파트는 다음과 같습니다. 두 줄의 Base64는 아래 인용한 문장에 대한 이 도구의 출력입니다.

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

Q2Fmw6kgbWVudTogY3LDqG1lIGJyw7tsw6llLCBqYWxhcGXDsW8sIHNtw7ZyZ8Olc2JvcmQuIFRo
aXMgbGluZSBpcyBsb25nIGVub3VnaCB0byB3cmFwIGFmdGVyIDc2IGNoYXJhY3RlcnMu

원래 텍스트는 Café menu: crème brûlée, jalapeño, smörgåsbord. This line is long enough to wrap after 76 characters.이며 UTF-8로 108바이트입니다. Base64 디코더로 두 줄을 함께 디코딩하면 원래 문장이 나오고, 줄 바꿈은 무시됩니다.

줄 바꿈, CRLF, 크기

줄 바꿈에는 76열 변형이 두 가지 있습니다. 76 (MIME, LF) 는 줄 바꿈 문자(\n)로 줄을 나누고, 76 (MIME, CRLF) 는 \r\n을 씁니다. 실제로 전송되는 이메일은 CRLF를 쓰지만 메일 라이브러리가 메시지를 직렬화할 때 줄 끝을 변환하므로, 코드에서는 LF로 충분합니다. 출력을 원시 .eml 파일이나 SMTP 세션에 바로 붙여넣는다면 CRLF 변형을 고르세요.

줄 바꿈은 일반적인 33%에 약간의 공간을 더 씁니다.

출력입력 57바이트당 문자 수오버헤드
한 줄, 줄 바꿈 없음7633.3%
LF로 나눈 76자 줄7735.1%
CRLF로 나눈 76자 줄7836.8%

메일 크기 제한은 인코딩된 메시지에 적용되므로, 10 MB 첨부 파일은 제한 중 약 13.7 MB를 차지합니다. 정확한 수치는 크기 계산기가 알려 주고, 파트가 어떻게 구성되는지는 이메일 속 Base64에서 설명합니다.

헤더용 인코딩 워드

Subject나 From 같은 헤더에는 Content-Transfer-Encoding을 쓸 수 없습니다. 비 ASCII 헤더 텍스트에는 RFC 2047 인코딩 워드 =?charset?B?base64?=를 씁니다. 만들려면 줄 바꿈을 없음으로 두고 텍스트를 인코딩한 뒤 결과를 직접 감싸세요.

Subject: =?UTF-8?B?R3LDvMOfZSBhdXMgQmVybGlu?=

이것은 Grüße aus Berlin으로 디코딩됩니다. 인코딩 워드 하나는 최대 75자이며, 더 긴 제목은 공백으로 구분한 여러 인코딩 워드로 나눕니다. 대부분이 ASCII인 텍스트에는 메일 소프트웨어가 quoted-printable 기반의 ?Q? 형식을 쓰는 경우가 많습니다.

코드와 명령줄에서 MIME Base64

Python의 base64.encodebytes는 76자에서 \n으로 줄을 바꾸므로 이 도구와 같은 줄이 나옵니다.

import base64

text = "Café menu: crème brûlée, jalapeño, smörgåsbord. This line is long enough to wrap after 76 characters."
print(base64.encodebytes(text.encode("utf-8")).decode("ascii"))

메시지 전체라면 email 패키지가 인코딩, 헤더, CRLF를 알아서 처리합니다. Linux에서 GNU base64는 기본으로 76자에서, openssl base64는 64자에서 줄을 바꿉니다.

base64 attachment.pdf > attachment.b64
openssl base64 -in attachment.pdf -out attachment.pem.b64

반대로 원시 이메일을 분해하려면 본문과 첨부 파일을 꺼내 주는 이메일(EML) 디코더에서 여세요.

자주 묻는 질문

MIME Base64가 76자 줄을 쓰는 이유는 무엇인가요?

RFC 2045가 이메일의 줄 길이 제한인 998자(RFC 5322)보다 충분히 낮은 76자로 제한을 정했기 때문입니다. 76은 4의 배수라서 한 줄에 정확히 57바이트가 들어갑니다.

MIME Base64는 일반 Base64와 다른가요?

알파벳과 패딩은 같습니다. 유일한 차이는 줄 바꿈이며, 디코더는 줄 바꿈을 무시해야 하므로 줄 바꿈한 버전과 하지 않은 버전은 같은 바이트로 디코딩됩니다.

이메일 제목 줄의 Base64도 줄 바꿈해야 하나요?

아닙니다. 헤더는 =?UTF-8?B?R3LDvMOfZQ==?= 같은 RFC 2047 인코딩 워드를 쓰며, 여기에는 줄 바꿈이 들어가면 안 됩니다. 줄 바꿈을 없음으로 두고 제목을 인코딩하되, 인코딩 워드 하나는 75자 이하로 유지하세요.

openssl은 왜 64자 줄을 주나요?

openssl base64는 PEM 관례인 64자에서 줄을 바꾸고, GNU base64와 대부분의 메일 라이브러리는 76자에서 바꿉니다. 디코딩 결과는 같습니다. openssl과 똑같은 출력이 필요하면 여기서 64를 고르세요.