Base64 인코딩·디코딩
Base64 인코딩·디코딩은 텍스트와 이미지를 UTF-8 기준으로 Base64 문자열과 서로 바꾸는 무료 도구입니다.
모든 처리는 브라우저에서 이루어지며 서버로 전송되지 않습니다.
사용법
- 글자를 붙여 넣거나 이미지를 선택합니다.
- 인코딩 또는 디코딩을 누릅니다.
- 결과를 복사합니다.
Base64는 파일이나 글의 바이트를 64가지 문자로 늘어 적는 방법입니다. 메일이나 JSON처럼 이진 데이터를 그대로 넣기 어려운 자리에 글을 끼워 넣으려고 씁니다. 암호처럼 열쇠가 있어야 열리는 형식이 아니라, 규칙을 아는 사람은 누구나 되돌릴 수 있습니다.
이 페이지의 글자 인코딩은 UTF-8입니다. 한글 한 음절은 UTF-8에서 3바이트라, 그 바이트를 Base64로 바꾸면 다시 디코딩했을 때 같은 글이 나옵니다. 결과가 깨지면 원문이 UTF-8이 아니었을 가능성이 큽니다. EUC-KR로 만든 바이트를 UTF-8로 읽으면 한글이 다른 문자로 보입니다. 문자셋을 골라 바꾸는 옵션은 두지 않았고, UTF-8만 사용합니다.
이미지를 고르면 data URL 형태의 Base64 문자열이 나옵니다. 스타일시트에 작은 아이콘을 직접 넣을 때 쓰지만, 문자열은 원본보다 대략 33퍼센트 커집니다. 큰 사진은 이렇게 넣기보다 이미지 용량 줄이기로 파일을 줄인 뒤 쓰는 편이 낫습니다.
토큰이나 키를 붙여 넣는 사람이 많으므로, 입력값은 서버로 전송하지 않습니다. 화면을 떠나기 전에 칸을 비우는 습관이 안전합니다. JSON 문자열을 보기 좋게 맞출 때는 JSON 포맷터로 이어가면 됩니다. 영문 대소문자만 바꿀 글은 대소문자 변환에 붙여 넣으면 됩니다.
자주 묻는 질문
Base64란 무엇인가요?
바이너리를 영문, 숫자, 더하기, 슬래시 같은 64개 문자로 적는 인코딩입니다. 내용을 숨기는 암호화가 아닙니다.
Base64 디코딩 결과 한글이 깨지는 이유는?
이 페이지는 글을 UTF-8 바이트로 인코딩하고, 디코딩도 UTF-8로 읽습니다. 원문이 EUC-KR 같은 다른 인코딩이면 글자가 깨져 보입니다.
이미지를 Base64로 바꾸는 이유는?
HTML이나 CSS 안에 파일을 문자열로 넣기 위해서입니다. 용량은 원본보다 대략 삼분의 일 정도 커집니다. 웹에 올릴 사진의 용량이 문제면 이미지 용량 줄이기를 먼저 쓰세요.
Base64는 암호화인가요?
아닙니다. 같은 도구로 누구나 원래 바이트를 되돌릴 수 있습니다. 비밀번호나 비밀 키를 숨기는 용도로 쓰지 마세요.