---
title: Asset
description: A universal library that allows downloading assets and using them with other libraries.
sourceCodeUrl: https://github.com/expo/expo/tree/sdk-52/packages/expo-asset
packageName: expo-asset
platforms: ["android", "ios", "tvos", "web"]
---
`expo-asset` provides an interface to Expo's asset system. An asset is any file that lives alongside the source code of your app that the app needs at runtime. Examples include images, fonts, and sounds. Expo's asset system integrates with React Native's, so that you can refer to files with `require('path/to/file')`. This is how you refer to static image files in React Native for use in an `Image` component, for example. Check out React Native's [documentation on static image resources](https://reactnative.dev/docs/images#static-image-resources) for more information. This method of referring to static image resources works out of the box with Expo.
## Installation
## Configuration in app config
You can configure `expo-asset` using its built-in [config plugin](/config-plugins/introduction/) if you use config plugins in your project ([EAS Build](/build/introduction) or `npx expo run:[android|ios]`). The plugin allows you to configure various properties that cannot be set at runtime and require building a new app binary to take effect.
```json app.json
{
"expo": {
"plugins": [
[
"expo-asset",
{
"assets": ["path/to/file.png", "path/to/directory"]
}
]
]
}
}
```
<ConfigPluginProperties
properties={[
{
name: 'assets',
description: [
'An array of asset files or directories to link to the native project. The paths should be relative to the project root so that the file names, whether specified directly or using a directory, will become the resource names.',
'',
'Supported file types:',
'* Images: `.png`, `.jpg`, `.gif`',
'* Media: `.mp4`, `.mp3`, `.lottie`',
'* SQLite database files: `.db`',
'',
'> **Note**: To import an existing database file (`.db`), see instructions in [SQLite API reference](./sqlite.md#import-an-existing-database). For other file types such as `.lottie`, see [how to add a file extension to `assetExts` in metro config](/guides/customizing-metro/#adding-more-file-extensions-to-assetexts).',
].join('\n'),
default: '[]',
},
]}
/>
### Usage
Learn more about how to use the `expo-asset` config plugin to embed an asset file in your project in [Load an asset at build time](/develop/user-interface/assets/#load-an-asset-at-build-time).
## API
```js
```