prism-react-renderer

A lightweight, themeable Prism syntax highlighter for React and React Native, built on a render-props API.

Library
npm
v2.4.1
1,999 stars
MIT License

Repository Health

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

Technical Analysis

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

prism-react-renderer is a lean React component that tokenizes source code with a vendored, sandboxed copy of Prism and hands you the resulting tokens through a render-props API. Instead of shipping opinionated markup, it gives you tokens, getLineProps, and getTokenProps so you decide exactly how highlighted code is rendered — as <pre>/<span> trees, custom components, or even React Native views.

It ships with over twenty VSCode-inspired themes out of the box and a typed theming format that composes cleanly with SSR and static site generators, which is why it powers syntax highlighting inside Docusaurus and a wide range of other documentation tooling.

What You Get

  • A <Highlight> render-props component that returns tokens plus getLineProps/getTokenProps prop getters
  • A vendored, sandboxed Prism build that doesn’t pollute window.Prism, plus an escape hatch to bring your own Prism instance
  • 20+ built-in VSCode-style themes (Dracula, Night Owl, GitHub, One Dark, and more) with a typed theming format
  • Cross-platform support for React DOM and React Native from the same API
  • Utility exports (useTokenize, normalizeTokens) for building custom highlighting UIs

Common Use Cases

  • Rendering syntax-highlighted code blocks in documentation sites and MDX content (it’s the highlighter behind Docusaurus)
  • Building custom code-block components for blogs, changelogs, or in-app code viewers
  • Adding live, theme-aware code previews to design systems and component playgrounds
  • Highlighting code snippets inside React Native apps where DOM-based highlighters don’t work

Under The Hood

Architecture - The library is a thin, layered wrapper around Prism: the public Highlight component in index.ts injects default prism/theme props and delegates to an internal Highlight (components/highlight.ts), which resolves a theme dictionary via themeToDict, tokenizes the code with the useTokenize hook, and returns a render-props payload (tokens, className, style, getLineProps, getTokenProps) for the caller’s children function to render. useTokenize (components/useTokenize.ts) memoizes on code/grammar/language/prism, runs Prism’s before-tokenize/after-tokenize hooks, and passes raw Prism output through normalizeTokens (utils/normalizeTokens.ts), a non-recursive stack-based walker that flattens Prism’s nested token tree into Token[][] grouped by line, guarding against call-stack overflow on deeply nested grammars.

Tech Stack - Written in TypeScript, built as a pnpm workspace (packages/prism-react-renderer, packages/generate-prism-languages, packages/demo) with tsup for bundling to CJS/ESM/.d.ts, vitest for tests, and changesets for release management. It vendors and patches prismjs@1.29.0 (see patches/prismjs@1.29.0.patch) and depends only on clsx and @types/prismjs at runtime, with react as a peer dependency (>=16.0.0) so it stays framework-version-agnostic.

Used by 55 apps in this directory

Python
51%
AGPL 3.0

Khoj

AI Assistants · Knowledge Management · Productivity

37,802

A self-hostable AI second brain that chats with your documents, searches the web, builds custom agents, and runs entirely on your own LLM.

View details
62
Repo Health
82
Technical
66
Dependency
Built with
Python 51%
TypeScript 36%
Updated 2 months ago
Python
71%
MIT

Langflow

AI Agents · AI Development

155,973

Build, test, and deploy AI agents and RAG workflows visually with native API and MCP server export.

View details
90
Repo Health
85
Technical
64
Dependency
Built with
Python 71%
TypeScript 21%
Updated 5 days ago
TypeScript
96%
Other

Langfuse

AI Development · Monitoring

36,276

Open source AI engineering platform for LLM observability, prompt management, evaluation, and debugging — self-host in minutes or use Langfuse Cloud.

View details
92
Repo Health
81
Technical
65
Dependency
Built with
TypeScript 96%
Updated 5 days ago
Python
55%
MIT

LibrePhotos

File Storage

8,111

Self-hosted photo library with AI-powered face recognition, semantic search, and automatic event albums — no cloud required.

View details
84
Repo Health
78
Technical
66
Dependency
Built with
Python 55%
TypeScript 43%
Updated 5 days ago
Python
84%
MIT

LiteLLM

AI Development · Developer Tools

61,933

Open source AI gateway and Python SDK that gives you one OpenAI-compatible interface to call 100+ LLM providers, with built-in routing, cost tracking, guardrails, and virtual keys.

View details
93
Repo Health
81
Technical
69
Dependency
Built with
Python 84%
TypeScript 11%
Updated 5 days ago
TypeScript
95%
Other

LLM Gateway

AI Development · Devops

1,704

One API endpoint for 25+ LLM providers — route, track costs, enforce compliance, and switch models without changing your code.

View details
86
Repo Health
80
Technical
67
Dependency
Built with
TypeScript 95%
Updated 6 days ago
TypeScript
98%
MPL 2.0

Logto

Authentication

14,769

Open-source auth infrastructure for SaaS and AI apps with OIDC, SAML, and RBAC

View details
92
Repo Health
83
Technical
63
Dependency
Built with
TypeScript 98%
Updated 6 days ago
TypeScript
99%
Apache 2.0

Mastra Code

AI Code Assistants

29,041

"A coding agent that never compacts" — a terminal-based AI coding agent built on the Mastra framework, with Observational Memory instead of context compaction, multi-model support, and OAuth login for Claude Max or ChatGPT Plus.

View details
90
Repo Health
73
Technical
65
Dependency
Built with
TypeScript 99%
Updated 5 days 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 5 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