Upload
The upload icon represents the action of transferring data or files from a local system to a remote system or server.
Exports at 24 × 24 px
Code
Upload in your framework
In any framework. Customize it above, and the code follows.
export const UploadIcon = (props: React.SVGProps<SVGSVGElement>) => (
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" {...props}>
<path fill="none" stroke="currentColor" strokeWidth="2" d="M1 17v6h22v-6M12 2v17M5 9l7-7l7 7"/>
</svg>
);Other libraries
Upload in 8 more libraries
Each library draws it its own way. Open one to compare.
Grommet Icons
More like it
Icons that share its tags, in the same style.
Search Grommet Icons
Skip the copy and paste. With Pro, your AI agent finds and installs any Grommet Icons icon from a prompt.
Get ProTags
Browse by tag
Upload is tagged transfer, share, send and 4 more. Related tags follow; each opens its icons from every library.
Pricing
Grommet Icons MCP, with Pro
Ask for Upload or any of 637 Grommet Icons icons and your agent installs it. The MCP comes with every Pro plan, with 6,000+ blocks and 14 premium templates. The icons stay free.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
FAQ
Frequently asked questions
What the Upload icon means and where it's used, then how to install, style, label and license it.
The upload icon represents the action of transferring data or files from a local system to a remote system or server. It signifies the process of uploading, sending, or sharing files or data. In various contexts, it can represent sharing, publishing, or distributing content.
In software and digital interfaces, the upload icon is often used to indicate the action of uploading files or data. For instance, in a file sharing platform, the upload icon might be used to upload files to a shared folder. In a social media platform, it could represent the action of uploading a photo or video.
From a UX perspective, the upload icon communicates a sense of sharing, publishing, or distributing content. It helps users understand that an action will result in transferring data or files to a remote system or server. This icon is essential in interfaces where users need to manage file transfers or sharing.
Upload is one of 637 icons in Grommet Icons, made by Grommet and released under Apache 2.0. It is drawn on a 24 × 24 grid with a 2 stroke.
Sign in (it's free), then open Get icon, Install with shadcn CLI, and pick your package manager to copy the command. It adds UploadIcon to components/icons/grommet-icons-upload.tsx: one file, a size prop (24 by default) and every SVG prop, with no icon package.
Copy it as React (from Get icon, or the Code section): a typed UploadIcon component you paste into your project, with no package to install. Only the icons you import reach your bundle. It works in Next.js and any React app.
Open Get icon, then Copy as code, and pick Vue, Svelte, Angular, Solid or Preact; the Code section shows each one too. Every version is one self-contained component with the SVG inside, and SVG and data URL copies are there for plain HTML and CSS.
With Pro, the shadcn.io MCP server lets Claude Code, Cursor or any MCP client find the Upload icon, or any of 637 Grommet Icons icons, and install it from a prompt.
It's drawn in currentColor, so it takes the text color wherever you use it: a class like text-primary recolors it. To bake a color in, set one in Customize before you copy.
Set width and height on the component, or a class like size-6. It's drawn on a 24 × 24 grid, so it stays sharp at any size. Customize also sets the size it exports at, its padding and rotation, and its stroke.
Upload is a line icon drawn with a stroke width of 2. Change it in Customize before you copy, or pass strokeWidth to the installed component when all of its strokes share one width.
Yes. It follows the text color, so with text-foreground (or any theme token) it changes with your light and dark themes. The icon is a vector, so it needs no separate dark asset.
Next to a visible label it's decoration: add aria-hidden="true" so screen readers skip it. Standing alone, as in an icon button, give the button a name instead, like aria-label="Upload", so screen readers say what it does.
Yes. UploadIcon passes every SVG prop to the svg element, so <UploadIcon aria-hidden="true" /> works, and so do role="img" with aria-label, or a title child, when it carries meaning on its own.
Yes. Open Get icon, then Download file: SVG for code or design tools like Figma; PNG, WebP or JPEG at 512px; or an ICO favicon with 16, 32 and 48px inside. Each one uses what you set in Customize.
Yes. Apache 2.0 allows commercial use; keep the license notice when you ship the icons' source files. The full terms are in the license, linked on this page.
No visible credit is required: Apache 2.0 only asks that you keep the license notice if you ship the icons' source files. Icons installed with the shadcn CLI already start with a comment naming Grommet Icons, Grommet and the license.
Yes. Copying and downloading it is free, and the shadcn CLI install only needs a free account.
8 other libraries draw an icon called Upload. The Other libraries section on this page shows each one, so you can compare them and open the one that fits your style.
Its tags are transfer, share, send, post, publish and submit. Each tag page lists the icons that carry it from every library, which is the quickest way to find a match for Upload in another set.
4.9 out of 5 from 150+ developers
Install Upload from a prompt
MCP, 6,000+ blocks and 14 premium templates in every Pro plan. The icons stay free.
Get Pro