# iobuffer

> Read and write binary data on ArrayBuffers

Latest version **6.0.1** (published 2025-08-13) · MIT license · 0 weekly downloads

## Install

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

## Health

**Score 40/100 (D)** — status: stable.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 6.0.1 |
| Published | 2025-08-13 |
| First published | 2015-09-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 0 |
| Unpacked size | 69 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 45 |
| Author | Michaël Zasso |
| Maintainers | lpatiny, stropitek, targos, cheminfo-bot |

## Links

- npm: https://www.npmjs.com/package/iobuffer
- Repository: https://github.com/image-js/iobuffer
- Homepage: https://image-js.github.io/iobuffer/
- Issues: https://github.com/image-js/iobuffer/issues
- npm.io page: https://npm.io/package/iobuffer

## Recent versions

- 6.0.1 (latest) — 2025-08-13
- 6.0.0 — 2025-06-15
- 5.4.0 — 2025-03-04
- 5.3.2 — 2023-01-30
- 5.3.1 — 2022-12-05
- 5.3.0 — 2022-11-29
- 5.2.1 — 2022-10-07
- 5.2.0 — 2022-10-04
- 5.1.0 — 2021-12-17
- 5.0.4 — 2021-10-12
- 5.0.3 — 2021-02-26
- 5.0.2 — 2019-11-12
- 5.0.1 — 2019-11-12
- 5.0.0 — 2019-11-12
- 4.0.1 — 2019-03-27
- … 14 more at https://npm.io/package/iobuffer/versions

## README

<h3 align="center">
  <a href="https://www.zakodium.com">
    <img src="https://www.zakodium.com/brand/zakodium-logo-white.svg" width="50" alt="Zakodium logo" />
  </a>
  <p>
    Maintained by <a href="https://www.zakodium.com">Zakodium</a>
  </p>
</h3>

# iobuffer

[![NPM version](https://img.shields.io/npm/v/iobuffer.svg)](https://www.npmjs.com/package/iobuffer)
[![npm download](https://img.shields.io/npm/dm/iobuffer.svg)](https://www.npmjs.com/package/iobuffer)
[![test coverage](https://img.shields.io/codecov/c/github/image-js/iobuffer.svg)](https://codecov.io/gh/image-js/iobuffer)
[![license](https://img.shields.io/npm/l/iobuffer.svg)](https://github.com/image-js/iobuffer/blob/main/LICENSE)

Read and write binary data in ArrayBuffers.

## Installation

```console
npm install iobuffer
```

## API

### [Complete API documentation](https://image-js.github.io/iobuffer/)

### Usage example

```js
const { IOBuffer } = require('iobuffer');

const io = new IOBuffer();
// Pointer offset is 0
io.writeChars('Hello world') // Write 11 chars, pointer offset now 11
  .writeUint32(42) // Write 32-bit int (default is little-endian), pointer offset now 15
  .setBigEndian() // Switch to big-endian mode
  .writeUint32(24) // Write another 32-bit int, but big-endian, pointer offset now 19
  .mark() // Bookmark current pointer offset (19)
  .skip(2) // Pointer offset now 21
  .writeBoolean(true) // Write 0xff, pointer offset now 22
  .reset() // Go to bookmarked pointer offset, pointer offset now 19
  .setLittleEndian() // Go back to little endian mode
  .writeUint16(18) // Write 16-bit unsigned integer in the previously skipped 2 bytes, pointer offset now 21
  .rewind() // Pointer offset back to 0
  .toArray(); // Get a Uint8Array over the written part [0-21] of the internal ArrayBuffer
```

## License

[MIT](./LICENSE)

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