Guides
Plan-enterprise-icon
Expo Application Services
API Reference

Svg

react-native-svg allows you to use SVGs in your app, with support for interactivity and animation.

Platform Compatibility

Android DeviceAndroid EmulatoriOS DeviceiOS SimulatorWeb
Status-success-iconStatus-success-iconStatus-success-iconStatus-success-iconStatus-success-icon

Installation

Terminal
→ expo install react-native-svg

If you're installing this in a bare React Native app, you should also follow these additional installation instructions.

API

import * as Svg from 'react-native-svg';

Svg

A set of drawing primitives such as Circle, Rect, Path, ClipPath, and Polygon. It supports most SVG elements and properties. The implementation is provided by react-native-svg, and documentation is provided in that repository.
SVG
import * as React from 'react';
import Svg, { Circle, Rect } from 'react-native-svg';

export default function SvgComponent(props) {
  return (
    <Svg height="50%" width="50%" viewBox="0 0 100 100" {...props}>
      <Circle cx="50" cy="50" r="45" stroke="blue" strokeWidth="2.5" fill="green" />
      <Rect x="15" y="15" width="70" height="70" stroke="red" strokeWidth="2" fill="yellow" />
    </Svg>
  );
}

Pro Tips

Here are some helpful links that will get you moving fast!
  • Looking for SVGs? Try the noun project.
  • Create or modify your own SVGs for free using Figma.
  • Optimize your SVG with SVGOMG. This will make the code smaller and easier to work with. Be sure not to remove the viewbox for best results on Android.
  • Convert your SVG to an Expo component in the browser using React SVGR.
  • Message-iconAsk a question on the forums about Svg
  • Github-iconView open bug reports for Svg
  • Code-iconView source code for Svg
  • Build-iconView package in npm Registry
  • Edit-iconEdit this page

Was this doc helpful?