Forms are such a core functionality to any website. If you've worked on any project with Umbraco CMS, you'll know that there is always a point where you need to implement a form for your client. Do you build your own or do you use Umbraco forms for it? Those are usually the directions that you are going towards. With Umbraco being open source friendly, it struck me that there isn't a strong, community-drive, open source forms package that covers both simple and advanced needs.
That is why I started building Sprout Forms. The form package that grows with your company.
I didn't make it because the world needs "another form builder.", but because the Umbraco ecosystem deserves an open, extensible and community-first option.
The Problem: Forms Are Either Closed or Overbuilt
There are quite some solutions for forms out there (although a lot less now that we are in the new backoffice era). For example, Umbraco Forms is easily the most used forms package and works well for many scenarios. But with using these packages, I kept running into the same friction points:
Many solutions are closed source
Extending them can be difficult
Custom flows quickly become complex
Most are built with enterprise use cases in mind
Very few focus on the “I just need a contact form” scenario
Not every website needs an enterprise level forms package. Sometimes all we need is just a contact form with an email notification system behind it and I think there isn't a good solution for those clients.
Why Open Source Matters (Especially for Forms)
For me, open source is a great power in the community. Some people associate open source with free software, but I think that is wrong. I think it's about:
Transparency
Community ownership
Long-term sustainability
Being able to inspect and debug issues
Being able to extend without hacks
When something is closed source, it becomes so much more difficult to try and change it towards your solution. Usually you'll be moving your solution with the closed source package instead of the other way around.
I once tried building a product recommendation flow on top of an existing solution. It quickly became clear how hard it is to implement custom logic when you don’t control the internals. With open source, you can:
Step into the code
Understand exactly why something behaves a certain way
Adjust or extend it cleanly
I think that is the power of open source. And most of the forms packages nowadays don't let you have such a power.
The Gap: Small Websites Deserve Good Tools Too
A big motivation behind Sprout Forms is the small-to-medium website space. There are plenty of Umbraco projects where the requirement is simply:
“We just need a contact form.”
They don't need workflows that connect with their CRMs, because they don't have any. They don't need extensive approvals because there is just one person. Their requirement is simple, but somehow those smaller clients are required to pay a hefty sum of money for such a small thing.
Sprout Forms aims to make this simple case feel simple without removing the ability to grow later.
The Long-Term Vision
My vision for Sprout Forms is something that I strive towards with all my packages:
✅ Open source and community-driven
✅ Simple to use
✅ Easy to extend
✅ Suitable for small and large projects
✅ Transparent in how it works
I want it to be Aa package that works out of the box but also allows you to build upon it. Have it be a package or a framework, the choice is up to you. Whether you’re building a small content site or a larger platform, you should be able to use the same foundation.
Sustainability: Why There Will Be a Pro Version
However, all of this wouldn't be possible without having time to work on it. Community driven packages only come so far, especially when we are in quite a niche community. But I want to ensure that I am fully transparent on what the future of Sprout Forms will be like.
Sprout Forms itself will always remain open source and free. However, I do plan to introduce a Pro package that contains more advanced enterprise flow types and features. This isn't because I am trying to squeeze money out of it, but it's needed to make such big packages sustainable for the future. I've learnt throughout the years that free time can only get a free package so far and that there are real risks for everyone involved to work this way:
The developer could stop working on the package at any time
This means that clients now have to scramble to either migrate over or to pick it up themselves. Nobody wants that, hence why something like this is such an important thing in the open source community.
Now I’d Love Your Input
If you work with Umbraco, I’d genuinely love to hear from you:
What frustrates you about forms today?
What features do you wish existed?
What workflows are hard to implement?
I’ve added a short feature request form below. If you’re interested in beta access or want to follow development more closely, let me know there as well. Sprout Forms should be built with the community, not just for it.