🔍Regex Recipes

Base64 Detection

Detect Base64-encoded strings with padding variation support.

Pattern

^[A-Za-z0-9+/]+={0,2}$

Explanation

Matches Base64 alphabet (A-Z, a-z, 0-9, +, /) with optional 0-2 padding = characters.

Examples

Valid Base64
Input
SGVsbG8gV29ybGQ=
Output
✓ Match
No padding
Input
SGVsbG8
Output
✓ Match
With padding
Input
dGVzdA==
Output
✓ Match
Invalid char
Input
SGVsb!8=
Output
✗ No match

Code Examples

JavaScript
const base64Regex = /^[A-Za-z0-9+/]+={0,2}$/;

// Detect Base64
function looksLikeBase64(str) {
  return base64Regex.test(str) && str.length % 4 === 0;
}

// Decode Base64
function decodeBase64(str) {
  try {
    return atob(str); // Browser
    // or Buffer.from(str, 'base64').toString() in Node
  } catch (e) {
    return null; // Invalid Base64
  }
}

// Check if string is valid Base64
function isValidBase64(str) {
  try {
    return btoa(atob(str)) === str;
  } catch {
    return false;
  }
}

Try it Now

💡 Tips

  • Verify length is multiple of 4
  • URL-safe variant: [A-Za-z0-9_-]
  • Try decoding to truly validate
  • Common uses: JWT tokens, data URIs, binary data

⚠️ Common Pitfalls

  • Regex only checks format, not valid encoding
  • Base64 length must be multiple of 4
  • URL-safe Base64 uses - and _ instead of + and /
  • May match random strings that look like Base64