The formula
For each platform scenario, per gift of size G:
- Fee per gift = platform% × G + processing% × G + fixed fee (processing capped where the processor caps it, e.g. Stripe ACH at $5).
- Payment mix: fees are computed separately for card and bank (ACH) and blended by your card/ACH slider. Platforms with no published ACH option (GoFundMe, PayPal donate buttons) have the ACH share modeled at card rates, flagged in the results.
- Donor-covers-fees: where offered (Donorbox), the share of donors you set as covering fees moves that share of cost off your books and onto donors as a simple pass-through. We do not model the gross-up (the few extra cents of fee charged on the fee itself) — this slightly understates donor cost and does not affect the org-side ranking.
- Annual cost = (annual volume ÷ average gift) × org-paid fee per gift + 12 × monthly plan fee (e.g. Donorbox Pro's $150/month).
- "You keep per $100" = 100 × (1 − annual cost ÷ annual volume). Ties are ranked equally.
- Tips (Zeffy, Givebutter default mode, GoFundMe's prompt) are paid by donors to the platform on top of the donation. They never reduce what the org receives, so they appear in the "donors add" line, not in your costs. The tip slider is your assumption — Zeffy publishes no fixed default percentage.
Verified fee schedules and sources
All rates are US-domestic, for online donation forms, as published on the official pages below. Last verified: 2026-06-10.
| Platform | Org-paid fees | Official source | Verified |
|---|---|---|---|
| Zeffy | 0% platform, $0 processing ("No transaction fees. No platforms fees. No fees period."). Funded by optional donor tips; ~2 of 3 donors tip (Zeffy's figure); suggestion is dynamic and not customizable by the org. | zeffy.com — how Zeffy is free; support.zeffy.com — no fees, no catch | 2026-06-10 |
| Givebutter | Tips ON (default): 0% platform, $0 processing (donors asked to cover; Givebutter Guarantee covers declines). Tips OFF: 3% platform + cards 2.9% + $0.30 / ACH 1.9% + $0.30. "92% of donors cover fees" is Givebutter's figure. | givebutter.com/pricing | 2026-06-10 |
| Donorbox | Standard (free): 2.95% platform. Pro ($150/mo): 1.75%. Processing via Stripe nonprofit rates: cards 2.2% + $0.30, ACH 0.8% capped at $5; via PayPal 1.99% + $0.49 (non-AmEx). Donor-covers-fees available. | donorbox.org/pricing | 2026-06-10 |
| GoFundMe (charity) | 0% platform; 2.2% + $0.30 transaction fee deducted from each donation for certified charities. Donor tips go to GoFundMe, on top. | gofundme.com/c/pricing | 2026-06-10 |
| PayPal (direct) | 1.99% + $0.49 per US transaction for PayPal-confirmed charities (unconfirmed orgs pay the standard donation rate of 2.89% + $0.49). | paypal.com — merchant fees | 2026-06-10 |
The same data, machine-readable, with per-platform source quotes and caveats: data/fees.json.
What we simplify (read this)
- US-domestic only. International cards and currency conversion add fees on every platform (e.g. PayPal adds 1.5% cross-border) — not modeled.
- Donation forms only. Event ticketing, memberships, and auctions are priced differently on some platforms (e.g. Donorbox 3.95%/2% tiers) — not modeled.
- AmEx. Where a vendor publishes a uniform card rate we apply it to all cards; AmEx surcharges that aren't published on the official page (e.g. via PayPal) are ignored and flagged in fees.json.
- No gross-up on donor-covered fees, as described in the formula section.
- Fractional transactions. Annual volume ÷ average gift rarely divides evenly; we keep the fraction, which is correct for estimates.
- Tip behavior is your assumption. No platform publishes a guaranteed average tip; vendor-published adoption figures (Zeffy ~2/3 tip, Givebutter 92% cover) are self-reported and not independently audited.
- Features, payout speed, support, and CRM quality are out of scope. We audit fees, nothing else. A cheaper platform is not automatically the right platform.
Why trust a calculator from a site you've never heard of?
Don't trust it — check it. Every number above links to the vendor's own page, the math is a few lines of readable JavaScript running entirely in your browser, and the data file carries verbatim source quotes. If you find a rate that has changed, the vendor's page wins; we re-verify the schedules periodically and update the dates above.
Update policy
Fee schedules are re-checked against the official pages roughly every six months, or sooner when a vendor announces pricing changes. The "last verified" dates on this page and in fees.json are updated on every check, even when nothing changed.