Base64 디코더

Base64 디코더 도구를 사용하여 Base64 입력을 원래 문자열 형식으로 디코딩하여 데이터를 쉽게 검색하세요.

2개의 평가 중 5개
Base64 디코더

Base64 디코더는 Base64로 인코딩된 입력에서 원본 데이터를 복원하는 무료 도구입니다.

Base64 인코딩이란 무엇이며 왜 사용하나요?

Base64는 제한된 범위의 출력 가능한 텍스트 문자로 바이너리 데이터를 표현하는 방식입니다. 일부 시스템은 텍스트를 안전하게 전달하도록 설계되어 있어 임의의 바이트를 안정적으로 처리하지 못하기 때문에 사용됩니다.

표준 Base64는 영문 대문자와 소문자, 숫자, 더하기 기호, 슬래시를 사용합니다. 끝에는 패딩으로 등호가 붙을 수 있습니다. 입력 바이트 3개가 Base64 문자 4개로 바뀌므로 인코딩하면 데이터 크기가 커집니다.

Base64는 암호화가 아니라 인코딩입니다. 인코딩된 값을 가진 사람은 누구나 비밀번호나 비밀 키 없이 디코딩할 수 있으므로 기밀성을 제공하지 않습니다. 비밀번호, API 키 또는 개인정보를 Base64 값으로 저장하면 안전하다고 생각해서는 안 됩니다.

도식: 텍스트가 Base64 디코더 도구를 양방향으로 통과한다

Base64 디코더는 어떻게 사용하나요?

Base64 값을 도구에 붙여 넣고 디코딩한 다음 Base64 디코딩 결과 필드에서 결과를 확인하세요. 서버는 PHP의 base64_decode 함수를 사용해 변환합니다.

입력값은 HTTPS를 통해 서버로 전송되며 저장되지 않습니다. 처리는 브라우저 안에서만 이루어지는 것이 아니라 서버에서 수행되므로, 외부 서비스로 전송할 권한이 없는 민감한 자료는 입력하지 마세요.

Base64는 의미가 아니라 바이트를 보존합니다. 숫자, 공백, 문장 부호도 원본 바이트 시퀀스의 일부일 뿐입니다. 악센트가 있는 문자와 비라틴 문자도 인코딩할 수 있지만, 디코딩된 바이트는 올바른 문자 인코딩으로 해석해야 합니다. 최신 웹 콘텐츠에는 일반적으로 UTF-8이 사용됩니다.

digily.link의 Base64 디코더 도구와 입력 양식

예제로 알아보는 형식 선택

간단한 표준 Base64 예시는 다음과 같습니다.

입력: SGVsbG8=

출력: Hello

마지막 등호는 패딩입니다. Base64 블록을 4문자로 완성하는 역할을 하며, 디코딩 결과에 문자를 하나 더 추가하는 것은 아닙니다.

일반적으로 사용되는 알파벳 변형은 두 가지입니다.

  • 표준 Base64는 +와 /를 사용합니다. MIME 이메일, 데이터 URI, 여러 JSON 기반 API에서 흔히 쓰입니다.
  • Base64url은 대신 -와 _를 사용합니다. +와 /를 사용하기 불편한 URL, 쿼리 매개변수, 토큰을 위한 형식입니다. 패딩은 생략되는 경우가 많습니다.

해당 값을 생성한 시스템에서 요구하는 변형을 선택하세요. 알파벳을 먼저 변환하지 않으면 표준 디코더가 Base64url 입력을 잘못 해석하거나 거부할 수 있습니다. 반대로 변환해야 한다면 Base64 인코더를 사용하세요. 인코딩된 이미지 데이터는 원시 바이너리를 텍스트로 보는 것보다 Base64를 이미지로 변환 도구로 확인하는 편이 더 유용할 수 있습니다.

Base64 디코더 도구가 생성한 결과 예시

Base64는 실제로 어디에서 사용되나요?

바이너리 데이터를 텍스트 중심 형식으로 전달해야 할 때 Base64를 자주 접하게 됩니다. 값이 단독으로 나타나기도 하고, 더 큰 문서의 일부로 포함되기도 합니다.

  • 데이터 URI는 작은 이미지, 글꼴 또는 기타 리소스를 HTML과 CSS에 삽입하며, 앞에 data:image/png;base64, 같은 접두사가 붙는 경우가 많습니다.
  • JSON에는 자체 바이너리 값 형식이 없으므로 파일, 인증서 또는 암호화 자료를 Base64 문자열로 담는 경우가 있습니다.
  • MIME 이메일은 첨부 파일과 일반 텍스트로 안전하게 전송할 수 없는 메시지 부분에 Base64를 사용합니다.
  • 쿼리 문자열과 웹 토큰은 URL에서 특별한 의미를 갖는 문자를 피하기 위해 Base64url을 사용할 수 있습니다.
  • 주변 시스템이 출력 가능한 텍스트를 요구할 때 구성 파일과 환경 변수에 Base64가 들어가기도 합니다.

인코딩된 것처럼 보이는 국제화 도메인 이름에는 다른 디코더가 필요합니다. xn--로 시작하는 도메인 레이블은 Base64가 아니라 Punycode를 사용합니다. 이를 Base64 디코더에 입력해도 의도한 유니코드 도메인 이름을 복원할 수 없습니다.

Base64 디코딩이 실패하거나 결과가 깨져 보이는 이유는 무엇인가요?

Base64 디코딩이 실패하거나 읽을 수 없는 결과가 나오는 이유는 대개 잘못된 변형을 사용했거나, 입력이 불완전하거나, 두 번 인코딩되었거나, 원본이 텍스트가 아닌 바이너리 데이터이기 때문입니다.

  • 잘못된 알파벳: - 또는 _가 포함된 Base64url 입력을 표준 Base64로 처리하거나 그 반대로 처리할 때 발생합니다.
  • 없거나 손상된 패딩: 마지막 블록이 불완전해질 수 있습니다. 일부 디코더는 생략된 패딩을 허용하지만, 문자 수를 4로 나눈 나머지가 1이면 유효한 Base64를 구성할 수 없습니다.
  • 이중 인코딩: 첫 번째 디코딩 후에도 Base64처럼 보이는 문자열이 나옵니다. 원본에서 데이터를 의도적으로 두 번 인코딩했다면 한 번 더 디코딩해야 할 수 있습니다.
  • 바이너리 출력: 이미지, PDF, 압축 파일, 암호화된 바이트라면 정상적인 결과입니다. 이러한 바이트를 텍스트로 열면 기호나 대체 문자가 표시됩니다.
  • 잘못된 문자 인코딩: 올바르게 디코딩된 바이트도 잘못 표시될 수 있습니다. 예를 들어 UTF-8 데이터를 Windows-1252로 해석하면 악센트가 있는 문자가 깨진 문자로 바뀔 수 있습니다.
  • 주변의 불필요한 내용: 데이터 URI 접두사, 따옴표, JSON 이스케이프 또는 URL 퍼센트 인코딩이 포함되어 있을 수 있으며, 이런 내용은 먼저 제거해야 합니다.

PHP의 기본 base64_decode 모드는 비엄격 모드이며 표준 알파벳에 포함되지 않는 문자를 버릴 수 있습니다. 이 동작 덕분에 MIME 형식 입력의 줄바꿈을 허용할 수 있지만, 복사 과정에서 생긴 오류를 명확히 알리지 않고 숨길 수도 있습니다. 예상하지 못한 결과가 나오면 원본 형식과 비교하고 원래 값을 문자 단위로 확인하세요.

자주 묻는 질문

Base64는 대소문자를 구분하나요?

네. Base64 알파벳에서 대문자와 소문자는 서로 다른 값을 나타냅니다. 값을 일관돼 보이게 하려고 대소문자를 바꾸면 디코딩된 바이트가 손상됩니다.

Base64 디코더로 JWT를 디코딩할 수 있나요?

JSON Web Token에는 일반적으로 마침표로 구분된 Base64url 인코딩 구간이 들어 있습니다. 각 구간을 따로 처리해야 하며, 생략된 패딩을 복원해야 할 수도 있습니다. 페이로드를 읽는 것만으로는 토큰의 서명을 검증하거나 내용이 진짜임을 증명할 수 없습니다.

Base64를 디코딩한 결과에 바이러스나 악성 파일이 들어 있을 수 있나요?

네. Base64는 실행 파일, 스크립트, 악성 문서를 비롯한 모든 바이트를 표현할 수 있습니다. 디코딩만으로 콘텐츠가 실행되지는 않지만, 출처를 알 수 없는 결과를 저장하거나 열면 위험할 수 있습니다. 바이너리 출력을 다루기 전에 예상한 파일 형식과 출처가 맞는지 확인하세요.

디코딩 결과에 널 문자가 나타나는 이유는 무엇인가요?

널 바이트는 바이너리 형식이나 UTF-16으로 인코딩된 텍스트에 나타날 수 있습니다. UTF-16에서는 많은 라틴 문자가 0 바이트와 쌍을 이룹니다. 원본이 텍스트라고 명시되어 있다면 널 문자를 삭제하지 말고 문자 인코딩을 확인하세요. 널 문자를 제거하면 데이터가 손상될 수 있습니다.

Base64에 정해진 파일 확장자가 있나요?

아니요. Base64는 파일 형식이 아니라 표현 방식이므로 필수 확장자가 없습니다. 결과가 PNG, PDF, ZIP 압축 파일, 텍스트 파일 또는 다른 형식인지는 디코딩된 바이트에 따라 결정됩니다.

마지막 확인 사항

인코딩된 값만 정확히 복사했는지 확인하고, 표준 Base64와 Base64url 중 어떤 형식인지 파악한 뒤 원래 대소문자를 그대로 유지하세요. 결과를 읽을 수 없다면 텍스트로 표시하는 대신 파일로 열어야 하는 데이터인지 확인하세요. 디코딩에 성공했다고 해서 그 값이 신뢰할 수 있거나 기밀로 보호된다고 판단해서는 안 됩니다.

유사한 도구

Base64 인코더

우리의 Base64 인코더 도구를 사용하여 안전한 데이터 인코딩을 위해 문자열을 Base64 형식으로 인코딩하세요.

4,958
41

인기 도구