본문으로 건너뛰기

Base64 디코딩

​

결과

Base64를 입력 칸에 붙여 넣으면 바로 디코딩됩니다. 텍스트라면 그대로 보여 주고(UTF-8이라 한글이 깨지지 않습니다), 이미지나 다른 파일이라면 형식을 판별해 미리 보기를 보여 주고 다운로드할 수 있게 합니다. data:로 시작하는 data URI, URL-safe 형식, 중간에 줄바꿈이 있는 문자열도 그대로 붙여 넣을 수 있습니다. 텍스트나 이미지를 Base64로 바꾸려면 위의 인코딩 탭으로 바꾸거나 Base64 인코딩을 이용하세요. 모든 처리는 브라우저에서 이루어집니다.


Base64 디코딩 사용 방법​

  1. Base64 문자열을 붙여 넣으면 결과가 바로 나옵니다. 예를 들어 7JWI64WV은 "안녕"이 됩니다.
  2. 올바른 Base64가 아니면(쓸 수 없는 문자, 길이 오류 등) 입력 칸 아래에 이유가 표시됩니다.
  3. 결과가 이미지, PDF, ZIP 같은 파일이면 「바이너리 데이터」와 파일 형식이 표시되고, 이미지는 미리 볼 수 있습니다. 「파일 다운로드」로 저장합니다.
  4. 텍스트라면 「복사」로 복사하거나 「인코딩으로 보내기」로 다시 인코딩해 비교할 수 있습니다.

Base64인지 구별하는 방법​

Base64에는 AZ, az, 09, +, /(URL-safe 버전은 -, _)만 있고, 끝에 =가 12개 붙을 수 있습니다. 공백을 뺀 길이는 보통 4의 배수입니다. 앞부분 문자로 내용 종류를 알 수 있는 경우도 많습니다.

시작 문자보통 내용
iVBORw0KGgoPNG 이미지
/9j/JPEG 이미지
R0lGODGIF 이미지
JVBERi0PDF 문서
UEsDBZIP 압축 파일(docx, xlsx 포함)
eyJJSON(JWT 헤더 등)

Base64 디코딩이 안 되거나 글자가 깨지는 이유​

  • 앞에 다른 글자가 붙어 있음: data:image/png;base64,나 Basic 등. data URI 접두사는 이 도구가 자동으로 지우지만, 그 밖의 것은 직접 지워야 합니다.
  • 애초에 Base64가 아님: 16진수 문자열이나 암호화된 데이터는 디코딩해도 의미 없는 바이트가 됩니다.
  • 내용이 텍스트가 아님: 이미지와 압축 파일은 바이너리라서 파일로 저장해야 합니다. 이 도구는 자동으로 다운로드를 제공합니다.
  • 문자 인코딩이 다름: 이 도구는 UTF-8로 읽습니다. EUC-KR로 만든 텍스트는 깨져 보입니다.
  • 문자열이 잘림: 로그나 웹 페이지에서 복사할 때 일부가 빠져 길이가 맞지 않습니다.

JWT 내용 확인하는 법​

JWT(JSON Web Token)는 .으로 구분된 Base64URL 세 부분(헤더, 페이로드, 서명)으로 되어 있습니다. 가운데 페이로드를 이 도구에 붙여 넣으면 사용자 ID나 만료 시간 exp 같은 JSON을 볼 수 있습니다(exp는 Unix 타임스탬프이므로 타임스탬프 변환기로 날짜로 바꿀 수 있습니다). 세 번째 서명은 암호 연산 결과라 텍스트가 아닙니다. JWT는 암호화가 아니어서 누구나 페이로드를 볼 수 있으니 기밀 정보는 넣지 마세요.

프로그래밍 언어별 Base64 디코딩​

언어·도구Base64 → 텍스트 (UTF-8)
JavaScript (Node.js)Buffer.from(b64, 'base64').toString()
JavaScript (Web API)new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))
Pythonbase64.b64decode(b64).decode()
Javanew String(Base64.getDecoder().decode(b64), StandardCharsets.UTF_8)
C#Encoding.UTF8.GetString(Convert.FromBase64String(b64))
PHPbase64_decode($b64)
Linux / macOSbase64 -d file.txt

URL-safe 형식은 Python base64.urlsafe_b64decode(), Java Base64.getUrlDecoder(), Node.js Buffer.from(b64, 'base64url')로 디코딩합니다. 끝의 =가 빠진 문자열은 언어에 따라 먼저 채워야 디코딩됩니다.

자주 묻는 질문​

Base64를 디코딩하면 글자가 깨져요. 어떻게 하나요?​

먼저 내용이 텍스트인지 확인하세요. 이미지와 압축 파일은 텍스트가 아니라서 파일로 저장해야 합니다. 텍스트가 맞다면 UTF-8이 아닌 인코딩(EUC-KR 등)으로 만들어졌거나, 앞에 다른 글자가 붙어 있거나, 복사할 때 잘렸을 수 있습니다.

Base64를 이미지로 되돌리려면?​

이미지의 Base64나 data URI를 이 도구에 붙여 넣으세요. 이미지 형식을 자동으로 판별해 미리 보기를 보여 주고, 다운로드 버튼으로 PNG, JPEG 등 이미지 파일로 저장할 수 있습니다.

Base64는 복호화할 수 있나요?​

Base64는 암호화가 아니므로 비밀번호 없이 누구나 디코딩할 수 있습니다. 다만 인코딩 전에 AES 등으로 암호화된 내용이라면, 디코딩해도 암호화된 데이터만 나오며 원래대로 되돌리려면 키가 필요합니다.

URL-safe Base64란? 그대로 디코딩할 수 있나요?​

URL-safe Base64(Base64URL)는 +를 -로, /를 _로 바꾸고 보통 끝의 =도 생략한 형식으로, URL과 JWT에서 많이 씁니다. 이 도구는 자동으로 인식해 패딩을 채우므로 그대로 붙여 넣어 디코딩할 수 있습니다.

데이터가 업로드되나요?​

아닙니다. 디코딩은 모두 브라우저에서 이루어지며 이 사이트나 제3자 서버로 전송되지 않습니다.

다른 유용한 도구