No results for

Powered byAlgolia
⚠️ This is archived documentation for v0.41. Go to the latest version

b64decode( input, [encoding], [format] )

Decode the passed base64 encoded input string into the unencoded original input in either binary or string formats.

inputstringThe string to base64 decode.
encoding (optional)stringThe base64 encoding to use.
Available options are:
- "std": the standard encoding with = padding chars and + and / characters in encoding alphabet. This is the default.
- "rawstd": like std but without = padding characters.
- "url": URL safe version of std, encoding alphabet doesn't contain + and / characters, but rather - and _ characters.
- "rawurl": like url but without = padding characters.
format (optional)stringIf "s" return the data as a string, otherwise if unspecified an ArrayBuffer object is returned.


ArrayBuffer / stringThe base64 decoded version of the input string in either string or ArrayBuffer format, depending on the format parameter.

Breaking change in v0.32.0

Since k6 v0.32.0 b64decode() returns an ArrayBuffer object by default instead of a string. To return a string pass "s" as the 3rd parameter, e.g. encoding.b64decode(encodedString, 'std', 's').


import { check } from 'k6';
import encoding from 'k6/encoding';
export default function () {
const str = 'hello world';
const enc = 'aGVsbG8gd29ybGQ=';
const expBin = new Uint8Array([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]);
check(null, {
'is decoding to string correct': () => encoding.b64decode(enc, 'std', 's') === str,
'is decoding to ArrayBuffer correct': () => {
const decBin = new Uint8Array(encoding.b64decode(enc));
if (decBin.length != expBin.length) return false;
for (let i = 0; i < decBin.length; i++) {
if (decBin[i] !== expBin[i]) return false;
return true;