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

TypeScript
98%
Other

LobeHub

AI Assistants · Automation · Productivity

83,455

Your Chief Agent Operator — build, schedule, and collaborate with an entire AI team in one self-hostable workspace.

View details
92
Repo Health
81
Technical
65
Dependency
Built with
TypeScript 98%
Updated 6 days ago
Clojure
71%
AGPL 3.0

Logseq

Knowledge Management · Note Taking

45,349

A privacy-first, open-source knowledge graph platform combining Markdown, Org-mode, bidirectional linking, and local-first storage for building your second brain.

View details
92
Repo Health
82
Technical
65
Dependency
Built with
Clojure 71%
OCaml 12%
Updated 1 weeks ago
TypeScript
44%
Other

Magic

AI Agents · Automation · Low Code Platforms

5,055

Magic is an enterprise-grade open-source AI agent platform combining a generalist AI agent, workflow engine, IM, and collaborative office system for running an AI-powered digital workforce.

View details
68
Repo Health
79
Technical
65
Dependency
Built with
TypeScript 44%
PHP 32%
Updated 2 months ago
TypeScript
51%
Other

Mattermost

Collaboration · Devops · Team Chat

39,418

Open core, self-hosted team collaboration with chat, AI agents, voice calling, and deep DevOps integrations — all under your control.

View details
96
Repo Health
87
Technical
65
Dependency
Built with
TypeScript 51%
Go 40%
Updated 6 days ago
PHP
81%
Other

Mautic

Automation · Ecommerce · Marketing

10,830

The world's largest open source marketing automation platform — own your data, run multi-channel campaigns, and escape vendor lock-in forever.

View details
98
Repo Health
76
Technical
63
Dependency
Built with
PHP 81%
Updated 1 weeks ago
TypeScript
53%
MIT

MentraOS

AI Development · Developer Tools

2,391

The open source operating system and SDK that lets developers build one app and run it across smart glasses from Even Realities, Vuzix, Mentra Live, and more.

View details
92
Repo Health
77
Technical
66
Dependency
Built with
TypeScript 53%
Java 16%
Updated 6 days ago
Clojure
57%
Other

Metabase

Analytics

49,827

The open-source BI platform that lets anyone ask questions and build dashboards without writing SQL — with an embedded analytics SDK and AI-powered query assistant included.

View details
95
Repo Health
84
Technical
62
Dependency
Built with
Clojure 57%
TypeScript 38%
Updated 6 days ago
Python
58%
Apache 2.0

MLflow

AI Development · Monitoring

28,512

The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.

View details
96
Repo Health
86
Technical
67
Dependency
Built with
Python 58%
TypeScript 35%
Updated 6 days ago
TypeScript
85%
GPL 3.0

Notesnook

File Storage · Note Taking · Security

14,822

End-to-end encrypted, open-source note-taking where your data stays yours — even from the server.

View details
91
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 85%
JavaScript 12%
Updated 6 days 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