# to-uint8

> Convert data to Uint8Array

Latest version **1.4.1** (published 2018-11-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install to-uint8
pnpm add to-uint8
yarn add to-uint8
bun add to-uint8
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.1 |
| Published | 2018-11-13 |
| First published | 2018-11-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 7.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Dmitry Yv. |
| Maintainers | dy |
| Keywords | uint8, array-buffer, to-array-buffer, to-uint8-array, u8, to-arraybuffer |

## Links

- npm: https://www.npmjs.com/package/to-uint8
- Repository: https://github.com/dy/to-uint8
- Homepage: https://github.com/dy/to-uint8#readme
- Issues: https://github.com/dy/to-uint8/issues
- npm.io page: https://npm.io/package/to-uint8

## Dependencies (5)

- [clamp](https://npm.io/package/clamp.md) ^1.0.1
- [is-base64](https://npm.io/package/is-base64.md) ^0.1.0
- [arr-flatten](https://npm.io/package/arr-flatten.md) ^1.1.0
- [is-float-array](https://npm.io/package/is-float-array.md) ^1.0.0
- [to-array-buffer](https://npm.io/package/to-array-buffer.md) ^3.0.0

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [jwt-simple](https://npm.io/package/jwt-simple.md) — 259.5K 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

## Recent versions

- 1.4.1 (latest) — 2018-11-13
- 1.4.0 — 2018-11-13
- 1.3.3 — 2018-11-12
- 1.3.2 — 2018-11-12
- 1.3.1 — 2018-11-12
- 1.3.0 — 2018-11-12
- 1.2.0 — 2018-11-12
- 1.1.0 — 2018-11-12
- 1.0.0 — 2018-11-12

## README

# to-uint8 [![unstable](https://img.shields.io/badge/stability-unstable-green.svg)](http://github.com/badges/stability-badges) [![Build Status](https://travis-ci.org/dy/to-uint8.svg?branch=master)](https://travis-ci.org/dy/to-uint8)

Convert input array to uint8 array, detecting floats if required. Useful to ensure that an input array contains pixels/colors.

[![npm install to-uint8](https://nodei.co/npm/to-uint8.png?mini=true)](https://npmjs.org/package/to-uint8/)

```js
var u8 = require('to-uint8')

var pixels = u8([[0,0,0,1], [1,1,1,1]]) // <uint8 0,0,0,255, 255,255,255,255>
```

## `u8data = u8(data, detectFloat=true)`

Return Uint8Array `u8data` with input `data` values, possibly converted from floats, if required. `data` can be an Array, Array of Arrays, TypedArray, Buffer, ArrayBuffer, base64 string or any other container.

```js
u8(new Uint16Array([0, 1, 2])) // <uint8 0, 1, 2>
u8(new Float32Array([0, .5, 1])) // <uint8 0, 127, 255>
u8(new Float64Array([0, .5, 1])) // <uint8 0, 127, 255>
u8([0, .5, 1]) // <uint8 0, 127, 255>
u8([[0,0,0,0], [1,1,1,1]]) // <uint8 0,0,0,0, 255,255,255,255>

// untyped array with int-ish values doesn't get converted
u8([0, 1, 255]) // <uint8 0, 1, 255>

// unless passed a flag to force conversion
u8([0, 1, 255], false) // <uint8 0, 255, 255>

// bad data returns null
u8(/abc/) // null
```

## See also

* [to-array-buffer](https://ghub.io/to-array-buffer) − convert anything to ArrayBuffer
* [to-float32](https://ghub.io/to-float32) − convert anything to float32.

## License

(c) 2018 Dmitry Yv. MIT License

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