buffer

The Node.js Buffer API, reimplemented for the browser on top of Uint8Array.

Library
npm
v6.0.3
1,893 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
44 /100 Fair
Development Activity 0
Maintenance 0
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
84 /100 Excellent
Architecture 85
Code Quality 88
Innovation 80
Learning Curve 90

Buffer is a drop-in implementation of Node.js’s Buffer API that runs in the browser. It provides an API that is 100% identical to node’s Buffer, so npm modules that assume Buffer is available continue to work when bundled for the browser with tools like browserify, webpack, Vite, or esbuild.

Under the hood, Buffer instances are real Uint8Array objects whose prototype chain is extended with the full set of node Buffer methods. That means square-bracket indexing works, typed-array methods are available, and binary data manipulation stays fast without patching any browser globals or prototypes.

What You Get

  • A Buffer class that mirrors the full Node.js Buffer API, including Buffer.from, Buffer.alloc, Buffer.concat, and every read/write accessor.
  • Backing by native Uint8Array and ArrayBuffer for fast, memory-efficient binary data handling.
  • Encoding and decoding across utf8, hex, base64, latin1, ascii, ucs2/utf16le, and base64url.
  • TypeScript type definitions bundled via index.d.ts.
  • A tiny footprint (about 6.75KB minified + gzipped) with no browser-prototype pollution.

Common Use Cases

  • Running Node-oriented npm modules in the browser by letting a bundler polyfill the Buffer global.
  • Reading and writing binary protocols, file formats, or network payloads on the client side.
  • Converting between binary data and text encodings such as base64 and hex.
  • Interoperating with Web APIs by treating a Buffer as the Uint8Array it already is.

Under The Hood

Architecture

The entire library lives in a single index.js module (~59KB) that defines a Buffer function subclassing Uint8Array. Instances are created as Uint8Array objects whose prototype is reset to Buffer.prototype, so every native typed-array capability is inherited while the node Buffer methods are layered on top. A Buffer.TYPED_ARRAY_SUPPORT feature check guards behavior on older engines, and static factories (Buffer.from, Buffer.alloc, Buffer.allocUnsafe, Buffer.concat) plus a large set of instance read/write accessors implement the node contract. The Uint8Array prototype itself is never modified and nothing is attached to window.

Tech Stack

Plain JavaScript with only two small runtime dependencies: base64-js for base64 encode/decode and ieee754 for float/double reads and writes. Bundled TypeScript definitions ship in index.d.ts. Dev tooling uses tape for tests, standard for linting, and browserify/airtap for cross-browser test runs, reflecting a deliberately minimal, dependency-light design.

Code Quality

The project carries a comprehensive test suite (over 1,300 lines across files like test/basic.js, test/from-string.js, test/write.js, and a test/node/ directory that mirrors buffer tests from node.js core). Code follows the standard style, uses explicit bounds and type checks in the accessor methods, and documents non-obvious feature detection inline. The single-file layout is dense but consistent and well-commented.

API Design Developer experience is excellent precisely because the API is not novel — it reproduces the widely-documented node Buffer surface exactly, so existing knowledge and the official node docs apply directly. Getting started requires no configuration: require('buffer').Buffer (or the bundler-provided global) is enough, and TypeScript users get full typings out of the box. Bracket-notation indexing and Uint8Array interop keep boilerplate to a minimum.

Used by 42 apps in this directory

JavaScript
90%
Other

CodeSandbox

Code Editors · Developer Tools

13,652

Instantly ready browser-based IDE that runs full npm dependency resolution and transpilation entirely client-side, with no server needed.

View details
67
Repo Health
76
Technical
63
Dependency
Built with
JavaScript 90%
Updated 1 weeks ago
TypeScript
96%
MIT

deepseek-harness

AI Agents · AI Development · Developer Tools

259,694

An open-source, plugin-based agent harness from DeepSeek AI that runs coding and automation agents across web, desktop, CLI, and SDK surfaces.

View details
82
Repo Health
89
Technical
73
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago
JavaScript
98%
Apache 2.0

drawio-desktop

Design Tools · Productivity

63,634

The offline-first diagram editor that puts security above all else — no account, no data leaving your machine, no compromises.

View details
89
Repo Health
63
Technical
71
Dependency
Built with
JavaScript 98%
Updated 1 weeks ago
TypeScript
72%
AGPL 3.0

Firecrawl

AI Development · Developer Tools

194,745

Turn any website into clean, LLM-ready data with a single API call — no proxy headaches, no scraping complexity.

View details
89
Repo Health
83
Technical
65
Dependency
Built with
TypeScript 72%
Python 12%
Updated 6 days ago
Go
76%
Other

Flipt

Developer Tools · Devops

4,926

Git-native feature flag platform that stores, versions, and deploys feature toggles directly in your own Git repositories with no external database required.

View details
90
Repo Health
83
Technical
68
Dependency
Built with
Go 76%
TypeScript 23%
Updated 6 days ago
TypeScript
68%
MIT

Hoppscotch

Developer Tools

80,676

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
62
Dependency
Built with
TypeScript 68%
Vue 24%
Updated 1 weeks ago
TypeScript
77%
Other

Joplin

Note Taking

56,853

The privacy-first, open-source note-taking app with end-to-end encrypted sync, AI assistance, and a powerful plugin ecosystem across every platform.

View details
93
Repo Health
87
Technical
60
Dependency
Built with
TypeScript 77%
JavaScript 14%
Updated 1 weeks ago
Java
56%
Apache 2.0

Kestra

Automation · Data Engineering · Devops

29,967

Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.

View details
94
Repo Health
81
Technical
69
Dependency
Built with
Java 56%
TypeScript 29%
Vue 14%
Updated 1 weeks ago
TypeScript
94%
AGPL 3.0

Laudspeaker

Automation · Marketing

2,629

Open-source customer engagement platform for building visual, event-triggered messaging journeys across email, SMS, push, in-app, and webhooks.

View details
45
Repo Health
66
Technical
62
Dependency
Built with
TypeScript 94%
Updated 3 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers