Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Voyager Forms

Voyager Forms Laravel Package

pvtl/voyager-forms

Voyager Forms adds a drag-and-drop form builder and submission management to Laravel's Voyager admin. Create dynamic forms, define fields, publish them, and review entries from the dashboard without custom code.

View on GitHub
Deep Wiki
Context7

A module to provide forms for Voyager 📑

Frequently asked questions about Voyager Forms
What does pvtl/voyager-forms actually do?
Voyager Forms is an admin module for Voyager, Laravel's BREAD-based admin panel. It adds a drag-and-drop form builder plus submission management so non-developers can create, publish, and review forms from the dashboard without custom code. Form definitions are stored as database rows rather than code.
How do I install Voyager Forms in a Laravel application?
Install it with Composer, then register the Voyager module and its service provider. Run the package migrations and the module surfaces in the Voyager admin menu. The wiring is mechanically simple; the real effort is confirming compatibility with your Laravel, PHP, and Voyager versions first.
Which Laravel versions does Voyager Forms support?
The last release was April 2020, which places it squarely in the Laravel 6/7 era. Treat any Laravel 9+ target as incompatible until you have proven otherwise in a throwaway spike. Voyager's own Laravel and PHP support is community-driven and uneven, so that is the binding constraint on your upgrade path, not this package.
Do I need Voyager installed to use pvtl/voyager-forms?
Yes. It is a module for Voyager, not a standalone form package, so it cannot be used without a Voyager-based admin panel. That makes Voyager a strategic dependency: if Voyager is already legacy in your stack, this package inherits its expiry date.
Is pvtl/voyager-forms still maintained?
No. The repository is archived and there is no security response channel. There are no patches for XSS, mass assignment, upload handling, or dependency CVEs, and its transitive dependencies are abandoned. Run composer audit as a gate, not a formality.
Where are Voyager Forms submissions stored?
Submissions are captured in database tables inside the host application's schema, which may be package-owned or app-owned. Confirm which before adopting, because package-owned tables are harder to migrate away from later. You also need a PII retention and export story for submitted data.
What are the security risks of using Voyager Forms in production?
The main risks are stored XSS from admin-authored labels, help text, and option markup rendered to public users, plus unmaintained transitive dependencies. Schema ownership inversion means form definitions are data rather than code, so they cannot be reviewed, diffed, or rolled back with the application. Untested field types and validation rules stored as strings are a latent production-surprise surface.
Can Voyager Forms handle multi-step forms, conditional logic, or payments?
No. It suits low-complexity public forms such as contact, enquiry, and lead capture that non-developers need to edit without a deploy. Conditional logic, multi-step flows, payments, and integrations are outside what a 2020-era Voyager module credibly covers.
What are alternatives to Voyager Forms for building forms in Laravel?
For greenfield work, build forms in-app with native Laravel validation plus Blade or Livewire, or use a hosted form vendor for purely marketing-facing forms. Both avoid a niche-on-niche dependency on an archived Voyager module. If you are already in production, fork and pin the package and write an exit plan rather than expanding usage.
How should I evaluate Voyager Forms before adopting it?
Run a two-to-three day spike in a throwaway app on your target stack and exercise the full loop: create a form, publish it, submit an entry, and review it in the dashboard. Audit Composer constraints, run composer outdated and composer audit, and run the migrations against a production-shaped copy of the database. Pin the Voyager version and confirm no other module touches the same tables.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource