본문으로 건너뛰기
SPCXTools

Base64 인코딩 및 디코딩

텍스트와 파일을 Base64로 변환하거나 그 반대로 변환하세요. UTF-8 및 Base64URL을 완벽하게 지원합니다.

로컬 실행 — 파일이 기기 외부로 전송되지 않습니다

도구 불러오는 중…

Base64 인코딩 및 디코딩 사용 방법

  1. 1텍스트를 Base64로 변환하려면 인코딩을, Base64를 다시 텍스트로 변환하려면 디코딩을 선택하세요.
  2. 2입력란에 텍스트를 입력하거나 붙여넣으세요. 결과가 즉시 업데이트됩니다.
  3. 3결과를 URL, 파일 이름 또는 JWT에 사용할 경우 **URL-safe (Base64URL)**를 선택하세요.
  4. 4파일을 인코딩하려면 파일 영역에서 파일을 선택하거나 드래그 앤 드롭하세요. HTML이나 CSS에 붙여넣을 수 있는 문자열을 얻으려면 Data URL을 선택하세요.
  5. 5결과를 복사하거나, 디코딩 모드에서는 디코딩된 바이트를 파일로 다운로드하세요.

Base64 인코더 및 디코더

Base64는 텍스트, 이미지, PDF, 키 등 모든 데이터를 A–Z, a–z, 0–9, +, / 등 64개의 안전한 문자만 사용하여 나타내는 방법입니다. 이 도구는 텍스트와 파일을 Base64로 인코딩하고, Base64를 다시 읽을 수 있는 텍스트나 원본 파일로 디코딩합니다. 모든 변환은 브라우저에서 즉시 처리되며, 입력하거나 선택한 데이터는 서버로 업로드되지 않습니다.

주요 기능

  • 텍스트를 Base64로 인코딩: 올바른 UTF-8 처리를 통해 모든 언어와 이모지를 지원합니다.
  • Base64를 텍스트로 디코딩: 이메일이나 로그에서 복사할 때 흔히 발생하는 줄바꿈, 공백, 누락된 패딩(padding)을 허용하여 유연하게 처리합니다.
  • Base64URL 모드: JWT, OAuth 및 다양한 웹 API에서 사용되는 URL 안전(URL-safe) 출력을 지원합니다.
  • 파일을 Base64로 변환: <img src> 또는 CSS url()에 바로 사용할 수 있는 완전한 data: URL 출력 옵션을 제공합니다.
  • Base64를 파일로 변환: 이미지나 PDF와 같은 바이너리 콘텐츠인 경우, 디코딩된 데이터를 파일로 다운로드할 수 있습니다.

Base64 사용처

이메일 첨부파일. MIME 표준은 텍스트 기반 시스템에서 바이너리 파일이 손상 없이 전송되도록 첨부파일을 Base64로 인코딩합니다.

데이터 URL. 작은 아이콘이나 이미지를 data:image/png;base64,… 형태로 HTML이나 CSS에 직접 삽입하여 추가 네트워크 요청을 줄일 수 있습니다.

API 및 설정. 인증서, 암호화 키, 파일 업로드 등의 바이너리 데이터는 JSON 내에서 Base64 문자열로 전송되는 경우가 많습니다. 쿠버네티스(Kubernetes) 시크릿과 다양한 환경 변수 역시 값을 Base64로 저장합니다.

인증. HTTP 기본 인증은 username:password를 Base64로 인코딩하여 전송하며, JSON Web Token(JWT)은 Base64URL로 인코딩된 세 부분으로 구성됩니다. 토큰의 내용을 확인하려면 JWT 디코더를 사용하세요.

Base64 작동 원리

인코더는 입력 데이터를 3바이트(24비트)씩 가져와 4개의 6비트 그룹으로 나눕니다. 각 6비트 값(0~63)은 Base64 알파벳의 한 문자에 매핑됩니다. 입력 길이가 3의 배수가 아닐 경우, 출력 길이가 4의 배수가 되도록 끝에 하나 또는 두 개의 = 기호를 패딩(Padding)으로 추가합니다.

3바이트가 4개의 문자로 변환되기 때문에 Base64 데이터는 원본보다 크기가 약 33% 증가합니다. 이러한 용량 증가는 텍스트 전용 시스템에서 바이너리 데이터를 안전하게 전송하기 위해 발생하는 오버헤드입니다.

Base64는 URL 인코딩과 다릅니다. 쿼리 스트링에 임의의 텍스트를 포함해야 한다면 URL 인코드/디코드 도구를 사용하세요. 두 파일이 동일한지 확인하려면 해시 생성기를 사용하여 체크섬을 비교해 보세요.

자주 묻는 질문 (FAQ)

Base64는 암호화의 일종인가요?
아닙니다. Base64는 암호화가 아닌 인코딩입니다. 암호키 없이 누구나 디코딩할 수 있습니다. 텍스트 전용 채널로 바이너리 데이터를 전송할 때만 사용하고, 기밀 데이터를 숨기는 용도로는 절대 사용하지 마세요.
Base64 출력 결과가 입력보다 큰 이유는 무엇인가요?
Base64는 3바이트를 4개의 문자로 표현하므로 인코딩된 데이터는 원본보다 약 33% 더 커집니다(최대 2개의 = 패딩 문자 포함).
Base64URL이란 무엇인가요?
Base64URL은 +를 -로, /를 _로 대체하고 대개 끝에 붙는 = 패딩을 생략하여 URL과 파일 이름에서 문자열을 안전하게 사용할 수 있도록 합니다. JSON Web Token(JWT)은 Base64URL을 사용합니다. 이 디코더는 두 가지 방식을 모두 자동으로 지원합니다.
이모지와 영어가 아닌 텍스트도 지원하나요?
네. 텍스트는 인코딩 전에 UTF-8 바이트로 변환되고 UTF-8로 디코딩되므로 악센트, 중국어, 아랍어, 이모지 및 기타 문자가 깨지지 않고 올바르게 변환됩니다.
내 파일이 서버에 업로드되나요?
아닙니다. 파일은 브라우저의 File API를 통해 읽히고 사용자의 기기 내에서 인코딩됩니다. 어떤 데이터도 서버로 전송되지 않습니다.
디코딩된 텍스트가 알 수 없는 문자로 깨져 보입니다. 왜 그런가요?
해당 Base64에 텍스트가 아닌 이미지, PDF, 압축 파일 등의 바이너리 데이터가 포함되어 있을 가능성이 높습니다. 파일 다운로드를 사용하여 디코딩된 바이트를 저장한 다음, 알맞은 프로그램으로 파일을 열어보세요.