Upload

You might say

Let people upload their own images.

Send a file from a device to the websiteUploading includes choosing, transferring, and saving a file. Explain type, size, and count limits before selection, show progress during transfer, and allow retry after failure. The server still needs to check the file and the user's permission.
Know first
Click or drag the file hereSupports JPG / PNG, no more than 10MB
📄Design Draft-Homepage.fig
66%
UploadFile

Upload handles choosing, transferring, and retrying a file. File displays a file that already exists or is being processed.

When to use it

  • Profile image
    ⬆ Drag files here, or click to choose
  • Document attachment
    🖼🖼
  • Import a data file
    📄 Requirements.docx
    📄 Design.fig66%
  • Send media or project files
    ⬆ Click or drag to upload
    JPG and PNG supported, up to 10 MB each

When NOT to use it

  • Reveal limits only after a long upload fails
    Video URL⬆ Upload
    If people only have a URL, a text field is enough
  • Show no progress for a large file
    🖼 IMG_001.jpg12 / 38
    Uploading many small files one by one takes time and makes progress hard to manage
  • Trust the filename or browser check as final validation
    📄 Video footage.mp4✕ Failed
    Without a retry option, people must upload again after failure
  • Remove a failed file without offering a retry
    🎬 Final cut-4K.mp4 (1.8 GB)99%
    The size limit isn’t reported until the upload reaches 99%
Anatomy
Supports JPG / PNG, no more than 10MB
📄Design draft.fig
A dashed area where users can drag files or click to select them
State file-format and size limits up front
One file per row; users can remove and retry it
Shows the file name
Clearly shows upload progress
Variants
Drag
Drag the file hereor click to select
When uploading large files or selecting files in batches
Button
When space is limited, use a button to open the file picker
Picture
When uploading an avatar or cover, the selected image needs to be displayed
List
📄Requirements document.pdf
📄Design draft.fig
66%
When uploading multiple files, show each file’s progress separately.
Typical use cases
Avatar upload
Avatar
Supports JPG / PNG, no more than 2MB
Support attachment
Submit a work order
🖼Problem screenshot.png
📄Log file.log
66%
CSV import
Batch import members Download template
Drag Excel / CSV hereor click to select the file, up to 500 rows at a time
Media library
I climbed Tanglang Mountain on the weekend and the sea of clouds was stunning 🌤
+
Further reading