pqina
vue-filepond
JavaScript

๐Ÿ”Œ A handy FilePond adapter component for Vue

Last updated Jul 7, 2026
2.0k
Stars
117
Forks
48
Issues
0
Stars/day
Attention Score
81
Language breakdown
JavaScript 58.4%
Vue 27.6%
TypeScript 7.8%
HTML 6.2%
โ–ธ Files click to expand
README

Vue FilePond

Vue FilePond is a handy adapter component for FilePond, a JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.

If you want to use Vue FilePond with Vue 2, please use v6 of this plugin.

License: MIT npm version npm Discord

Documentation โ€ข Discord โ€ข Example project


FilePond

Buy me a Coffee โ€ข Use FilePond with Pintura โ€ข Dev updates


Core Features

  • Accepts directories, files, blobs, local URLs, remote URLs and Data URIs.
  • Drop files, select on filesystem, copy and paste files, or add files using the API.
  • Async uploading with AJAX, or encode files as base64 data and send along form post.
  • Accessible, tested with AT software like VoiceOver and JAWS, navigable by Keyboard.
  • Image optimization, automatic image resizing, cropping, and fixes EXIF orientation.
  • Responsive, automatically scales to available space, is functional on both mobile and desktop devices.
Learn more about FilePond


Also need Image Editing?

Pintura the modern JavaScript Image Editor is what you're looking for. Pintura supports setting crop aspect ratios, resizing, rotating, cropping, and flipping images. Above all, it integrates beautifully with FilePond.

Learn more about Pintura


Installation:

If you're using Vue 2 please run npm install vue-filepond@^6.0.0

npm install vue-filepond filepond

Usage:

<template>
  <div id="app">
    <file-pond
      name="test"
      ref="pond"
      label-idle="Drop files here..."
      v-bind:allow-multiple="true"
      accepted-file-types="image/jpeg, image/png"
      server="/api"
      v-bind:files="myFiles"
      v-on:init="handleFilePondInit"
    />
  </div>
</template>

When using FilePond with an SSR configuration like Nuxt.js it's best to wrap it in <no-ssr> tags.

<template>
  <no-ssr>
    <file-pond />
  </no-ssr>
</template>

Usage in the browser:

<!DOCTYPE html>
<html>
  <head>
    <title>Vue in Browser</title>

<link rel="stylesheet" href="https://unpkg.com/filepond/dist/filepond.min.css" /> <link rel="stylesheet" href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.css" /> </head> <body> <div id="app"> <file-pond></file-pond> </div>

</body> </html>

Read the docs for more information

Live Demo with Code Sandbox

ยฉ 2026 GitRepoTrend ยท pqina/vue-filepond ยท Updated daily from GitHub