Base64 인코딩 · 디코딩 · 파일 ↔ data URI

글자를 Base64로 바꾸거나 되돌리고, 파일·이미지를 Base64(data URI)로 만들거나 Base64 문자열을 다시 파일로 복원합니다. 한글은 UTF-8로 처리하고, URL-safe 형식도 됩니다.

🔒 입력한 내용은 어디로도 전송되지 않습니다

글자 ↔ Base64

어느 쪽에 적어도 반대쪽이 바로 채워집니다. Base64를 붙여 넣으면 원문으로 풀고, 원문을 적으면 Base64로 만듭니다.

파일 → Base64 (data URI)

🔣 파일을 끌어다 놓거나 클릭해서 선택하세요 이미지·글꼴·아무 파일 · 5MB 이하 권장 (Base64는 원본보다 33% 커집니다)

Base64 → 파일 복원

이미지를 Base64로 넣기 전에 이미지 용량 줄이기로 작게 만들면 HTML도 가벼워집니다. 파일이 바뀌지 않았는지 확인하려면 파일 해시 확인, JSON 안에 든 값을 정리하려면 JSON 정리입니다.

Base64는 암호가 아닙니다

Base64는 바이트를 글자 64개(A–Z, a–z, 0–9, +, /)로 적는 표기법입니다. 누구나 되돌릴 수 있으므로 비밀을 숨기는 데는 쓸 수 없습니다. 쓰는 곳은 글자만 다룰 수 있는 곳에 파일을 끼워 넣을 때입니다 — HTML·CSS 안의 작은 이미지(data URI), 이메일 첨부(MIME), JSON에 든 파일, API 토큰의 일부. 원본보다 약 33% 커지므로 큰 파일에는 맞지 않습니다. 한글은 먼저 UTF-8 바이트로 바꾼 뒤 Base64로 적습니다. 그래서 다른 도구와 같은 값이 나오고, 거꾸로 풀 때도 한글이 깨지지 않습니다.

URL-safe 형식과 줄바꿈

표준 Base64의 +와 /는 주소(URL)에서 다른 뜻이 있어 깨집니다. URL-safe는 그 둘을 -와 _로 바꾸고 끝의 =를 뗀 형식으로, JWT 토큰이나 주소에 넣는 값이 이것입니다. 이메일(MIME)은 한 줄을 76자로 끊습니다. 풀 때는 어느 형식이든, 줄바꿈과 공백이 섞여 있어도 알아서 처리합니다. 입력이 Base64가 아니면(허용되지 않는 글자, 길이가 맞지 않음) 어느 자리가 문제인지 알려 줍니다.

자주 묻는 질문

입력한 내용이 서버로 전송되나요?

아니요. 변환은 브라우저 안에서만 이뤄지고 어디로도 전송되지 않습니다. 인터넷을 끊어도 동작합니다. 토큰이나 내부 파일을 넣어도 어디에도 남지 않습니다.

한글을 풀었는데 깨져요

그 Base64가 UTF-8이 아닌 다른 인코딩(EUC-KR 등)의 바이트를 적은 것일 수 있습니다. 이 페이지는 UTF-8로 풀며, 바이트가 UTF-8이 아니면 깨진 글자가 섞였다고 알려 줍니다. 그런 값은 "Base64 → 파일 복원"으로 파일로 저장한 뒤 다른 인코딩으로 열어 보세요.

data URI를 HTML에 어떻게 넣나요?

이미지는 <img src="data:image/png;base64,…">, CSS는 background-image: url("data:…")로 넣습니다. 결과 종류에서 그 형태를 고르면 그대로 복사됩니다. 수 KB짜리 아이콘에는 좋지만, 큰 그림은 파일로 두고 링크하는 편이 낫습니다.

Base64를 파일로 돌릴 때 형식을 어떻게 아나요?

data URI라면 앞의 MIME 형식을 읽습니다. Base64만 있으면 바이트 머리말(PNG·JPG·GIF·PDF·ZIP·WebP)로 추측해 확장자를 붙입니다. 모르면 .bin으로 저장하니 이름을 직접 적으세요.

큰 파일도 되나요?

수십 MB까지는 되지만 글자 상자가 느려집니다. Base64는 글자로 담기 위한 형식이라 애초에 큰 파일에 맞지 않습니다. 5MB 이하를 권합니다.