인코딩 · 디코딩 · 한글 · 이미지

Base64 인코딩과 디코딩, 한글도 깨지지 않게

글을 넣으면 Base64로, Base64를 넣으면 글로 바꿔요. 파일을 고르면 data 주소가 만들어지고, 풀어낸 값이 그림이면 바로 보여 줘요.

Base64 바꾸기

파일을 Base64로

넣은 내용은 이 브라우저 안에서만 처리하고, 어디에도 보내거나 저장하지 않아요.

Base64는 무엇인가요

Base64는 파일이나 글의 바이트를 영문 대소문자, 숫자, +, / 64개 글자로 옮겨 적는 방법이에요. 이메일, JSON, XML처럼 글자만 안전하게 다루는 곳으로 이미지 같은 파일을 보낼 때 써요.

3바이트를 묶어 4글자로 적고, 끝에 바이트가 모자라면 = 를 붙여 길이를 맞춰요. 한글은 글자마다 바이트가 여러 개라서 먼저 UTF-8 바이트로 바꾼 뒤 옮겨 적어요.

글을 Base64로 바꾼 예
글Base64
aYQ==
abYWI=
abcYWJj
HelloSGVsbG8=
안녕7JWI64WV

얼마나 커지나요

3바이트가 4글자가 되니 원래보다 약 3분의 1 커져요. 전송 전에 크기를 가늠할 때 참고하세요.

원래 크기와 Base64 글자 수
원래 크기Base64 글자 수
3바이트4자
1KB1,368자
100KB136,536자
1MB1,398,104자

암호화가 아니에요

Base64는 옮겨 적는 방법일 뿐 비밀번호가 없어요. 누구나 이 페이지 같은 도구로 바로 풀 수 있으니, 비밀번호나 개인정보를 숨기는 용도로 쓰면 안 돼요.

로그인에 쓰는 JWT도 앞부분은 Base64URL로 적혀 있어서 내용을 그대로 읽을 수 있어요. 값을 숨기려면 암호화를 따로 해야 해요.

주소에 넣는 Base64

+ 와 / 는 웹 주소에서 다른 뜻으로 쓰이는 글자예요. 그래서 주소나 파일 이름에 넣을 때는 + 를 - 로, / 를 _ 로 바꾸고 끝의 = 를 빼는 방식을 써요. 예를 들어 >>>??? 는 Pj4+Pz8/ 인데, URL용으로는 Pj4-Pz8_ 가 돼요.

이 도구는 풀 때 두 방식을 모두 알아서 읽어요. 줄바꿈이 섞여 있거나 끝의 = 가 빠져 있어도 괜찮아요.

이미지를 Base64로 쓸 때

자주 묻는 질문

풀었더니 글자가 깨져요.

다른 인코딩으로 만든 값일 수 있어요. 이 도구는 UTF-8을 먼저 읽고, 안 되면 옛날 한글 방식인 EUC-KR로 읽어요. 그래도 안 되면 글이 아닌 파일로 보고 저장 버튼을 보여 줘요.

Base64에 쓰지 않는 글자라고 나와요.

복사할 때 다른 글자가 섞였을 수 있어요. 앞뒤의 따옴표나 라벨을 지우고 다시 넣어 주세요. 안내에 몇 번째 글자인지 나와요.

글자 수가 맞지 않다고 나와요.

값이 잘렸을 때 나와요. 4글자씩 묶었을 때 1글자가 남는 값은 만들어질 수 없어요. 처음부터 끝까지 복사했는지 확인하세요.

파일 크기 제한이 있나요?

20MB까지 받아요. 더 큰 파일은 글자 수가 너무 많아져 브라우저가 느려져요.

이미지가 서버에 올라가나요?

아니요. 파일은 이 브라우저 안에서만 읽어요.

같은 글이 사이트마다 다르게 나와요.

글을 바이트로 바꾸는 방식이 다르면 결과가 달라요. 이 도구는 UTF-8을 써요. EUC-KR을 쓰는 곳과는 한글의 값이 달라요.

Base64를 쓸 때

결과를 다시 넣어 확인

‘결과를 다시 넣기’를 누르면 반대로 바꿔서 원래 글이 나오는지 볼 수 있어요.

앞뒤 따옴표는 빼고

JSON에서 복사했다면 따옴표를 빼고 넣으세요.

비밀 값은 숨겨지지 않아요

Base64는 누구나 풀 수 있으니 비밀번호를 담지 마세요.

주소에는 URL용

주소에 넣는 값은 URL용으로 만들면 다시 인코딩하지 않아도 돼요.

같이 보면 좋은 것

다른 날의 문구와 카드

참고한 자료

참고용 도구예요. 입력한 내용은 보내거나 저장하지 않지만, 회사 기밀이나 실제 비밀번호를 다룰 때는 소속 기관의 규정을 먼저 확인하세요. 발행