Base64 Encoder

Encode and decode Base64 strings with URL-safe variant support

javascript (ES2020) 2025-11-12 base64 encoding decoding utility

Description

A Base64 encoding/decoding utility with support for standard and URL-safe variants. Handles text and binary data encoding.

Features

  • Standard Base64 encoding
  • URL-safe Base64
  • Text and binary support
  • Validation

Code

RAW
class Base64Encoder {  static encode(str) {    return btoa(unescape(encodeURIComponent(str)));  }    static decode(base64) {    try {      return decodeURIComponent(escape(atob(base64)));    } catch (e) {      return null;    }  }    static encodeUrlSafe(str) {    return this.encode(str)      .replace(/\+/g, '-')      .replace(/\//g, '_')      .replace(/=/g, '');  }    static decodeUrlSafe(base64) {    base64 = base64.replace(/-/g, '+').replace(/_/g, '/');    const padding = (4 - (base64.length % 4)) % 4;    base64 += '='.repeat(padding);    return this.decode(base64);  }    static isValid(base64) {    if (!base64 || base64.length === 0) return false;    const base64Regex = /^[A-Za-z0-9+\/]*={0,2}$/;    return base64Regex.test(base64);  }}module.exports = Base64Encoder;
RAW
const Base64Encoder = require('./base64Encoder');const text = 'Hello, World!';// Standard encodingconst encoded = Base64Encoder.encode(text);console.log('Encoded:', encoded);// Decodingconst decoded = Base64Encoder.decode(encoded);console.log('Decoded:', decoded);// URL-safe encodingconst urlSafe = Base64Encoder.encodeUrlSafe(text);console.log('URL-safe:', urlSafe);// Validationconsole.log('Valid:', Base64Encoder.isValid('SGVsbG8sIFdvcmxkIQ=='));

Comments

No comments yet. Be the first to comment!