<?php
function base64UrlEncode(string $bytes): string {
return rtrim(strtr(base64_encode($bytes), '+/', '-_'), '=');
}
function base64UrlDecode(string $s): string|false {
$padded = $s . str_repeat('=', (4 - strlen($s) % 4) % 4);
return base64_decode(strtr($padded, '-_', '+/'), true);
}
$payload = base64UrlEncode(random_bytes(32));
echo $payload; // e.g. "X1zR_jc7HpQ..."
$decoded = base64UrlDecode($payload); // bytes round-trip exactly
Create a free account and build your private vault. Share publicly whenever you want.