# Convert a ReadableStream to a Uint8Array (/guides/streams/to-typedarray)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 236 · updated: 2026-09-23 -->
Related: [Convert a ReadableStream to a string](/guides/streams/to-string.md), [Convert a ReadableStream to JSON](/guides/streams/to-json.md), [Convert a ReadableStream to a Blob](/guides/streams/to-blob.md), [Convert a ReadableStream to a Buffer](/guides/streams/to-buffer.md), [Convert a ReadableStream to an ArrayBuffer](/guides/streams/to-arraybuffer.md), [Convert a ReadableStream to an array of chunks](/guides/streams/to-array.md)

To convert a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) to a `Uint8Array`, read its contents into an [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) with `Bun.readableStreamToArrayBuffer`, then create a [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) that points to the buffer.

```ts
const stream = new ReadableStream();
const buf = await Bun.readableStreamToArrayBuffer(stream);
const uint8 = new Uint8Array(buf);
```

The stream's `bytes()` method converts to a `Uint8Array` directly.

```ts
const stream = new ReadableStream();
const uint8 = await stream.bytes();
```

`Bun.readableStreamToBytes(stream)` does the same thing, but is deprecated in favor of `stream.bytes()`.

***

See [Bun's other `ReadableStream` conversion functions](/runtime/utils#bun-readablestreamto).
