Render an SVG Image from an URL


301.2.44 years ago4 years agoMinified + gzip package size for @datacamp/react-native-svg-uri in KB



Render SVG images in React Native from an URL or a static file

This was tested with RN 0.33 and react-native-svg 4.3.1 (depends on this library) react-native-svg

Not all the svgs can be rendered, if you find problems fill an issue or a PR in order to contemplate all the cases

Install library from npm

npm install react-native-svg-uri --save

Link library react-native-svg

react-native link react-native-svg # not react-native-svg-uri !!!


Prop Type Default Note
source ImageSource Same kind of source prop that <Image /> component has
svgXmlData String You can pass the SVG as String directly
fill Color Overrides all fill attributes of the svg file
classes Object Overrides attributes of classes (only overrides those attributes present in the given object)

Known Bugs

  • [ANDROID] There is a problem with static SVG file on Android, Works OK in debug mode but fails to load the file in release mode. At the moment the only workaround is to pass the svg content in the svgXmlData prop.


Here's a simple example:

import SvgUri from 'react-native-svg-uri';

const TestSvgUri = () => (
  <View style={styles.container}>

or a static file

<SvgUri width="200" height="200" source={require('./img/homer.svg')} />

This will render:

Component example


  1. Make sure you have installed dependencies with npm i
  2. Run tests with npm test

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.