Decodex
무료 온라인 도구

무료 온라인 BASE64 변환 도구

Base64 디코딩

Base64·Base64URL을 한글·영문·이모지가 포함된 텍스트로 변환하세요. UTF-8이 기본이며 원본 문자 인코딩을 직접 선택할 수 있습니다. 가입 없이 무료로 자동 변환하고 결과를 복사하세요.

입력하거나 붙여넣으면 자동으로 변환합니다. 끄면 버튼으로 직접 변환할 수 있습니다.

Base64·Base64URL 지원 · 공백과 줄바꿈 자동 제외

원본 문자 인코딩 · UTF-8

기본값은 UTF-8입니다. 글자가 깨지면 원본에 사용된 문자 인코딩을 선택하세요.

파일도 변환할 수 있어요 ↓

파일 디코딩

Base64 텍스트를 원래 파일 데이터로 복원하고 다운로드하세요.

Base64 파일 최대 140 MB · 복원 데이터 최대 100 MB

일상적인 텍스트 변환

코드 조각, API 값, UTF-8 문자열을 간편하게 변환하세요.

브라우저에서 변환

입력과 결과는 브라우저에서 처리하며 변환 서버로 전송하지 않습니다. 사이트 방문은 Google 애널리틱스로 측정합니다.

Base64란?

Base64는 데이터를 텍스트로 표현하는 방식입니다. 암호화가 아니며 민감한 정보를 보호하지 않습니다.

Base64 디코딩 방법과 사용 예제

Base64 디코딩은 문자열로 표현된 데이터를 원래 바이트로 되돌리는 과정입니다. 위의 텍스트 변환 영역에서는 한글·영문·이모지를 선택한 문자 인코딩으로 읽을 수 있습니다. 이미지·PDF 등은 아래 파일 디코딩 영역에서 Base64 텍스트 파일을 선택해 복원하고 다운로드하세요.

  1. 입력 칸에 Base64 문자열을 붙여넣으세요. JSON의 따옴표나 data:text/plain;base64, 같은 접두사는 빼고 변환할 부분만 넣으세요.
  2. 입력하거나 붙여넣으면 자동으로 변환됩니다. 자동 변환을 끄면 변환 버튼이나 Ctrl+Enter(맥은 ⌘+Enter)를 사용하세요.
  3. 결과 복사 버튼으로 출력 값을 복사하세요. UTF-8 입력 또는 복원한 데이터의 한도는 5 MB(5 × 1024 × 1024바이트)입니다.

한글·영문·이모지 Base64 예제

아래 값은 UTF-8 기준으로 검증한 예제입니다. 입력과 결과를 비교해 변환 방향을 확인하세요. 한글과 이모지는 여러 바이트를 사용하므로 글자 수와 Base64 길이가 같지 않습니다.

입력결과
SGVsbG8=Hello
7ZWc6riA한글
7JWI64WV7ZWY7IS47JqUIPCfmIA=안녕하세요 😀

한글·이모지 예제 직접 변환 →

지원하는 Base64 형식과 패딩

일반 Base64는 영문자·숫자와 +, /를 사용하고, Base64URL은 + 대신 -, / 대신 _를 사용합니다. 패딩 =의 생략 여부는 별도 규칙입니다. Base64URL이라고 해서 반드시 =가 없는 것은 아닙니다. 영문자와 숫자만 있는 문자열은 문자만 보고 두 형식을 구분할 수 없습니다.

Base64 데이터 문자 하나는 6비트를 표현합니다. 3바이트는 24비트이므로 4문자에 정확히 들어갑니다. 마지막에 1바이트가 남으면 데이터 2문자와 ==를 쓰고, 2바이트가 남으면 데이터 3문자와 =를 씁니다. 패딩은 출력 묶음을 채우는 표시이며 디코딩 결과에 바이트를 추가하지 않습니다.

Zg → f; Zg== → f; 8J-YgA → 😀.

Base64 디코딩 오류 해결

공백·줄바꿈은 무시하고 누락된 패딩은 복원하지만, 잘못된 위치의 =나 일부만 붙은 패딩은 거부합니다. Zg는 f로 변환되지만 Zg=, A=AA, Zg===는 오류입니다. 공백을 제외한 길이를 4로 나눈 나머지가 1이면 올바른 Base64 길이가 아닙니다. URL에서 +가 공백으로 바뀌었거나 원문 일부가 잘렸다면 원본을 다시 확인하세요.

Base64 디코딩 후 한글이 깨질 때: UTF-8과 EUC-KR 선택

Base64에는 원본의 언어나 문자 인코딩 정보가 들어 있지 않습니다. 일반적인 텍스트는 기본값 UTF-8로 디코딩하세요. 예전 시스템에서 만든 한글 데이터라면 원본이 EUC-KR / CP949인지 확인한 다음 결과 칸 위의 문자 인코딩을 맞추세요. 일본어 Shift_JIS, 중국어 GB18030도 직접 선택할 수 있습니다.

문자 인코딩을 자동으로 판별하지는 않습니다. 오류 없이 변환되어도 잘못된 인코딩을 선택했다면 내용이 틀릴 수 있으니 아는 단어나 원문과 비교하세요. 이미지·PDF·압축 데이터는 텍스트가 아니므로 인코딩을 바꿔도 문서 내용으로 복원되지 않습니다.

문자 인코딩원문Base64 값
UTF-8한글7ZWc6riA
EUC-KR / CP949한글x9Gx2w==

문자 형식 오류와 UTF-8 오류 구분하기

먼저 Base64 문자열 자체가 올바른지 확인하고, 그다음 복원한 바이트의 문자 인코딩을 확인하세요. 문자 형식 오류와 UTF-8 오류는 원인이 달라 같은 방법으로 해결되지 않습니다. 아래 예는 이 디코더의 실제 처리 결과입니다.

입력결과 또는 원인해결 방법
Zgf패딩 전체가 생략된 값은 자동 복원합니다.
Zg=패딩 오류Zg 또는 Zg==처럼 완전한 값을 사용하세요.
A=AA패딩 위치 오류=는 끝에만 올 수 있습니다. 원본 값을 다시 확인하세요.
A문자열 길이 오류한 문자가 빠졌는지 확인하세요. =만 추가해 해결할 수 없습니다.
/w==UTF-8 오류복원한 FF 바이트는 올바른 UTF-8이 아닙니다. 실제 원본 인코딩이나 파일 형식을 확인하세요.

JSON 값과 여러 번 인코딩된 문자열 디코딩

API 응답이 {"data":"SGVsbG8="}라면 JSON 전체가 아니라 data 값인 SGVsbG8=만 넣으세요. data:text/plain;base64,SGVsbG8= 형태의 데이터 URL도 쉼표 뒤의 Base64 부분만 입력합니다. %3D 같은 URL 이스케이프가 포함되어 있다면 먼저 URL 디코딩이 필요하며, 이 도구는 URL 디코딩을 대신하지 않습니다.

U0dWc2JHOD0=를 한 번 디코딩하면 SGVsbG8=가 나오고, 그 결과를 다시 입력하면 Hello가 나옵니다. 이 도구는 한 번에 한 단계만 변환합니다. 결과가 Base64처럼 보인다고 무조건 다시 디코딩하지 말고 원본 시스템에서 여러 번 인코딩했는지 확인하세요.

자주 묻는 질문

Base64 디코딩 결과가 깨지거나 UTF-8 오류가 나면 어떻게 하나요?

Base64에는 원본의 언어나 문자 인코딩 정보가 들어 있지 않습니다. 일반적인 텍스트는 기본값 UTF-8로 디코딩하세요. 예전 시스템에서 만든 한글 데이터라면 원본이 EUC-KR / CP949인지 확인한 다음 결과 칸 위의 문자 인코딩을 맞추세요. 일본어 Shift_JIS, 중국어 GB18030도 직접 선택할 수 있습니다. 문자 인코딩을 자동으로 판별하지는 않습니다. 오류 없이 변환되어도 잘못된 인코딩을 선택했다면 내용이 틀릴 수 있으니 아는 단어나 원문과 비교하세요. 이미지·PDF·압축 데이터는 텍스트가 아니므로 인코딩을 바꿔도 문서 내용으로 복원되지 않습니다.

한 번 디코딩했는데 다시 Base64 문자열이 나와요.

원문을 여러 번 인코딩했을 수 있습니다. U0dWc2JHOD0= → SGVsbG8= → Hello처럼 각 단계의 결과를 입력 칸에 다시 붙여넣으면 한 단계씩 복원할 수 있습니다. 자동으로 여러 단계를 풀지는 않습니다.

끝에 =가 없어도 정상인가요?

네. 원본 바이트 수가 3의 배수라면 패딩 포함 Base64도 =가 필요 없습니다. 일부 프로토콜은 마지막 묶음의 패딩을 의도적으로 생략하기도 합니다.

Base64 인코딩으로 내용을 안전하게 숨길 수 있나요?

Base64는 데이터를 되돌릴 수 있는 문자 형태로 표현하며 암호화가 아닙니다. 비밀번호나 비밀 정보를 보호하지 않습니다.

Base64 인코딩 →

변환은 브라우저에서 실행되며 입력과 결과는 변환 서버에 전송하지 않습니다. Google Analytics로 방문과 기능 사용을 측정합니다.