File upload
Bootstrap 5 File upload / File input
File Input is a field which the user can use to upload one or more files (photos, documents or any other file type) from local storage.
Note: If you need more advanced functionalities, check also Drag & drop file upload .
Basic example
The file input is the most gnarly of the bunch and requires additional JavaScript if you’d like to hook them up with functional Choose file… and selected file name text.
<label class="form-label" for="customFile">Default file input example</label>
<input type="file" class="form-control" id="customFile" />
Add the disabled
attribute to the <input>
and the custom
markup will be updated to appear disabled.
<label for="formFileDisabled" class="form-label">Disabled file input example</label>
<input class="form-control" type="file" id="formFileDisabled" disabled />
Sizing
You may also choose from small and large file inputs to match our similarly sized text inputs.
<label for="formFileSm" class="form-label">Small file input example</label>
<input class="form-control form-control-sm" id="formFileSm" type="file" />
<label for="formFileLg" class="form-label">Large file input example</label>
<input class="form-control form-control-lg" id="formFileLg" type="file" />
Multiple example
You can choose multiple files with one input as well. Just add the
multiple
attribute to the
<input>
<label for="formFileMultiple" class="form-label">Multiple files input example</label>
<input class="form-control" type="file" id="formFileMultiple" multiple />
If you want to support our friends from Tailwind Elements you can also check out the Tailwind file input documentation.