Pan-African · All 54 Currencies

Tithe & Offering Calculator

Plan your tithes, offerings, first fruits and giving budget — with AI-powered guidance for faithful stewardship.

Income Details

Your gross or net income for giving calculations

₦0 ₦500,000 ₦50,000,000

Giving Types

Select what you'd like to give and set custom percentages

"Bring the whole tithe into the storehouse, that there may be food in my house. Test me in this," says the Lord Almighty, "and see if I will not throw open the floodgates of heaven and pour out so much blessing that there will not be room enough to store it."
— Malachi 3:10 (NIV)
This calculator is a financial planning tool. Giving decisions are between you and God — we simply help with the maths.

Your Giving Plan

Enter your income and select giving types, then calculate to see your personalized plan.

Your Giving Plan

Monthly Breakdown

Type Amount

📊 Annual Projection

Giving: 10%
Remaining: 90%
AfroTools AI Advisor Tier 1
Giving Plan — AfroTools
AfroTools
${refNumber} ${date}
${state.currency} · ${r.periodLabel}

Giving Plan Report

${r.periodLabel} tithe and offering breakdown · ${state.basis.charAt(0).toUpperCase() + state.basis.slice(1)} income basis

${r.periodLabel} Income
${formatMoneyFull(r.income)}
${state.basis} income
Total Giving
${formatMoneyFull(r.totalGiving)}
${r.givingPct}% of income
Remaining
${formatMoneyFull(r.remaining)}
${r.remainingPct}% of income
Giving Breakdown
${breakdownRows}
TypeRateAmount
Total ${r.periodLabel} Giving ${formatMoneyFull(r.totalGiving)}
Annual Projection
${formatMoney(r.totalGiving * r.annualMultiplier)}
Total Annual Giving
${r.breakdown.map(item => `
${formatMoney(item.type === 'firstfruit' ? item.amount : item.amount * r.annualMultiplier)}
${item.name}${item.type === 'firstfruit' ? ' (one-time)' : ' / year'}
`).join('')}
"Each of you should give what you have decided in your heart to give, not reluctantly or under compulsion, for God loves a cheerful giver."
— 2 Corinthians 9:7
`; } // ========== DOWNLOAD & MODAL ========== function openDownloadModal() { document.getElementById('downloadModal').classList.add('visible'); document.getElementById('downloadEmail').focus(); } function closeDownloadModal() { document.getElementById('downloadModal').classList.remove('visible'); } async function submitDownload() { const email = document.getElementById('downloadEmail').value.trim(); if (!email || !email.includes('@')) { alert('Please enter a valid email address.'); return; } const btn = document.getElementById('modalSubmitBtn'); btn.textContent = 'Preparing...'; btn.disabled = true; // Submit to Netlify Forms try { const formData = new URLSearchParams(); formData.append('form-name', 'tithe-calculator-leads'); formData.append('email', email); formData.append('currency', state.currency); formData.append('income', state.income.toString()); formData.append('total-giving', state.results ? state.results.totalGiving.toString() : '0'); formData.append('timestamp', new Date().toISOString()); await fetch('/', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: formData.toString() }); } catch (e) { console.log('Form submission note:', e); } // Generate and trigger PDF download const pdfHTML = generatePDFHTML(); const blob = new Blob([pdfHTML], { type: 'text/html' }); const url = URL.createObjectURL(blob); // Auto-download const a = document.createElement('a'); a.href = url; a.download = `AfroTools-Giving-Plan-${state.currency}-${Date.now()}.html`; a.click(); // Also open print dialog in new tab setTimeout(() => { const printWindow = window.open(url, '_blank'); if (printWindow) { printWindow.onload = function() { setTimeout(() => printWindow.print(), 500); }; } }, 300); btn.textContent = 'Downloaded ✓'; document.getElementById('modalDoneBtn').style.display = 'block'; setTimeout(() => { btn.textContent = 'Download PDF Report'; btn.disabled = false; }, 3000); } function printResults() { const pdfHTML = generatePDFHTML(); const printWindow = window.open('', '_blank'); printWindow.document.write(pdfHTML); printWindow.document.close(); printWindow.onload = function() { setTimeout(() => printWindow.print(), 300); }; } // ========== SHARE ========== function shareWhatsApp() { const r = state.results; if (!r) return; const text = `📊 My Giving Plan (via AfroTools)\n\n💰 Income: ${formatMoneyFull(r.income)} ${state.currency}\n🙏 Total Giving: ${formatMoneyFull(r.totalGiving)} (${r.givingPct}%)\n${r.breakdown.map(i => `• ${i.name}: ${formatMoneyFull(i.amount)}`).join('\n')}\n\nPlan yours: https://afrotools.com/tithe-offering-calculator`; window.open(`https://wa.me/?text=${encodeURIComponent(text)}`, '_blank'); } function shareTwitter() { const r = state.results; if (!r) return; const text = `I just planned my tithes & offerings with @AfroTools 🙏\n\nGiving ${r.givingPct}% of my income faithfully. Plan yours 👇\nhttps://afrotools.com/tithe-offering-calculator`; window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}`, '_blank'); } function copyLink() { navigator.clipboard.writeText('https://afrotools.com/tithe-offering-calculator').then(() => { const btn = event.target.closest('.share-btn'); const original = btn.innerHTML; btn.innerHTML = ' Copied!'; setTimeout(() => btn.innerHTML = original, 2000); }); } // ========== INIT ========== updateCurrencyDisplay();