---
title: "File upload animated icon"
description: "File upload animated icon (Files & transfers). The file goes up. Light: the arrow sinks toward the port to load, and the port gives under it, dipping and spreading; then the arrow launches up beside the sheet, overshoots and settles 4.5 units higher, where it stays, while the port springs back. Strong: a deeper load, a harder launch that settles in two beats, and a bigger give that settles in two beats. The preview reset fades it back to the prepared arrow."
canonical: https://generativeicons.com/icons/file-upload/
---

# File upload animated icon

The file goes up. Light: the arrow sinks toward the port to load, and the port gives under it, dipping and spreading; then the arrow launches up beside the sheet, overshoots and settles 4.5 units higher, where it stays, while the port springs back. Strong: a deeper load, a harder launch that settles in two beats, and a bigger give that settles in two beats. The preview reset fades it back to the prepared arrow.

- Id: `file-upload`
- Category: Files & transfers
- Search terms: upload document, document upload, add file, choose file, select file, file picker, submit document, upload attachment, upload pdf
- Two states: prepared to result, played forward and back
- Styles: outline, solid, duotone; outline weights 1.5, 2, 2.5 (any from 1 to 3); motion light or strong
- File: https://generativeicons.com/assets/file-upload.lottie (dotLottie, 6443 bytes, sha256 fa918bb1bf0eec646184fceffc42702badd6a57360a2c9e1fd3456f5c757c75b)
- License: MIT

## Install

```sh
npm install @lottiefiles/generative-icons-runtime
npx generative-icons init
npx generative-icons add file-upload
```

## React

```tsx
// npm install @lottiefiles/generative-icons-react
'use client';
import { AnimatedIcon } from '@lottiefiles/generative-icons-react';
import icon, { src } from './generative-icons/file-upload.mjs';

export function FileUploadIcon() {
  return <AnimatedIcon icon={icon} src={src} size={32}
    color="#ffffff" variant="outline" weight={2}
    motion="light" theme="dark" />;
}
```

## JavaScript

```js
import { createIcon } from '@lottiefiles/generative-icons-runtime';
import icon, { src } from './generative-icons/file-upload.mjs';

const handle = await createIcon(canvas, {
  icon, src,
  color: '#ffffff', style: 'outline', weight: 2,
  motion: 'light', theme: 'dark'
});
button.addEventListener('click', () => handle.play());
// On removal: handle.destroy();
```

More: https://generativeicons.com/icons/file-upload/ · https://generativeicons.com/api/icons/file-upload
