---
title: "Upload animated icon"
description: "Upload animated icon (Actions). The file goes up. Light: the arrow sinks to load, then launches up out of the tray; the tray recoils under the push, rebounds and settles, and the arrow overshoots and settles 2.2 units higher, where it stays. Strong: a deeper load, a harder launch that settles in two beats, and a bigger recoil that rebounds twice. The preview reset fades it back to the prepared pose."
canonical: https://generativeicons.com/icons/upload/
---

# Upload animated icon

The file goes up. Light: the arrow sinks to load, then launches up out of the tray; the tray recoils under the push, rebounds and settles, and the arrow overshoots and settles 2.2 units higher, where it stays. Strong: a deeper load, a harder launch that settles in two beats, and a bigger recoil that rebounds twice. The preview reset fades it back to the prepared pose.

- Id: `upload`
- Category: Actions
- Search terms: publish, submit, push, post, choose file, select file, send file, send to server
- 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/upload.lottie (dotLottie, 6495 bytes, sha256 3f9e7022b1709e235c05c38be566d83f417ac8ba5aa881ade313b27800740aae)
- License: MIT

## Install

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

## React

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

export function UploadIcon() {
  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/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/upload/ · https://generativeicons.com/api/icons/upload
