본문으로 건너뛰기

A–Z a–z 0–9 + / = · base64url

Base64 인코더·디코더

Base64는 바이트를 출력 가능한 64개 문자로 된 텍스트로 나타냅니다. "Hello"의 5바이트는 SGVsbG8=이 됩니다. 텍스트를 입력하거나 파일을 골라 인코딩하고, Base64를 붙여넣어 다시 텍스트나 다운로드 파일로 바꿀 수 있습니다.

모든 처리는 이 탭 안에서 이루어지며 업로드되는 것은 없습니다. Base64는 암호화가 아니라 인코딩입니다. 누구나 되돌릴 수 있습니다.

Scanned by NortonTM Safe Web

한눈에 보기

가격
비용 없음
계정
필요 없음
표준
RFC 4648 (Base64 및 Base64url), RFC 2045 (MIME), RFC 2397 (데이터 URI)
크기 변화
3바이트마다 4문자
제한
텍스트나 파일당 10 MB
업로드
없음 — 텍스트와 파일은 브라우저 탭 안에 머뭅니다

Base64 예시

아래의 모든 값은 이 페이지의 인코더가 만든 것입니다. 텍스트는 먼저 UTF-8로 인코딩됩니다.

텍스트의 Base64 및 Base64url 변환
텍스트Base64패딩 없는 Base64urlUTF-8 크기
HelloSGVsbG8=SGVsbG85 B
Hello, World!SGVsbG8sIFdvcmxkIQ==SGVsbG8sIFdvcmxkIQ13 B
GrüßeR3LDvMOfZQ==R3LDvMOfZQ7 B
€4oKs4oKs3 B
FB FF+/8=-_82 B
RFC 4648의 테스트 벡터
입력Base64길이패딩 문자
fZg==42
foZm8=41
fooZm9v40
foobZm9vYg==82
foobaZm9vYmE=81
foobarZm9vYmFy80

Base64를 인코딩하고 디코딩하는 방법

1

방향 고르기

텍스트나 파일을 Base64로 바꾸려면 인코딩을, Base64를 원래대로 되돌리려면 디코딩을 고르세요. 교환 버튼을 누르면 결과가 반대 방향의 입력으로 옮겨집니다.

2

데이터 입력

텍스트를 입력하거나 붙여넣고, 또는 최대 10 MB의 파일을 끌어다 놓으세요. 디코딩할 때는 표준 또는 URL 안전 알파벳의 Base64를 = 패딩이 있든 없든 붙여넣거나, 데이터 URI를 붙여넣으세요.

3

결과 복사

결과를 복사하거나 다운로드하세요. 디코딩된 바이트가 텍스트가 아니면 페이지는 앞부분 바이트를 16진수로 보여 주고, 알 수 있는 경우 파일 형식을 알려 주며, 바이트를 파일로 저장할 수 있게 합니다.

Base64는 어떻게 동작하나요

Base64(RFC 4648)는 입력을 3바이트, 즉 24비트씩 묶고, 각 묶음을 64자 알파벳(A–Z, a–z, 0–9, +, /)에서 고른 6비트짜리 문자 4개로 씁니다. 그래서 출력은 입력보다 약 3분의 1 큽니다. 입력이 3바이트의 배수가 아니면 = 기호로 끝을 4자의 배수로 맞추므로, Hello의 5바이트는 = 하나로 끝나는 8자가 됩니다.

같은 RFC에 정의된 Base64url은 + 대신 -, / 대신 _를 써서 URL이나 파일 이름에 안전하며, JWT 같은 형식에서는 = 패딩을 뺍니다. 이 페이지는 두 알파벳을 모두, 패딩이 있든 없든 읽고 공백과 줄바꿈은 무시합니다. 텍스트는 먼저 UTF-8로 변환되므로 €는 E2 82 AC의 3바이트가 되어 Base64로는 4oKs가 됩니다. 텍스트나 파일의 제한은 10 MB입니다.

Base64 질문

텍스트를 Base64로 어떻게 인코딩하나요?

인코딩 모드에서 텍스트를 입력하거나 붙여넣으세요. 입력하는 대로 Base64가 나타납니다. Hello는 SGVsbG8=이 됩니다. 텍스트는 먼저 UTF-8로 쓰이므로 ASCII 밖의 문자는 바이트가 둘 이상 필요합니다. €는 3바이트이며 4oKs가 됩니다.

Base64와 Base64url은 무엇이 다른가요?

Base64url은 두 문자를 바꿉니다. +는 -로, /는 _로 대체됩니다. 바이트 FB FF는 Base64에서 +/8=, Base64url에서 -_8=입니다. URL 안전 형식은 URL, 파일 이름, JWT에 쓰이며 = 패딩을 생략하는 경우가 많습니다.

Base64는 왜 = 기호로 끝나나요?

패딩입니다. Base64는 3바이트와 4문자 단위로 동작합니다. 마지막 묶음이 1바이트이면 =가 두 개 채워집니다. f는 Zg==가 됩니다. 2바이트이면 =가 하나 채워집니다. fo는 Zm8=가 됩니다. 3바이트의 배수이면 필요 없습니다. foo는 Zm9v입니다.

Base64는 암호화인가요?

아니요. Base64는 키가 없는 가역적 인코딩이라 누구나 디코딩할 수 있으며 데이터를 보호하지 않습니다. 이메일, JSON, XML, 데이터 URI 같은 텍스트에 바이너리 데이터를 안전하게 넣을 수 있게 해 줄 뿐입니다.

Base64로 데이터가 얼마나 커지나요?

약 3분의 1 커집니다. 3바이트마다 4문자가 되므로 3000바이트는 4000문자가 됩니다. 76자마다(MIME, RFC 2045) 또는 64자마다(PEM, RFC 7468) 줄바꿈을 넣으면 조금 더 늘어납니다.

디코딩하면 왜 유효한 UTF-8 텍스트가 아니라고 나오나요?

Base64 자체는 문제가 없지만 그 안의 바이트가 텍스트가 아닙니다. 이미지, 압축 파일 또는 다른 바이너리 형식일 수 있습니다. 이 경우 페이지는 앞 64바이트를 16진수로 보여 주고, 알 수 있으면 파일 형식을 알려 주며, 바이트를 다운로드로 제공합니다.