Base64 파일 변환기

Base64 문자열이나 data URI를 붙여넣으면 원래 파일을 복원합니다. 첫 바이트로 형식을 인식하고, 가능하면 미리 보기를 보여 주며, 알맞은 확장자로 저장합니다.

브라우저에서만 실행되며 어떤 데이터도 업로드되지 않습니다.

사용 방법

  1. Base64 문자열이나 전체 data URI를 입력란에 붙여넣습니다. 공백과 줄 바꿈은 상관없습니다.
  2. 감지된 파일 유형과 크기를 확인합니다. 이미지, PDF, 오디오, 동영상, 텍스트는 미리 보기로 표시됩니다.
  3. 파일을 다운로드합니다. 감지된 유형에 맞는 이름과 확장자로 저장됩니다.

파일 유형을 감지하는 방법

Base64 텍스트에는 바이트만 들어 있고 파일 이름은 없습니다. MIME 유형이 포함된 data URI를 붙여넣지 않는 한, 문자열 어디에도 PDF인지 ZIP 압축 파일인지 소리인지 알려 주는 정보가 없습니다. 그래서 이 도구는 데이터를 디코딩한 뒤 처음 몇 바이트를 살펴봅니다. 대부분의 형식은 파일 맨 앞에 파일 시그니처, 즉 "매직 바이트"를 둡니다. 이 바이트가 고정되어 있으므로 각 형식의 Base64 텍스트도 알아볼 수 있는 일정한 형태로 시작합니다.

형식첫 바이트Base64 시작 부분
PDF%PDFJVBER
PNG89 50 4E 47iVBORw0KGgo
JPEGFF D8 FF/9j/
GIFGIF8R0lGOD
ZIP(DOCX, XLSX, JAR 포함)PK 03 04UEsDB
ID3 태그가 있는 MP3ID3SUQz
WAV, WebP, AVI(RIFF)RIFFUklGR

디코딩한 파일이 열리지 않을 때

Base64 디코딩은 무손실이므로, 파일이 깨졌다면 거의 항상 입력이 예상과 달랐다는 뜻입니다. 다음 원인을 순서대로 확인하십시오.

  • 잘린 입력: 로그 파일, 터미널, 스프레드시트 셀, 채팅 앱은 긴 문자열을 자르는 경우가 많습니다. 끝부분이 빠지면 파일이 너무 짧아지고, 대부분의 형식은 열리지 않습니다. 원래 크기를 알고 있다면 디코딩된 크기와 비교해 보십시오.
  • 불필요한 문자: 값과 함께 복사된 따옴표, 쉼표, 필드 이름이나 JSON 문자열의 \/, \n 같은 이스케이프 시퀀스는 Base64의 일부가 아닙니다. 값 자체만 복사하십시오.
  • 다른 인코딩 또는 변형: 16진수, Base32, Base85, 사용자 지정 알파벳은 언뜻 비슷해 보여도 Base64로 디코딩하면 알아볼 수 없는 데이터가 됩니다. 인코딩 감지기는 모든 디코더를 시도해 어느 것이 맞는지 보여 줍니다.
  • 애초에 파일이 아닌 경우: 결과가 일반 텍스트로 감지되면 그 문자열은 JSON, 토큰, 또는 한 겹 더 인코딩된 Base64 같은 텍스트를 Base64로 인코딩한 것입니다. Base64 디코더로 읽어 보고, 출력이 다시 Base64라면 한 번 더 디코딩하십시오.

Base64 유효성 검사기는 잘못된 문자와 그 위치를 나열하고 패딩 문제를 알려 주므로, 손상된 부분을 찾는 데 도움이 됩니다.

코드로 Base64를 파일로 디코딩하기

# Python
import base64
with open('output.bin', 'wb') as f:
    f.write(base64.b64decode(data))

// Node.js
fs.writeFileSync('output.bin', Buffer.from(data, 'base64'));

# Linux
base64 -d input.txt > output.bin

# macOS
base64 -D -i input.txt -o output.bin

# Windows PowerShell
[IO.File]::WriteAllBytes("C:\files\output.bin", [Convert]::FromBase64String((Get-Content input.txt -Raw)))

자주 묻는 질문

어떤 파일 유형을 감지할 수 있습니까?

명확한 시그니처가 있는 일반적인 형식을 감지합니다. PDF, ZIP, GZIP, 7z, RAR 압축 파일, PNG, JPEG, GIF, WebP 등의 이미지, MP3, WAV, OGG, FLAC, M4A 오디오, MP4와 WebM 동영상, WOFF, WOFF2, TTF, OTF 글꼴, WebAssembly 등이 있습니다. JSON, XML, HTML, 일반 텍스트도 인식합니다. 시그니처가 없는 형식은 식별할 수 없으므로, 실제 유형을 알고 있다면 다운로드한 파일의 이름을 바꾸십시오.

Word나 Excel 파일이 ZIP으로 감지된 이유는 무엇입니까?

DOCX, XLSX, PPTX 파일은 EPUB, JAR와 마찬가지로 내부에 특정 폴더 구조를 가진 ZIP 압축 파일이며, 일반 ZIP 파일과 같은 매직 바이트로 시작합니다. 디코딩된 바이트는 정확합니다. 다운로드한 파일의 확장자를 .docx, .xlsx 등 필요한 것으로 바꾸면 정상적으로 열립니다.

data URI를 붙여넣어도 됩니까?
예. data:...;base64, 접두사를 포함한 전체 문자열을 붙여넣거나 Base64 부분만 붙여넣으십시오. 어느 쪽이든 디코딩된 바이트를 기준으로 유형을 확인합니다.
디코딩한 파일이 Base64 텍스트보다 작은 이유는 무엇입니까?

Base64는 3바이트마다 4문자를 사용하므로 파일 크기는 텍스트 길이의 약 4분의 3입니다. 예상한 파일보다 훨씬 작다면 입력이 잘렸을 가능성이 큽니다.

데이터가 어딘가로 전송됩니까?

아니요. 디코딩, 유형 감지, 미리 보기는 모두 브라우저에서 실행되며 다운로드 파일도 기기에서 만들어집니다. 아무것도 업로드되지 않습니다.