# Bun Read a file as a ReadableStream

> Read a file as a ReadableStream

- Skill: `jarle/bun-read-a-file-as-a-readablestream` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jarle/bun-read-a-file-as-a-readablestream`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jarle/bun-read-a-file-as-a-readablestream/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jarle (https://skillmd.com/u/jarle)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/jarle/bun-read-a-file-as-a-readablestream

---


# Read a file as a ReadableStream

The `Bun.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a variety of formats. Use `.stream()` to consume the file incrementally as a `ReadableStream`.

```ts  theme={"theme":{"light":"github-light","dark":"dracula"}}
const path = "/path/to/package.json";
const file = Bun.file(path);

const stream = file.stream();
```

***

The chunks of the stream can be consumed as an [async iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols) using `for await`.

```ts  theme={"theme":{"light":"github-light","dark":"dracula"}}
for await (const chunk of stream) {
  chunk; // => Uint8Array
}
```

***

Refer to the [Streams](/runtime/streams) documentation for more information on working with streams in Bun.

