A modern, customizable file manager component built for Vue.
Organize, preview, and manage your files through a beautiful, reactive interface — just like a native file explorer.
Easily integrate it into your app, connect to any storage (local, S3, etc.), and craft your own cloud experience with full control over uploads, search, and customization.
If you like it, please follow and ⭐ star on GitHub.
Live Demo - Explore Vuefinder's features and capabilities in action.
npm i vuefinderFor detailed installation instructions, configuration options, and usage examples, visit the documentation website.
You can use any backend language. VueFinder talks to your server through the driver you provide. A driver simply calls your HTTP endpoints and returns data in the expected shape. This keeps VueFinder backend-agnostic while giving you full control over auth, storage, and business rules.
Server libraries:
- PHP (recommended for plug‑and‑play): VueFinder Php
Infrastructure examples:
- Cloudflare R2 on Workers (TypeScript): r2-explorer-demo — serverless endpoints backed by R2 object storage
Data contracts are stable and designed to be simple to implement. If you use the PHP package, these endpoints are already provided. For other stacks, mirror the same responses and you're good to go.
The complete API specification is available as an OpenAPI 3.0 specification for easy integration and validation.
Older ecosystem libraries (for VueFinder 3.x and earlier):
- Python: Python WSGI
- Go: vuefinder-go
- Rust: vuefinder-rust
If you want to contribute to the project, please feel free to fork the repository and submit your changes as a pull request. Ensure that the changes you submit are applicable for general use rather than specific to your project.
Every dependency here was picked on purpose — best-in-class, fast, and as small as possible — so VueFinder stays lightweight in your bundle.
- Vue 3+
- vue-advanced-cropper : JavaScript image cropper
- viselect : Selection utility
- Uppy : Upload library
- vanilla-lazyload : lightweight and flexible lazy loading for thumbnails
- mitt : Tiny 200 byte functional event emitter / pubsub
- OverlayScrollbars : scrollbar plugin
- nanostores : A tiny state manager
- @nanostores/i18n : Internationalization backend for nanostores
- vue-sonner : Toast notification component
- @floating-ui/dom : Floating UI positioning library
- @tanstack/vue-query : fetching, caching, synchronizing and updating server state
- CodeMirror 6 : code editor for the built-in text/code preview
- Papa Parse : fast in-browser CSV parser
Copyright (c) 2018 Yusuf ÖZDEMİR, released under the MIT license