Lucide Icons for React Native

1.8.0 · active · verified Sun Apr 19

lucide-react-native is the official React Native implementation of the Lucide icon library. It provides a comprehensive collection of highly customizable SVG icons specifically designed for use in mobile applications. The library is currently at version 1.8.0, reflecting a stable and mature codebase since its V1 release. It maintains a consistent and relatively fast release cadence, with minor versions often published weekly or bi-weekly, primarily to introduce new icons and deliver minor fixes across the broader Lucide ecosystem. Key differentiators include its extensive and continually expanding icon set, its lightweight nature, full TypeScript support, and the ability to customize icon properties such as size, color, and stroke width directly as component props. It serves as a modern, community-driven alternative to older icon sets, offering enhanced flexibility, tree-shaking capabilities, and a consistent design language well-suited for contemporary React Native projects.

Common errors

Warnings

Install

Imports

Quickstart

This example demonstrates how to import and render various Lucide icons in a React Native application, applying custom colors, sizes, and stroke widths.

import React from 'react';
import { SafeAreaView, Text, StyleSheet } from 'react-native';
import { Activity, Bell, Settings } from 'lucide-react-native';

// Ensure react-native-svg is installed and linked correctly.
// For bare React Native projects, run: npm install react-native-svg && cd ios && pod install

const App = () => {
  return (
    <SafeAreaView style={styles.container}>
      <Text style={styles.title}>Lucide React Native Icons</Text>
      <Activity color="#007bff" size={48} strokeWidth={2.5} style={styles.icon} />
      <Bell color="crimson" size={36} fill="rgba(220, 20, 60, 0.2)" style={styles.icon} />
      <Settings color="green" size={50} style={styles.icon} />
      <Text style={styles.description}>These icons are fully customizable SVG components.</Text>
    </SafeAreaView>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#f0f4f8',
    padding: 20,
  },
  title: {
    fontSize: 24,
    fontWeight: 'bold',
    marginBottom: 30,
    color: '#333',
  },
  icon: {
    marginVertical: 15,
  },
  description: {
    marginTop: 30,
    fontSize: 16,
    color: '#555',
    textAlign: 'center'
  }
});

export default App;

view raw JSON →