react-native-svg

SVG rendering for React Native, React Native Web, and plain React web projects

Library
npm
v15.15.5
8,002 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
81 /100 Excellent
Development Activity 72
Maintenance 72
Community 80
Maturity 60
Momentum 40

Technical Analysis

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

react-native-svg brings native SVG rendering to React Native apps by exposing a set of familiar SVG element components — Circle, Rect, Path, LinearGradient, and more — that render through platform-native drawing APIs on iOS, Android, macOS, Windows, and via a DOM-based compatibility layer on web. It is the de facto standard for vector graphics in the React Native ecosystem, underpinning icon libraries, chart libraries, and custom illustration work across thousands of downstream apps.

Maintained by Software Mansion — a long-time core contributor to React Native itself — the library tracks new React Native architectures (including Fabric) closely, exposes both JS and native (Fabric/TurboModule) implementations, and ships prebuilt platform bindings for Android, iOS, and Windows so consumers don’t need to write any native code themselves.

What You Get

  • A full set of SVG element components (Svg, Path, Circle, Rect, Line, Polygon, G, Defs, LinearGradient, RadialGradient, ClipPath, Mask, and more) mirroring standard SVG markup
  • Native rendering bindings for iOS, Android, macOS, and Windows plus a web compatibility layer for react-native-web
  • Support for React Native’s new Fabric renderer alongside the legacy bridge architecture
  • CSS-in-SVG parsing utilities and an XML-to-component transform pipeline for converting raw SVG markup at runtime
  • TypeScript type definitions for the full component API

Common Use Cases

  • Rendering vector icon sets crisply at any resolution instead of shipping multiple raster image sizes
  • Building custom illustrations, logos, and decorative graphics that scale across device sizes
  • Powering downstream charting and data-visualization libraries that need to draw paths, arcs, and gradients
  • Converting existing web SVG assets (via tools like SVGR) directly into React Native components

Under The Hood

Architecture: Each SVG element (Circle, Path, Rect, G, etc.) is a class component in src/elements/ that extends a shared Shape base, extracts common SVG props via lib/extract/extractProps, and forwards them to a matching native component (e.g. RNSVGCircle from fabric/CircleNativeComponent) — so the JS layer is a thin, typed props-mapping bridge over native drawing views implemented separately per platform (android/, apple/, windows/, common/ C++ shared code). A parallel elements.web.ts path renders equivalent DOM SVG elements for react-native-web. Tech Stack: TypeScript source built with react-native-builder-bob into commonjs/module/typescript output; native code spans Java/Kotlin (Android), Objective-C++/C++ (iOS/macOS via Fabric TurboModules), and C++ for shared rendering logic, with a PEG.js/peggy-generated parser for SVG transform-string parsing. Code Quality: A modest Jest test suite covers CSS parsing and snapshot rendering (__tests__/css.test.tsx and friends); most correctness assurance instead comes from the large example app under apps/common/example and community issue-driven regression fixes, and ESLint/TypeScript strict typing are enforced in CI. API Design: The component API deliberately mirrors standard SVG markup and attribute names (Circle, Path with d, LinearGradient, ClipPath), so anyone familiar with web SVG can use it with near-zero learning curve; installation is a single package add and (for bare RN) a pod install, with Expo requiring no native step at all.

Used by 21 apps in this directory

TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

33,179

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
85
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 95%
Updated 3 weeks ago
Rust
67%
MIT

Bun

Developer Tools

96,068

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
64
Dependency
Built with
Rust 67%
C++ 19%
TypeScript 10%
Updated 5 days ago
Rust
54%
Other

Cap

Team Chat · Video Conferencing

22,884

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
64
Dependency
Built with
Rust 54%
TypeScript 42%
Updated 4 days ago
TypeScript
74%
Apache 2.0

Jitsi Meet

Collaboration · Team Chat · Video Conferencing

30,004

Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.

View details
95
Repo Health
85
Technical
66
Dependency
Built with
TypeScript 74%
JavaScript 10%
Updated 6 days ago
TypeScript
77%
Other

Joplin

Note Taking

56,513

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 5 days ago
TypeScript
98%
AGPL 3.0

Karakeep

Bookmarks Archiving

29,321

Self-hosted bookmark manager that captures links, notes, images, and PDFs with AI tagging, full-text search, and automatic archiving.

View details
88
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 98%
Updated 5 days ago
Python
58%
MIT

LibrePhotos

File Storage

8,083

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

View details
83
Repo Health
78
Technical
65
Dependency
Built with
Python 58%
TypeScript 40%
Updated 5 days ago
TypeScript
93%
AGPL 3.0

Linkwarden

Bookmarks Archiving · Knowledge Management

19,855

Self-hosted collaborative bookmark manager that captures full-page archives, enables annotation, and keeps your knowledge accessible forever.

View details
87
Repo Health
72
Technical
66
Dependency
Built with
TypeScript 93%
Updated 3 weeks ago
TypeScript
42%
MIT

MentraOS

AI Development · Developer Tools

2,370

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 42%
Java 20%
Kotlin 13%
Updated 4 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