You can find a lot of NPM libraries dealing with base64 encoding and decoding.
However we could not find one that would have as input AND output an Uint8Array. This library does exactly this.
This library is pretty fast and will convert over 500 Mb per second in nodejs as well as in the browser.
$ npm i uint8-base64
import { encode } from 'uint8-base64';
const result = encode(Uint8Array.from([65])); // an array containing 'A'
// result is Uint8Array(4) [ 81, 81, 61, 61 ] ('QQ==')
import { decode } from '..';
const result = decode(Uint8Array.from([81, 81, 61, 61])); // an array containing 'QQ=='
// result is Uint8Array(1) [ 65 ] ('A')
The code was largely inspired by: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727