파일 및 페이지

Base64 파일 변환기

로컬에서 실행

도구 자체는 영어로 되어 있지만, 이 페이지에서는 귀하의 언어로 설명해 드립니다.

Base64 파일 변환기을(를) 사용하세요

기능

파일을 끌어다 놓거나 선택하면 Base64 data URI로 변환하고, data URI를 붙여 넣으면 내려받을 수 있는 파일로 다시 디코딩합니다.

이 서비스는 전적으로 브라우저에서 실행되며, 사용자가 입력한 내용은 전혀 업로드되지 않습니다.

Base64 파일 변환기 사용 방법

  1. 파일 선택 또는 끌어다 놓기. 점선 상자를 클릭해 파일을 고르거나 파일을 상자 위로 끌어다 놓습니다. 여러 파일을 놓으면 첫 번째 파일만 변환됩니다.
  2. data URI 확인. 아래 상자에 data:유형;base64, 뒤로 인코딩된 파일이 채워집니다. 그 아래 줄에 원본 크기, Base64 크기, 증가분이 표시됩니다.
  3. 결과 복사. Copy를 누르면 data URI 전체가 클립보드에 복사됩니다. 예를 들어 테스트 페이지나 사건 메모에 붙여 넣을 수 있습니다.
  4. 디코딩할 data URI 붙여 넣기. 반대 방향으로 변환하려면 하단 입력란에 data:image/png;base64...와 같은 데이터 URI를 붙여넣으세요. ;charset=utf-8과 같은 매개변수, 줄 바꿈, URL 호환 Base64 및 퍼센트 인코딩된 데이터 URI도 지원됩니다.
  5. 파일 내려받기 및 확인. Decode & Download(디코딩 및 다운로드)를 눌러 파일을 저장합니다. 의심스러운 이메일이나 페이지에서 나온 것이라면 열기 전에 File Type Sniffer와 File Hash로 확인하세요.

예시

작은 이미지

입력
A small PNG file, dropped onto the box or chosen by clicking it
출력 결과는 다음과 같습니다.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Original: 70 bytes | Base64: 96 bytes (37% overhead) | Data URI: 118 bytes

아래 상자에는 data:image/png;base64,... 형식의 데이터가 채워지며, 한 줄에는 원본 크기, 오버헤드가 포함된 Base64 크기, 전체 데이터 URI의 길이가 표시됩니다. Base64 크기는 파일 크기보다 약 3분의 1 정도 더 큽니다.

검증 대상

신호그 의미는 무엇인가
data: 뒤의 MIME 유형브라우저가 보고한 파일 유형으로, 보통 파일 이름의 확장자에서 나옵니다. 파일의 실제 내용을 증명하지는 않으므로, 이름을 바꾼 파일은 잘못된 유형을 그대로 가집니다.
원본 크기소수점 한 자리까지의 KB 단위 파일 크기입니다. 약 50바이트보다 작은 파일은 0.0 KB로 표시되는데, 이는 반올림 때문이며 빈 파일이라는 뜻이 아닙니다.
Base64 크기와 증가분data:유형;base64, 접두사를 제외한 Base64 부분의 길이와, 그것이 파일보다 얼마나 큰지입니다. 큰 파일은 33퍼센트 근처에 머물고, 아주 작은 파일은 패딩 때문에 더 크게 나옵니다.
디코딩된 파일 이름다운로드 파일의 이름은 ‘decoded.’로 시작하며, 여기에 MIME 유형에 따른 확장자가 추가됩니다. 예를 들어, text/plain의 경우 ‘decoded.png’나 ‘decoded.txt’가 되고, 유형이 지정되지 않은 경우에는 ‘decoded.bin’이 됩니다. 버튼 바로 아래 줄에는 파일 이름, 크기 및 유형이 표시됩니다.
버튼 아래의 메시지읽을 수 없는 데이터 URI나, A–Z, a–z, 0–9, +, / 이외의 문자가 포함된 Base64의 경우, 다운로드 대신 버튼 아래에 메시지가 표시됩니다.
로컬에 머무는 데이터인코딩은 브라우저 FileReader를 사용하고 디코딩은 메모리에서 파일을 만들므로, 이 도구는 파일이나 붙여 넣은 텍스트를 어디에도 보내지 않습니다.

더 많은 예시

RFC 4648 테스트 텍스트

입력
A text file foobar.txt that contains only the six letters foobar, with no line break
결과

data:text/plain;base64,Zm9vYmFy와 Original: 0.0 KB | Base64: 0.0 KB (33% overhead) 줄이 표시됩니다. Zm9vYmFy는 foobar에 대해 공개된 RFC 4648 테스트 벡터입니다.

짧은 텍스트 디코딩

입력
data:text/plain;base64,Zm9vYg==
결과

‘Decode & Download’는 ‘foob’이라는 텍스트가 포함된 4바이트 크기의 ‘decoded.txt’라는 파일을 저장하며, 버튼 아래의 줄에는 파일 이름, 파일 크기 및 ‘text/plain’ 유형이 표시됩니다.

특이한 확장자가 붙는 SVG 이미지

입력
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=
결과

브라우저가 decoded.svg+xml이라는 41바이트짜리 빈 SVG 이미지를 저장합니다. 내용을 보려면 확장자를 .svg로 바꾸세요.

자주 묻는 질문

무엇을 만들어 주나요?

브라우저가 해당 파일에 대해 보고하는 MIME 유형(보고되지 않은 경우 application/octet-stream)을 사용하여 data:type;base64,data 형식의 데이터 URI를 생성합니다. Base64 인코딩을 적용하면 데이터 크기가 약 3분의 1 정도 증가하며, 이는 암호화가 아닌 누구나 복호화할 수 있는 인코딩 방식입니다.

'Decode & Download'는 어떤 데이터 URI를 읽을 수 있나요?

data:image/png;base64;... 또는 data:text/plain;charset=utf-8;base64;...와 같은 Base64 데이터 URI, 줄 바꿈이나 URL 안전 문자가 포함된 경우, 그리고 ;base64;가 없는 퍼센트 인코딩된 URI 그 외의 모든 경우 버튼 아래에 메시지가 표시됩니다. 피싱 첨부 파일에서 디코딩된 파일은 유해할 수 있으므로, 열기 전에 File Type Sniffer로 확인하십시오.

파일이 업로드되나요?

아닙니다. 파일은 FileReader API를 통해 읽혀지며, 데이터 URI는 이 페이지에서 생성됩니다. 아무것도 업로드되지 않습니다. 50MB 이하의 파일만 변환되는데, 그보다 큰 데이터 URI는 탭이 멈출 수 있기 때문입니다.

피싱 이메일이나 페이지에 긴 data:... 문자열이 들어 있는 이유는 무엇인가요?

HTML 첨부 파일과 피싱 페이지는 로고, 글꼴, 스크립트 또는 파일 전체를 Base64 data URI로 포함하는 경우가 많습니다. 그러면 내용이 별도 주소에서 불러와지지 않고 페이지 안에 담겨 전달됩니다. 여기서 문자열을 디코딩하면 원래 페이지를 열지 않고도 그 안에 숨겨진 내용을 볼 수 있습니다.

data: 접두사가 없는 일반 Base64도 디코딩할 수 있나요?

네, 하나를 추가하면 됩니다. 문자열 앞에 “data:application/octet-stream;base64”를 입력하고 “디코딩 및 다운로드”를 누르면 decoded.bin이라는 이름의 파일이 생성됩니다. 짧은 텍스트의 경우 Base64 인코더/디코더를 사용하는 것이 더 빠릅니다.

작은 파일에서 증가분이 33퍼센트를 넘는 이유는 무엇인가요?

Base64는 3바이트마다 4개 문자로 바꾸고 마지막 묶음을 = 기호로 채웁니다. 몇 바이트짜리 파일에서는 이 패딩의 비중이 커서 1바이트 파일은 300퍼센트로 표시됩니다. 몇 킬로바이트 이상부터는 33퍼센트에 가깝게 유지됩니다.

의심스러운 메시지에서 디코딩한 SVG나 HTML 파일을 열어도 안전한가요?

평소 쓰는 브라우저에서는 안전하지 않습니다. SVG와 HTML 파일에는 열 때 실행되는 스크립트와 링크가 들어 있을 수 있습니다. 먼저 파일 유형과 해시를 확인하고, 이런 파일은 샌드박스나 별도의 분석용 컴퓨터에서만 여세요.

용어 설명

PhishDestroy 연구