UnfoldCMS vs FilamentPHP
The honest comparison Laravel developers actually need
FilamentPHP is the most popular admin-panel framework in the Laravel ecosystem. It has 25,000+ GitHub stars, a thriving plugin marketplace, and a generation of Laravel developers who reach for it the moment they need an admin interface. UnfoldCMS is a Laravel + React CMS built on shadcn/ui — one-time license, themed public site included, content model fixed and ready out of the box. Both run on Laravel. Both target developers. They are not the same product.
This page compares UnfoldCMS and FilamentPHP head-to-head: what each one ships, who each one is for, and where the line between them sits. If you're a Laravel developer evaluating either for a content-heavy site, here's the honest picture.
TL;DR: Filament is an admin-panel builder — you describe resources, forms, and tables in PHP classes, and Filament renders an admin UI from your code. UnfoldCMS is a finished CMS — posts, pages, menus, themes, media, SEO, redirects, and a themed public-facing site are all built in and editable from the admin UI on day one. Pick Filament when you're building a custom admin around your own data model. Pick UnfoldCMS when you want a marketing site, blog, or content site live this weekend without writing resource classes.
Quick Comparison
| Feature | FilamentPHP | UnfoldCMS |
|---|---|---|
| Category | Admin-panel builder (TALL stack) | Full CMS (Laravel + React + Inertia) |
| Pricing model | Free OSS (MIT) + paid plugins | One-time $39–$799 |
| License | MIT (panels), per-plugin licenses for paid | Commercial, source available |
| Self-hosted | Yes (anywhere Laravel runs) | Yes (any PHP host, including shared) |
| Backend stack | PHP 8.1+ / Laravel + Livewire | PHP 8.3 / Laravel 12 |
| Frontend stack | Livewire + Alpine.js + Tailwind | React 19 + Inertia 2 + shadcn/ui + Tailwind v4 |
| Content model | You define it in PHP classes | Posts, pages, menus, sections, media, SEO — built in |
| Public-facing frontend? | No (admin only) | Yes (Aurora theme + default theme) |
| Themes / templates | None — bring your own frontend | 3 templates ship; switchable from admin |
| Out-of-the-box admin pages | 0 (you generate them) | 205 admin pages |
| UI component library | Filament-native components | 51 shadcn/ui components |
| Hosting requirement | Standard Laravel host | PHP shared hosting works |
| Best for | Custom admin for your app's data | Marketing site, blog, agency client sites, content-driven product sites |
Two Different Categories of Tool
Filament and UnfoldCMS get put in the same bucket — "Laravel CMS" — but they belong in different categories.
Filament is an admin-panel framework. It gives you a DSL to describe resources, forms, tables, widgets, and actions. You write a PostResource class in PHP, and Filament renders the form, the table, the bulk actions, the relation managers, and the dashboard widgets that go with it. It's a tool for building an admin — not an admin you can use without first building it.
The closest analogue outside Laravel is Django admin or Rails Administrate. The job is the same: take a model you've already designed, give it a UI for non-developers (or for yourself) to edit. Filament does this exceptionally well. It has best-in-class form components, a powerful table builder, an actions DSL, infolists, widgets, plugins, multi-panel support, and a tight feedback loop with Livewire.
UnfoldCMS is a CMS. The data model is fixed and shipped: a Post model that handles four content types (post, page, landing, block), media via Spatie, categories, comments, scheduling, slug history, SEO meta, redirects, menus, sections, and a themed public site. You install it, log in, and edit content. The admin is hand-built around publishing workflows, not generated from your schema.
The closest analogue is WordPress — but built for developers on a modern stack. The job is the same as WordPress's job: give a small team or a single editor a place to publish posts, pages, and product content to a public website, with SEO, scheduling, and media handled out of the box.
Both products are good at their job. The question is which job you're hiring them for.
What Each One Actually Ships
This is where the difference gets concrete. Here's what you get the day you install each.
FilamentPHP on day one (after composer require filament/filament + the install command):
- A login screen at
/admin - An empty dashboard with a placeholder widget
- A user resource (if you scaffold it)
- The CLI to generate more resources, pages, and widgets
- Documentation pointing you at what to build next
That is the correct shape for the tool. Filament's design philosophy is you bring the data model, we render the admin. There is no concept of a "post" or a "page" in Filament because that's not the tool's job. If you want a blog, you scaffold a Post resource, write the fields, write the form layout, write the table columns, define the relation manager for categories, wire up the media plugin, choose a slug strategy, decide how scheduling works, build the public route, build the public Blade view, and ship a frontend. None of that is wrong — it's just work.
UnfoldCMS on day one (after installing the zip):
- A login screen at
/admin - A dashboard with stats, recent posts, recent comments, traffic charts
- A blog with posts, pages, landing pages, and reusable blocks — all as one
Postmodel with acontent_typeenum - A media library powered by Spatie (
featured-imagecollection with 3 conversions: thumbnail/medium/large WebP) - A category system with hierarchical reorderable categories
- A comments system (threaded up to 3 levels, moderation queue, ships in Core not Pro)
- An SEO module with per-post meta, sitemap.xml at
/sitemap.xml, robots.txt, JSON-LD schema helpers - A redirects admin module with CSV import, hit tracking, 301/302 support
- A menu builder
- A theme system with two templates (Aurora and default) plus 12 section types (
hero,stats,about,features,testimonials,faq,integrations,tabs,cta,contact-info,contact-faq,contact-map) - A public-facing themed frontend at
/— homepage, blog index, single posts, contact page, search - A public REST API at
/api/blog/postswith pagination + category filter — headless-ready for Next.js, Astro, etc. - 205 admin pages and 51 shadcn/ui components, verified against the source code on May 18, 2026
You don't write a PostResource class. The post resource already exists. You log in and write a post.
When Filament Is the Right Tool
Filament's strengths are real and Laravel-shaped. There are jobs where it's the correct answer and UnfoldCMS would be the wrong one.
Pick Filament when:
- You're building a custom internal admin around a data model you already designed (or are about to). A SaaS dashboard for your own product. A back-office tool for a logistics company. A moderation panel for a marketplace.
- Your domain doesn't map to "posts and pages". You have orders, shipments, invoices, support tickets, lab samples, vehicle records, anything else. A CMS's data model would actively get in your way.
- You want full control over every field, every action, every layout in the admin UI. Filament's DSL gives you exactly that — you describe the admin, Filament renders it.
- You're staying inside the TALL stack (Tailwind + Alpine + Laravel + Livewire) and want everything in one ideology.
- You need a plugin ecosystem of paid admin features — shield (authorization), spatie integrations, custom field types, etc.
Filament is also right when the answer to "what's the data model?" is "I don't know yet, but it's not a blog". Filament's flexibility shines when you're inventing the data model alongside the admin.
When UnfoldCMS Is the Right Tool
UnfoldCMS is right when the answer to "what's the data model?" is "posts, pages, menus, media, SEO — like a normal website".
Pick UnfoldCMS when:
- You're shipping a marketing site, blog, docs site, product blog, or agency client site. The job is "write content and put it on the internet." UnfoldCMS is built for that job from minute one.
- You don't want to design a CMS schema from scratch. The post/page/media/SEO/menu/redirect schema is a 20-year-old solved problem — UnfoldCMS just ships it.
- You want a themed public site included. Filament has no concept of a public-facing frontend — that's not its job. UnfoldCMS ships Aurora, a modern marketing-site theme, and a default theme, both editable from the admin.
- You're an agency shipping multiple client sites. The Agency tier ($799 one-time) is unlimited domains, white-label. You're not rebuilding the CMS for each client.
- You want to host on PHP shared hosting. UnfoldCMS targets shared-hosting compatibility (
QUEUE_CONNECTION=sync, scheduled tasks run synchronously, no queue workers required). Filament needs a Laravel host, which is fine but rules out the bottom tier. - You want a shadcn/ui-native admin. UnfoldCMS's admin is 51 shadcn components and 205 admin pages, React 19 + Inertia 2, Tailwind v4. Filament's admin is Livewire + Alpine + Filament's own component library.
The framing is not "Filament is bad" — it's "Filament is a different tool." Reaching for Filament to build a marketing site is like reaching for a CNC mill to drive a nail. The mill is amazing. It's not what you need.
The Pricing Story
Filament and UnfoldCMS price differently because they sell differently.
FilamentPHP is free under MIT for the core panel framework. You can build admin panels on it forever at zero license cost. The money in Filament's ecosystem shows up in:
- Paid plugins in the Filament plugins marketplace — common ones include Shield (authorization, $99), Curator (advanced media, $49), Forms Builder (form builder, $99), and various per-feature plugins ranging from $19 to $199 per project.
- Sponsorships to the Filament team for prioritized issues and support.
- Your own time — Filament is a builder, so every resource, field type, and page is engineering work. That's not a license cost, but it's the real cost.
For an internal admin that you'd build once and run forever, Filament's free + your time model is excellent. For a customer-facing site you ship in a weekend, the same model means you're the one shipping the CMS.
UnfoldCMS has one-time pricing:
| Tier | Price | Domains | Includes |
|---|---|---|---|
| Core | $39 | 1 | Posts, pages, blog, media, SEO, redirects, menus, themes, comments, public REST API |
| Pro | $99 | 1 | Core + newsletter + analytics + code snippets + image studio + ads + backups |
| Business | $299 | 1 | Pro + checkout (Stripe/PayPal/BTCPay) + support tickets + social posting + social auth |
| Agency | $799 | Unlimited | Business + white-label + per-client licensing |
No monthly fees. No per-seat costs. No paid plugins for the features that ship in the tier. Pricing source: /pricing.
Both pricing models are defensible. Filament's is right when you'd build the admin yourself anyway and just want a great DSL to do it. UnfoldCMS's is right when you'd rather buy the finished CMS once and ship.
Config-as-Code vs Database-as-Source-of-Truth
This is the deepest philosophical difference between the two, and it's where Filament users sometimes feel the friction we want to address honestly.
Filament is config-as-code. The shape of every resource, every form, every table column, every action lives in a PHP class on disk. To change a field, you edit a file and deploy. To add a content type, you scaffold a resource and write the form. This is great for version control, code review, and reproducibility — every change is in git.
The trade-off is that anything content-editor-facing (a new section on a marketing page, a new menu item, a different homepage layout) requires a developer to touch code. There's no admin UI for "rearrange the homepage" because the admin UI itself comes from code.
UnfoldCMS is database-as-source-of-truth. The content model is fixed in the framework (Post, Page, Media, Menu, Redirect, SeoMeta, Section). The configuration that varies per site lives in the database — section placements, menu items, redirects, SEO meta, theme settings, and 12 different section types editable from the section system.
A non-developer running UnfoldCMS can:
- Add a new menu item
- Reorder the homepage sections
- Add a redirect from
/old-urlto/new-url - Edit SEO meta on any post
- Change the active theme
- Add a new category and assign posts to it
- Schedule a post for next Tuesday
None of those need a developer. None of them require a deploy.
The same operations on a Filament site require a developer to edit a Blade template or a resource class.
If your team is "developers only," config-as-code is great. If your team includes content editors who want to run the site without engineering as a bottleneck, database-as-source-of-truth is the better fit.
We covered this trade-off in detail in Config-as-Code vs GUI-First CMS — both models are valid, the question is who's editing.
Honest Numbers
Some specifics that often get fuzzy in comparisons. Verified against the source code on May 18, 2026.
UnfoldCMS, verified:
- 51 shadcn/ui components in the admin (
find cms/resources/js/components/ui -name "*.tsx" | wc -l) - 205 admin pages (
.tsxfiles undercms/resources/js/pages/admin/) - 3 templates ship (
default,aurora,_default) - 12 section types in the default template (
hero,stats,about,features,testimonials,faq,integrations,tabs,cta,contact-info,contact-faq,contact-map) - 4 content types in one
Postmodel (post,page,landing,block) - Public REST API:
GET /api/blog/postswithper_page+categoryfilters,GET /api/blog/posts/{slug}for single posts — no auth required - What's not shipped yet: GraphQL, outgoing webhooks, draft preview tokens, public pages API, official npm SDKs. These are on the roadmap but framed as "planned," not "available."
FilamentPHP, public stats:
- 25,000+ GitHub stars (as of 2026)
- 4,500+ packages on the Filament plugins marketplace
- Core panel: free under MIT
- Built on Livewire 3 + Alpine.js + Tailwind
Neither set of numbers is a winner on its own. They describe different products.
What Filament Does Better
The honest section. There are things Filament does that UnfoldCMS doesn't, and pretending otherwise would be marketing-brain.
- Custom data models. If your domain doesn't fit "posts and pages," Filament wins by default — that's the whole point.
- Form DSL. Filament's form builder API (
TextInput::make(),Select::make(), conditional visibility, dependent fields) is best-in-class for the Laravel ecosystem. UnfoldCMS's admin forms are hand-built React + shadcn — powerful but not driven by a builder DSL. - Plugin ecosystem. 4,500+ plugins, including Spatie integrations, role/permission UIs, complex field types, and full apps built on top of Filament.
- Multi-panel support. Filament v3+ supports multiple admin panels in one app (e.g. customer-facing dashboard + internal admin) with different auth, navigation, and theming.
- Livewire integration. If you're already deep in TALL stack, Filament's reactivity model fits naturally.
If any of those map to what you're building, Filament is the right call.
What UnfoldCMS Does Better
The honest section, the other direction.
- Public-facing frontend. UnfoldCMS ships a themed marketing site (Aurora theme) out of the box. Filament doesn't — that's not its job, but it means you're building the frontend yourself.
- Content model out of the box. Posts, pages, menus, redirects, SEO, sitemap.xml, robots.txt, comments, scheduling, slug history — all live the day you install.
- Headless-ready. The public
/api/blog/postsendpoint means a Next.js or Astro frontend can consume UnfoldCMS as a headless CMS without any extra setup. See UnfoldCMS for Next.js and UnfoldCMS for Astro for stack-specific examples. - Editor-friendly. Non-developers can edit the homepage layout, reorder sections, manage menus, add redirects, schedule posts — without a deploy.
- One-time license. $39 (Core) to $799 (Agency, unlimited domains). No monthly fees. No paid plugin per feature.
- Shared-hosting compatible. Works on PHP shared hosting (
QUEUE_CONNECTION=sync, scheduler as a single cron entry, no queue workers). - Migration paths. We ship full migration guides from WordPress, Contentful, Sanity, Strapi, and Webflow.
If those map to what you're building, UnfoldCMS is the right call.
Can You Use Both?
Yes, and this is the honest middle ground. The two products are not mutually exclusive.
A real-world pattern we've seen: a Laravel team uses UnfoldCMS for the public marketing site (because the content model fits and the frontend ships included) and Filament for the internal admin of their actual product (orders, customers, custom workflows). Both run on Laravel. Both use the same User table or share auth via Sanctum. The marketing team edits the site through UnfoldCMS's admin; the product team builds the customer-facing dashboard with Filament.
There's no "competition" between the two when each one is doing the job it's designed for.
Migration Notes
If you're moving from a Filament-based CMS-shaped app to UnfoldCMS, the path is usually straightforward because you're moving to a more constrained schema:
- Export your existing post-like records as JSON or CSV (Filament's standard
Resource::export()or a one-off Artisan command). - Map your fields to UnfoldCMS's
Postmodel —title,slug,body,posted_at,is_published,seo_title,meta_desc. - Import via the UnfoldCMS REST API (
POST /api/postswithX-API-Keyauth — see API documentation) or via Artisan tinker. - Move media — re-attach files via Spatie's
addMedia()on each post. - Set up 301 redirects from old URLs in
/admin/seo/redirects(CSV import supported).
If you're moving from UnfoldCMS to Filament, it's also straightforward — read the database directly (Filament can point at any Laravel model) and scaffold resources from the existing tables.
Either direction, we offer hands-on Migration Service for complex cases — typically $149 for the Essential package and $499 for full migration with redirects, SEO preservation, and 30-day post-migration support.
FAQ
Q: Is FilamentPHP a CMS?
No. Filament is an admin-panel framework. You can build a CMS on top of Filament, but Filament itself ships zero content-management primitives out of the box (no posts, no pages, no media library, no themed public site). The CMS work is yours to do.
Q: Can UnfoldCMS replace Filament for an internal admin?
It depends on the admin. If the admin is editing posts, pages, media, menus, redirects, and SEO — yes, UnfoldCMS already is that admin. If the admin is for a custom domain model (orders, shipments, custom workflows), no — that's exactly Filament's sweet spot and UnfoldCMS would be the wrong tool.
Q: Does UnfoldCMS have a plugin marketplace like Filament?
Not yet. UnfoldCMS ships features in tiers (Core, Pro, Business, Agency) rather than via a plugin marketplace. Adding paid plugins for individual features is on the roadmap but not shipped in 2026.
Q: Why does UnfoldCMS use React + Inertia instead of Livewire?
It's a different product philosophy. Livewire is excellent for tightly-coupled server-driven UIs (which fits Filament's "admin panel for your data" model). UnfoldCMS uses React 19 + Inertia 2 + 51 shadcn/ui components because the admin is a hand-built product UI optimized for content workflows — fast page transitions, rich text editing (Tiptap), drag-and-drop sections, real-time form validation. Both are valid. Read more in Laravel + React + Inertia: The Modern CMS Stack.
Q: Can I use UnfoldCMS as a headless CMS with a Filament-built frontend?
Not directly — Filament doesn't build public-facing frontends (it builds admins). But you can use UnfoldCMS as a headless CMS with any frontend: Next.js, Astro, SvelteKit, Nuxt, plain Laravel Blade. The public /api/blog/posts endpoint returns published posts with media URLs, categories, author info, and reading time. See Headless CMS Examples: 5 Real Implementations for stack-specific patterns.
Q: I already have a Filament app. Should I throw it away and switch?
Almost certainly not. If your Filament app is doing its job — editing custom data models, internal admin, SaaS dashboard — UnfoldCMS is the wrong replacement. UnfoldCMS is for cases where you'd otherwise build a CMS in Filament (post resource, page resource, media plugin, public frontend in Blade). If you're about to start that work, that's the moment to evaluate UnfoldCMS instead.
The Verdict
Filament and UnfoldCMS are both excellent Laravel-ecosystem tools. They are not direct competitors because they're not in the same category.
-
Use Filament when the answer to "what's the data model?" is anything other than posts and pages. Custom internal admins, SaaS dashboards, back-office tools, moderation panels, anything where you need a powerful builder DSL to render an admin UI from your code.
-
Use UnfoldCMS when the answer to "what's the data model?" is posts, pages, media, SEO, menus, redirects — like a normal website. Marketing sites, blogs, docs sites, agency client work, content-driven product pages.
If you're a Laravel developer who's been reaching for Filament every time you need any admin UI — including the times you needed a CMS — UnfoldCMS is built for those specific times. It's not a replacement for Filament. It's the right answer to a different question.
Try It
If you're shipping a marketing site, blog, or content-driven product page on Laravel, here's the honest invitation:
- See it running: demo.unfoldcms.com — full admin, posts, pages, media, SEO, themes. Login:
[email protected]/password. - Read the docs: /docs — installation, content model, theming, headless API.
- Pricing: /pricing — one-time, $39 Core to $799 Agency.
- Migration help: /contact — $149 Essential / $499 Full for hands-on migrations.
If you're building a custom internal admin or a domain model that doesn't fit "posts and pages," stay on Filament. It's the right tool for that job.
Sources & Methodology
- UnfoldCMS feature claims: verified against the source code on May 18, 2026 (component count, admin page count, content model, public API endpoints). Source-of-truth doc:
docs/plans/cms-features.mdin the unfoldcms-website repository. - FilamentPHP public stats: filamentphp.com, github.com/filamentphp/filament, official documentation, Filament plugins marketplace listings.
- No paid sponsorship: this page is published on UnfoldCMS's own site. We disclose that we work on UnfoldCMS. We have no financial relationship with Filament or its maintainers.
- Numbers re-verified: 51 shadcn/ui components, 205 admin pages, 3 templates, 12 section types — re-counted from the source code rather than cited from memory.
Last reviewed: May 27, 2026.