The Pathway office will be closed on Friday, July 3, in observance of Independence Day as we reflect on freedom and the responsibility to build opportunity for all.
The Pathway office will be closed on Friday, July 3, in observance of Independence Day as we reflect on freedom and the responsibility to build opportunity for all.
Get updates from Pathway delivered directly to your inbox.
© 2025 | Pathway Financial Education | All Rights Reserved | Privacy Policy
Pro Bono Small Business Clinic Volunteer Form
Please enter a valid gross income (0 or more).
`; return; } const std = useStd ? STANDARD_DEDUCTION_2025[status] : 0; const taxable = Math.max(0, gross - std); const { rows, totalTax, marginalRate, effectiveRate } = calculateBreakdown(taxable, BRACKETS_2025[status]); $("stdDeductionLabel").textContent = money(STANDARD_DEDUCTION_2025[status]); $("taxableIncomeOut").textContent = money(taxable); $("totalTaxOut").textContent = money(totalTax); $("marginalRateOut").textContent = pct(marginalRate); $("effectiveRateOut").textContent = pct(effectiveRate); const bodyRows = rows.map(r => `| Bracket range (taxable income) | Income taxed in this bracket | Tax from this bracket |
|---|---|---|
| No taxable income falls into these brackets. | ||
| Total | ${money(taxable)} | ${money(totalTax)} |
Note: This is federal income tax from brackets only. Real tax returns can differ because of credits (like Child Tax Credit/EITC), other deductions, self-employment tax, and state/local taxes.
`; } function init() { if (!$("taxBracketTool")) return; // not on this page $("stdDeductionLabel").textContent = money(STANDARD_DEDUCTION_2025[$("filingStatus").value]); $("calcBtn").addEventListener("click", render); $("filingStatus").addEventListener("change", () => { $("stdDeductionLabel").textContent = money(STANDARD_DEDUCTION_2025[$("filingStatus").value]); render(); }); $("useStandardDeduction").addEventListener("change", render); $("grossIncome").addEventListener("input", () => { // Optional: live update as they type (comment out if you prefer button-only) render(); }); render(); } // Run after DOM is ready if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } })();