Laravel File Viewer is the easiest way to preview images, videos, audio, PDF, DOCX, PPTX, XLSX, and more in your Laravel app. Instantly add beautiful file previews to your admin panels, dashboards, or user portals.
β¨ Loved by developers. Easy to install. Works out of the box.
- π Preview images, videos, audio, PDF, DOCX, PPTX, XLSX, and more
- β‘οΈ Super simple integrationβjust one line in your controller!
- π¨ Customizable UI (publish and tweak the views)
- π‘οΈ Secure: works with Laravel's storage disks
- π Multilingual ready
Install via Composer:
composer require vish4395/laravel-file-viewer
Publish assets:
php artisan vendor:publish --provider="Vish4395\LaravelFileViewer\LaravelFileViewerServiceProvider" --tag=assets
Publish views (optional, for UI customization):
php artisan vendor:publish --provider="Vish4395\LaravelFileViewer\LaravelFileViewerServiceProvider" --tag=views
Add the alias in your config/app.php
(Laravel 10 and below):
'aliases' => Facade::defaultAliases()->merge([
'LaravelFileViewer' => Vish4395\LaravelFileViewer\LaravelFileViewerFacade::class,
])->toArray(),
use Illuminate\Http\Request;
use Vish4395\LaravelFileViewer\LaravelFileViewer;
class FilePreviewController extends Controller
{
public function filePreview($fileName){
$filePath = $fileName;
$disk = 'public';
$fileUrl = asset('storage/' . $fileName);
$fileData = [
[
'label' => __('Label'),
'value' => "Value"
]
];
return LaravelFileViewer::show($fileName, $filePath, $fileUrl, $disk, $fileData);
}
}
Add a route in routes/web.php
:
Route::get('/file-preview/{fileName}', [FilePreviewController::class, 'filePreview']);
- Save hours: No need to integrate multiple JS libraries yourself.
- Modern UI: Looks great out of the box.
- Flexible: Works with any Laravel storage disk.
- Trusted: Used in production by agencies and startups.
If you find this package useful:
- β Star this repo on GitHub
- π¦ Try it in your next Laravel project
- π¦ Tweet about it @vish4395
- π¬ Share feedback and suggestions
See CHANGELOG for recent updates.
PRs are welcome! See CONTRIBUTING for details. Questions? Email vishal@newai.in or open an issue.
If you discover any security issues, please email vishal@newai.in instead of using the issue tracker.
MIT. See License File for details.