The v-file-input component is a specialized input that provides a clean interface for selecting files, showing detailed selection information and upload progress. It is meant to be a direct replacement for a standard file input.


At its core, the v-file-input component is a basic container that extends v-text-field.




The v-file-input can contain multiple files at the same time when using the multiple prop.

Accept formats

v-file-input component can accept only specific media formats/file types if you want. For more information, checkout the documentation on the accept attribute.

With chips

A selected file can be displayed as a chip. When using the chips and multiple props, each chip will be displayed (as opposed to the file count).

Size displaying

The displayed size of the selected file(s) can be configured with the show-size property. Display sizes can be either 1024 (the default used when providing true) or 1000.


When using the show-size property along with counter, the total number of files and size will be displayed under the input.


The v-file-input has a default prepended icon that can be set on the component or adjusted globally. More information on changing global components can be found on the customizing icons page.

Selection slot

Using the selection slot, you can customize the appearance of your input selections. This is typically done with chips, however any component or markup can be used.


Similar to other inputs, you can use the rules prop to can create your own custom validation parameters.

Complex selection slots

The flexibility of the selection slot allows you accomodate complex use-cases. In this example we show the first 2 selections as chips while adding a number indicator for the remaining amount.

Edit this page on Github | Translate on Crowdin
StoreFor Enterprise