Base64 인코더 및 디코더 (텍스트/이미지)
문자열을 안전한 Base64 포맷으로 인코딩/디코딩하거나, 이미지 파일을 HTML/CSS에 직접 삽입할 수 있는 Base64 코드로 변환해 줍니다.
원본 데이터 입력
변환 결과
💡 함께 많이 쓰는 추천 도구
JWT (JSON Web Token) 디코더
복잡하게 인코딩된 JWT 토큰을 즉시 해독하여 Header와 Payload 데이터를 보여주고, 만료 시간(exp)을 읽기 쉽게 변환해 줍니다.
JSON 포매터 및 유효성 검사기
한 줄로 된 지저분한 JSON 데이터를 보기 좋게 정렬(Pretty Print)하거나, 콤마 누락 같은 문법 오류(Syntax Error)를 찾아줍니다.
SEO 메타 태그 생성기
사이트 제목, 설명, 썸네일 이미지만 입력하면 카카오톡, 페이스북 공유에 최적화된 오픈 그래프(Open Graph) 태그를 1초 만에 자동 생성합니다.
Base64 인코딩이란 도대체 무엇이고, 왜 사용할까요?
안녕하세요 개발자 여러분! 코딩을 하거나 브라우저의 개발자 도구를 뜯어보다 보면 SGVsbG8gV29ybGQ= 처럼 의미를 알 수 없는 긴 영어와 숫자, 그리고 맨 끝에 등호(=) 기호가 붙어 있는 이상한 문자열을 본 적이 있으실 겁니다. 이것이 바로 웹 개발의 필수 지식 중 하나인 Base64로 변환된 데이터입니다.
Base64는 직역하자면 '64진법'이라는 뜻입니다. 컴퓨터가 다루는 0과 1의 복잡한 이진 데이터(Binary Data)를 우리가 화면에서 읽을 수 있는 64개의 안전한 문자(A-Z, a-z, 0-9, +, /)로만 이루어진 문자열로 치환하는(인코딩하는) 과정을 말합니다.

데이터를 굳이 이렇게 복잡한 문자로 바꾸는 이유는 뭘까요?
과거의 이메일이나 아주 오래된 네트워크 시스템들은 데이터를 전송할 때 오직 '영어 알파벳'만 안전하게 전달할 수 있도록 설계되었습니다. 여기에 한글 같은 유니코드 문자나, 이미지, PDF 파일 같은 이진 데이터(Binary)를 그대로 던지면 시스템이 이 문자를 제대로 이해하지 못하고 데이터가 깨지거나 누락되는 대참사가 발생했습니다.
그래서 등장한 해결책이 바로 "어떤 복잡한 데이터든 간에, 무조건 가장 안전하고 에러가 없는 64개의 기본 알파벳 조합으로만 변환해서 보내자!"라는 아이디어입니다. 이렇게 변환된 Base64 문자열은 시스템을 안전하게 통과한 뒤, 도착지에서 다시 원래의 파일이나 한글 문자로 해독(디코딩)되어 사용됩니다. 즉, Base64는 시스템 간의 데이터 전송 충돌을 막아주는 일종의 '안전 포장지' 역할을 하는 것입니다.

프론트엔드 최적화의 꿀팁: 이미지를 Base64 (Data URI)로 삽입하기
최근 웹 프론트엔드 개발에서 Base64가 가장 많이 쓰이는 곳은 단연 '이미지 삽입'입니다. 보통 HTML에 이미지를 넣을 때는 <img src="logo.png"> 처럼 파일 경로를 적어줍니다. 이렇게 하면 브라우저는 HTML을 읽다가 멈추고 서버에 "logo.png 파일 좀 주세요"라고 추가적인 HTTP 통신 요청을 보내야 합니다.
하지만 아주 작은 아이콘이나 로고 하나 때문에 서버에 매번 요청을 보내는 것은 네트워크 낭비입니다. 이때 저희 웹 도구의 [이미지 ➔ Base64] 탭을 이용해 보세요. 이미지 파일을 업로드하면 data:image/png;base64,iVBOR... 형태의 긴 텍스트를 만들어 드립니다.
이 텍스트를 src 속성에 그대로 붙여넣으면? 브라우저는 서버와 추가 통신을 할 필요 없이 즉시 HTML 안에서 코드를 해독하여 이미지를 그려냅니다! (이를 Data URI 스킴이라고 부릅니다.) 물론 코드로 변환되면서 원본 이미지보다 용량이 약 33% 정도 커진다는 단점이 있으므로, 고화질의 큰 사진보다는 용량이 작은 아이콘이나 작은 썸네일에 적용하는 것이 최고의 성능 최적화 방법입니다.
🚨 반드시 알아야 할 주의사항: Base64는 '암호화'가 아닙니다!
"비밀번호를 Base64로 변환해서 DB에 저장하면 안전하겠지?"
초보 개발자들이 가장 많이 하는 치명적인 착각입니다. Base64로 문자를 바꾸면 겉보기엔 암호처럼 보이지만, 이것은 암호화(Encryption)가 아니라 단순한 인코딩(Encoding)입니다. 저희 도구의 디코더 탭에 복사해서 붙여넣기만 하면, 초등학생도 1초 만에 여러분이 숨겨둔 원래 비밀번호를 텍스트로 읽어낼 수 있습니다. 비밀번호나 개인정보 같은 민감한 데이터는 절대로 Base64로 저장하지 말고, 반드시 단방향 해시 함수(Bcrypt, SHA-256 등)를 사용하여 진짜 암호화를 적용하셔야 합니다.
btoa() 함수에 한글을 바로 넣으면 에러가 나거나 문자가 와장창 깨지게 됩니다. 본 도구는 이런 문제를 막기 위해 내부적으로 encodeURIComponent() 함수를 활용한 한글 인코딩 방어 로직이 완벽하게 구현되어 있으므로, 어떤 한국어 텍스트나 이모지를 넣으셔도 안전하게 변환하실 수 있습니다.