Form 1040-ES: Estimated Tax for Individuals

The form used by individuals to calculate and pay estimated quarterly taxes if they expect to owe tax of $1,000 or more when their return is filed (e.g., self-employed individuals).
Jimmy Law

What is Form 1040-ES?

Form 1040-ES, Estimated Tax for Individuals, is used by taxpayers to calculate and pay estimated taxes on income that is not subject to withholding, such as self-employment income, interest, dividends, and rental income.

Who Needs to File Form 1040-ES?

You may need to pay estimated taxes if:

This primarily applies to self-employed individuals, freelancers, independent contractors, and business owners.

When Are Estimated Taxes Due?

Estimated taxes are paid quarterly on these dates:

How to Calculate Estimated Taxes

Form 1040-ES includes a worksheet to help you estimate your income, deductions, and credits for the year. Based on this estimate, you can calculate how much to pay each quarter.

How to Pay

Estimated taxes can be paid:

Penalties for Underpayment

If you don't pay enough estimated tax, you may owe an underpayment penalty when you file your return. However, you generally won't owe a penalty if you owe less than $1,000 or paid at least 90% of your current year's tax liability.

Official Source: IRS Form 1040-ES

Fast to set up. Easy to use.
Get your team up and running with Breakroom in 60 seconds. Or schedule a free, personalized demo today.
// Function to update active link function updateActiveLink(activeSectionId) { // Remove active class from all links navigationLinks.forEach(function(link) { link.classList.remove('is-active'); }); // Add active class to the corresponding link var activeLink = document.querySelector('a[href="#' + activeSectionId + '"]'); if (activeLink) { activeLink.classList.add('is-active'); } } // Set up intersection observer for scroll-based active states if (navigationLinks.length > 0) { var observerOptions = { root: null, rootMargin: '-20% 0px -80% 0px', // Trigger when section is 20% from top threshold: 0 }; var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { updateActiveLink(entry.target.id); } }); }, observerOptions); // Observe all H2 sections headers.forEach(function(header) { observer.observe(header); }); }