# blast64

> An apparently even faster in-browser base64 decoder

Latest version **0.2.2** (published 2016-08-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install blast64
pnpm add blast64
yarn add blast64
bun add blast64
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.2 |
| Published | 2016-08-24 |
| First published | 2016-08-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Author | Leandro Ostera |
| Maintainers | leostera |
| Keywords | browser, chrome, chrome only, base conversion, base64, base64 decode, base64_decode, decode |

## Links

- npm: https://www.npmjs.com/package/blast64
- Repository: https://github.com/ostera/blast64
- Homepage: https://github.com/ostera/blast64#readme
- Issues: https://github.com/ostera/blast64/issues
- npm.io page: https://npm.io/package/blast64

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [@exodus/patch-broken-hermes-typed-arrays](https://npm.io/package/@exodus/patch-broken-hermes-typed-arrays.md) — 28.5K weekly downloads
- [@native-to-anchor/buffer-layout](https://npm.io/package/@native-to-anchor/buffer-layout.md) — 12.2K weekly downloads
- [binary-parser-encoder](https://npm.io/package/binary-parser-encoder.md) — 5.3K weekly downloads
- [datasets-fi-postalcodes](https://npm.io/package/datasets-fi-postalcodes.md) — 1.1K weekly downloads

## Recent versions

- 0.2.2 (latest) — 2016-08-24
- 0.2.1 — 2016-08-22
- 0.2.0 — 2016-08-22
- 0.1.0 — 2016-08-19

## README

# ⚡️ blast64
> Apparently the fastest way of decoding Base64 in Chrome.

## Installation

```
npm install blast64
```

## Usage

```javascript
var blast64 = require('blast64');

// From base64 to UTF-8 string
blast64.decode(base64string);

// From base64 to Uint8Array
blast64.decode_to_array(base64string);
```

## Testing and Benchmark

This is the average time from encoded string to UTF-8 encoded result.

The 💓  was ran `10000000` times.

The [~355kb payload](https://github.com/ostera/blast64/tree/master/test/sample.js) was ran `1000` times.

| Load   | atob+TextDecoder | js-base64  | fast64    | base64-js | blast64   |
|--------|------------------|------------|-----------|-----------|-----------|
| 💓      | 0.0019 ms        | 0.0025 ms  | 0.0031 ms | 0.0018 ms | 0.0010 ms |
| ~355kb | 31.257 ms        | 4.5263 ms  | 2.9529 ms | 1.7501 ms | 1.3920 ms |

And this are the average times without the `TextDecoder` step where relevant:

| Load   | fast64[0] | atob      | blast64.decode_to_array   |
|--------|-----------|-----------|---------------------------|
| 💓      | 0.0017 ms | 0.0008 ms | 0.0005 ms                 |
| ~355kb | 2.5336 ms | 1.7580 ms | 1.0701 ms                 |

[0] `fast64.decode(str, {uint8Array: true})`

Not bad for a few hours of hacking I'd say! But it's still only decoding, would have to sit down and make it encode as well at some point.

---
_Source: https://npm.io/package/blast64 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
