Prism

Lightweight, extensible syntax highlighting for the web and Node.js, with support for 300+ languages.

Library
npm
v1.30.0
13,051 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
83 /100 Excellent
Development Activity 88
Maintenance 68
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 →
85 /100 Excellent
Architecture 85
Code Quality 85
Innovation 88
Learning Curve 85

Prism is a lightweight, robust, and elegant syntax highlighting library for the web. It tokenizes source code against grammar definitions and wraps each token in semantic markup, letting you style code with CSS themes rather than inline styles. Prism ships with definitions for hundreds of languages and a rich plugin ecosystem covering line numbers, copy-to-clipboard, autoloading, diff highlighting, and more.

Originally spun off from Lea Verou’s Dabblet, Prism runs in almost any browser and in Node.js. Its extensible, hook-based design lets you add languages, patch existing grammars, and hook into the highlighting lifecycle, which is why it powers documentation sites, blogs, and static site generators across the ecosystem.

What You Get

  • A tiny core tokenizer with grammar definitions for 300+ programming languages
  • A theme system driven entirely by CSS, with many bundled and community themes
  • A plugin ecosystem: line numbers, copy-to-clipboard, autoloader, diff highlighting, and more
  • First-class support for both browsers and Node.js via ESM and CommonJS builds
  • TypeScript type definitions and an extensible, hook-based highlighting lifecycle

Common Use Cases

  • Highlighting fenced code blocks on documentation sites and technical blogs
  • Rendering syntax-highlighted snippets in static site generators at build time
  • Displaying read-only code samples inside web apps and component libraries
  • Adding language-aware highlighting to Markdown/MDX pipelines

Under The Hood

Architecture - Prism’s core (src/core/) is a small tokenizer: tokenize/tokenize.js walks source text against a grammar object of named regex patterns, producing a doubly linked-list.js token stream that stringify.js renders into nested <span> markup with token-type classes. A registry.js manages language components by id, resolving aliases and lazily loading grammars so hundreds of languages need not all be present. highlight.js, highlight-element.js, and highlight-all.js are the public entry points, with auto-start.js wiring up automatic highlighting of the page. A hook system lets plugins observe and mutate the highlighting lifecycle. Tech Stack - Pure JavaScript authored as ESM in src/, with a custom scripts/build.js producing both the ESM (dist/) and CommonJS (dist/cjs/) builds plus generated TypeScript declarations (types/). It has zero runtime dependencies, targets Node.js >=18, and uses ESLint and Prettier for consistency. Code Quality - The repo carries 27 Mocha test files under tests/ covering the core, individual language definitions, plugins, regex patterns, and identifiers, alongside tsc typechecking of both source and tests. Source is thoroughly JSDoc-annotated (the Registry class documents every field and method), and a dedicated SECURITY.md describes how the maintainers triage ReDoS reports inherent to a regex-based highlighter. API Design - The public surface is deliberately minimal and ergonomic: Prism.highlight(code, grammar, language) for strings, highlightElement/highlightAll for the DOM, and declarative grammar objects plus a hook API for extension. Language grammars can be patched or extended without forking, and the extensive prismjs.com documentation and examples/ folder keep the getting-started boilerplate near zero.

Used by 42 apps in this directory

TypeScript
82%
MIT

evidence

Analytics · Data Engineering

7,052

Turn SQL queries and markdown files into polished, interactive data apps and business intelligence reports — no drag-and-drop, no GUI, just code.

View details
91
Repo Health
79
Technical
64
Dependency
Built with
TypeScript 82%
Svelte 17%
Updated 1 weeks ago
C#
42%
MIT

FeatBit

Developer Tools · Devops

1,946

Self-hosted, enterprise-grade feature flag platform for safe, targeted, and data-driven feature releases.

View details
90
Repo Health
78
Technical
69
Dependency
Built with
C# 42%
TypeScript 41%
Updated 6 days ago
Python
63%
BSD 3

Flagsmith

Ab Testing Experimentation · Developer Tools · Devops

6,613

Open-source feature flagging, remote config, and A/B/multivariate testing platform for web, mobile, and server-side apps — self-host or use the hosted SaaS.

View details
90
Repo Health
82
Technical
63
Dependency
Built with
Python 63%
TypeScript 32%
Updated 6 days ago
Python
66%
MIT

Flowfile

Data Engineering

398

Visual ETL that compiles to Polars — build pipelines on a canvas, export as standalone Python, and run anywhere without platform lock-in.

View details
83
Repo Health
81
Technical
66
Dependency
Built with
Python 66%
TypeScript 17%
Vue 16%
Updated 1 weeks ago
TypeScript
54%
MIT

FormBee

Forms Surveys

769

A self-hostable form backend that accepts HTML form submissions and routes them to email, Telegram, Discord, webhooks, and automation platforms — without writing any server-side code.

View details
41
Repo Health
48
Technical
70
Dependency
Built with
TypeScript 54%
SCSS 25%
HTML 19%
Updated 1 months ago
TypeScript
97%
Other

Formbricks

Analytics · Design Tools · Forms Surveys

13,138

Open-source experience management platform for in-app, website, email, and link surveys — privacy-first and fully self-hostable.

View details
93
Repo Health
81
Technical
66
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
MDX
50%
Apache 2.0

Formizee

Forms Surveys

184

An open-source form backend and builder platform — design forms, collect submissions, and get analytics without hosting your own server, positioned as an alternative to Formspree and Typeform.

View details
30
Repo Health
59
Technical
67
Dependency
Built with
MDX 50%
TypeScript 49%
Updated 1 years ago
TypeScript
99%
AGPL 3.0

fountain-ink

Blogging

64

A self-hostable, decentralized blogging platform built on Lens Protocol — own your content, audience, and distribution forever.

View details
26
Repo Health
66
Technical
63
Dependency
Built with
TypeScript 99%
Updated 8 months ago
TypeScript
92%
MIT

GB Studio

Design Tools · Developer Tools · Game Development

9,434

Drag-and-drop retro Game Boy game creator that compiles real ROMs — no coding required.

View details
88
Repo Health
83
Technical
72
Dependency
Built with
TypeScript 92%
Updated 1 weeks 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