npm provides modules

    react-native-svg
    TypeScript icon, indicating that this package has built-in type declarations

    13.8.0 • Public • Published

    React Native SVG at Software Mansion

    Version NPM

    react-native-svg provides SVG support to React Native on iOS, Android, macOS, Windows, and a compatibility layer for the web.

    Check out the Example app

    Features

    1. Supports most SVG elements and properties (Rect, Circle, Line, Polyline, Polygon, G ...).
    2. Easy to convert SVG code to react-native-svg.

    Installation

    With expo-cli

    The Expo client app comes with the native code installed!

    Install the JavaScript with:

    expo install react-native-svg

    📚 See the Expo docs for more info or jump ahead to Usage.

    With react-native-cli

    1. Install library

      from npm

      npm install react-native-svg

      from yarn

      yarn add react-native-svg
    2. Link native code

      cd ios && pod install

    Supported react-native versions

    react-native-svg react-native
    3.2.0 0.29
    4.2.0 0.32
    4.3.0 0.33
    4.4.0 0.38
    4.5.0 0.40
    5.1.8 0.44
    5.2.0 0.45
    5.3.0 0.46
    5.4.1 0.47
    5.5.1 >=0.50
    >=6 >=0.50
    >=7 >=0.57.4
    >=8 >=0.57.4
    >=9 >=0.57.4
    >=12.3.0 >=0.64.0

    Support for Fabric

    Fabric is React Native's new rendering system. As of version 13.0.0 of this project, Fabric is supported only for react-native 0.69.0+. Support for earlier versions is not possible due to breaking changes in configuration.

    react-native-svg react-native
    >=13.0.0 0.69.0+
    >=13.6.0 0.70.0+

    Troubleshooting

    Unexpected behavior

    If you have unexpected behavior, please create a clean project with the latest versions of react-native and react-native-svg

    react-native init CleanProject
    cd CleanProject/
    yarn add react-native-svg
    cd ios && pod install && cd ..

    Make a reproduction of the problem in App.js

    react-native run-ios
    react-native run-android

    Adding Windows support

    1. npx react-native-windows-init --overwrite
    2. cd windows\<AppName>
    3. Open <AppName>.vcxproj

    RN 0.68+

    1. Scroll to the bottom until you find:
      <ItemGroup>
         <PackageReference Include="Microsoft.Windows.CppWinRT" Version="X.X.XXXXXX.X" />
      </ItemGroup>
    2. Add the following to that <ItemGroup>
      <PackageReference Include="Win2D.uwp" Version="1.26.0" />

    Pre RN 0.68

    1. Scroll to the bottom until you find:

      <ImportGroup Label="ExtensionTargets">
    2. Add the following to that <ImportGroup>

      <Import Project="$(SolutionDir)\packages\Win2D.uwp.1.26.0\build\native\Win2D.uwp.targets" Condition="Exists('$(SolutionDir)\packages\Win2D.uwp.1.26.0\build\native\Win2D.uwp.targets')" />

    Opening issues

    Verify that it is still an issue with the latest version as specified in the previous step. If so, open a new issue, include the entire App.js file, specify what platforms you've tested, and the results of running this command:

    react-native info

    If you suspect that you've found a spec conformance bug, then you can test using your component in a react-native-web project by forking this codesandbox, to see how different browsers render the same content: https://codesandbox.io/s/pypn6mn3y7 If any evergreen browser with significant userbase or other svg user agent renders some svg content better, or supports more of the svg and related specs, please open an issue asap.

    Usage

    To check how to use the library, see USAGE.md

    TODO:

    1. Filters (connected PR)

    Known issues:

    1. Unable to apply focus point of RadialGradient on Android.

    Install

    npm i react-native-svg

    DownloadsWeekly Downloads

    685,779

    Version

    13.8.0

    License

    MIT

    Unpacked Size

    3.12 MB

    Total Files

    826

    Last publish

    Collaborators

    • brentvatne
    • kmag
    • wolewicki