How to create a donation form for your website for free
Whether you're running a nonprofit, organizing a fundraiser, or collecting donations for a personal cause, a good donation form is a must. It needs to be trustworthy and frictionless, as every extra click might cost you a donation.
This guide walks you through how to create an online donation form from scratch, what to include in it, and how to embed it on your website. There's also a free template at the end you can use right now.
What to include in your donation form
Before building anything, decide what information you actually need. The shorter the form, the higher the completion rate.
Essential fields:
- Donation amount: Offer preset amounts (€10, €25, €50, €100) plus a "custom amount" option. Presets anchor the donor's thinking and typically increase average donation size.
- Donor name: First and last name for receipts and thank-you messages.
- Email address: For confirmation emails, receipts, and future communication.
- Payment details: Handled securely by your payment processor.
Optional but useful:
- A message or dedication field
- Recurring donation toggle (monthly vs. one-time)
- GDPR consent checkbox if you're collecting data in the EU
- A consent field to cover transaction fees
Creating a donation form for free with Weavely

Step 1: Generate your donation form
To create an online donation form, you need a tool that supports payment collection. There are multiple online fundraising tools, or form builders that support payments. In this article, we'll be using Weavely as an example, as it offers payment functionality for free and is one of the fastest tools for creating fully customizable online forms.
To get started, leave a prompt or upload a document, and Weavely will instantly generate a donation form with an embed code for your website.
Step 2: Set up the donation amount field

This is the most important field in the form. You have two approaches:
Pre-set amount: add a multiple-choice question with suggested amounts (e.g. €10, €25, €50, Other). If someone picks "Other," show a follow-up field where they enter their amount.
Flexible payment option: a single number field where donors type a custom donation amount. Simpler, but without the anchoring effect of presets.
In Weavely, you can use conditional logic to show the custom amount field only when someone selects "Other", keeping the form clean for everyone else.
Asking donors to cover the processing fees
Weavely doesn't charge any transaction fees, but your payment processor does. Stripe, for example, charges 1.5% + €0.25 per transaction for European cards, and 2.9% + $0.30 for US cards. On a €50 donation, that's roughly €1 going to Stripe.
Many donors are happy to cover this if you ask. Weavely doesn't currently have a native fee-calculation field that automatically adds the right percentage to the total, but there's a simple workaround: mention it in your form description. Something like:
"Stripe charges a small processing fee on each donation. If you'd like to cover it, feel free to add a little extra to your amount. For a €50 donation, that's around €1. Thanks a lot."
It's a small ask, and in practice most donors who notice it will cover it.
Step 3: Connect Stripe
Weavely forms accept payments via Stripe, so you will need an account which you can start absolutely for free. Stripe supports over 125 payment methods globally, including credit/debit cards and digital wallets (Apple Pay, Google Pay).
Go to the Settings tab and link your Stripe account to the form. Once connected, the donation amount entered by the respondent passes directly to Stripe checkout.
You don't handle payment information in the form itself, Stripe takes care of that, which also means you're PCI-compliant by default.
Step 4: Customize the design

Match the form to your website or campaign branding. Change colours, add your logo, and write a short intro at the top of the form that explains what the donation goes toward. With Weavely, design customization takes a few seconds, as you can ask AI to make all the adjustments. For example, just upload your logo or a paste a link from your website, and Weavely will apply the same styling to your form.
Step 5: Publish and embed the form
Once your form is ready, click Publish to make it live. Until you publish, the form is in draft mode and won't accept responses.
After publishing, go to the Share menu to get your embed code. You have multiple options:
- Embed: copy the code and paste it into your website. The donation form will appear directly on the page. Best for recurring donations.
- Direct link: share a standalone URL to your donation form, without embedding it anywhere. Useful for email campaigns and social media.
The embed code works with any website builder: Webflow, WordPress, Figma, Framer, Wix, Carrd, and others.
What donation causes can you use Weavely for
Donation forms aren't just for large charities. Here's who actually uses them:
Tips to get more donations from your form
Place it prominently: add a "Donate" button in your navigation, link to it from your homepage hero, and include it in email campaigns. Another option is to create a separate fundraising or donation page.
Add social proof: a line like "Join 430 donors who've supported this campaign" near the top of the form increases trust and conversions.
Use a compelling cover image or intro: the first thing donors see sets the tone. A photo of the people or cause you're supporting does more than any amount of copy.
Send a proper thank-you email.: automated confirmation emails that feel personal (use the donor's first name, mention the specific amount) significantly increase the chance of a repeat donation. Set this up in your form tool's notification settings.
Keep the form on-brand. A form that looks mismatched from your website signals unprofessionalism and erodes trust. Take a couple of minutes to match the colors and font.
Ready to build your donation form?
You can create a free donation form with Weavely in a few minutes. Instant form creation, free to get started, no extra transaction fees, secure payments with Stripe. Connect Stripe, set your donation amounts, embed it on your site, and you're collecting donations the same day.
Create your free donation form →
