Md Payroll Calculator

Maryland Payroll Calculator

Use this calculator to estimate your net pay per pay period in Maryland, factoring in federal, state, and local taxes, as well as common deductions. This tool provides an estimate based on 2024 tax rates and common withholding methods.

Employment Details



Weekly (52 pay periods) Bi-weekly (26 pay periods) Semi-monthly (24 pay periods) Monthly (12 pay periods)

Federal Withholding

Single Married Filing Jointly

Maryland State Withholding


Allegany (3.05%) Anne Arundel (2.81%) Baltimore City (3.20%) Baltimore County (3.20%) Calvert (3.00%) Caroline (2.73%) Carroll (3.03%) Cecil (2.80%) Charles (3.03%) Dorchester (2.62%) Frederick (2.96%) Garrett (2.65%) Harford (3.06%) Howard (3.20%) Kent (2.85%) Montgomery (3.20%) Prince George's (3.20%) Queen Anne's (2.80%) St. Mary's (3.00%) Somerset (3.00%) Talbot (2.25%) Washington (2.95%) Wicomico (3.20%) Worcester (1.75%) Other (Enter Rate Below)

Deductions



Payroll Summary Per Pay Period

Gross Pay:

Pre-Tax Deductions:

Taxable Gross (Federal):

Taxable Gross (MD State & County):


Federal Income Tax:

Social Security Tax:

Medicare Tax:

Maryland State Income Tax:

Maryland County Tax:

Post-Tax Deductions:


Net Pay:

Understanding Your Maryland Payroll

Navigating your paycheck can be complex, especially with various federal, state, and local taxes and deductions. This Maryland Payroll Calculator helps you understand how your gross earnings translate into your net take-home pay.

Gross Pay

Your gross pay is your total earnings before any deductions are taken out. For hourly employees, this is calculated by multiplying your hourly rate by the number of hours worked in a pay period. For salaried employees, it's your annual salary divided by the number of pay periods in a year.

Pre-Tax Deductions

These are deductions taken from your gross pay before taxes are calculated. Common pre-tax deductions include contributions to a 401(k) or 403(b) retirement plan, health insurance premiums, and Flexible Spending Account (FSA) contributions. Pre-tax deductions reduce your taxable income, meaning you pay less in federal, state, and sometimes local income taxes.

Federal Taxes

  • Federal Income Tax (FIT): This is a progressive tax, meaning higher earners pay a larger percentage of their income. The amount withheld depends on your gross pay, filing status (Single, Married Filing Jointly), and the number of dependents/allowances you claim on your W-4 form. Our calculator uses an annualized method based on 2024 tax brackets and allowance values to estimate this.
  • FICA Taxes (Social Security and Medicare): These are mandatory federal taxes that fund Social Security and Medicare programs.
    • Social Security: As of 2024, the rate is 6.2% of your gross wages, up to an annual wage base limit of $168,600.
    • Medicare: The rate is 1.45% of all your gross wages, with no wage base limit. An additional 0.9% Medicare tax applies to wages over $200,000 for single filers or $250,000 for married filers, though this calculator simplifies by not including the additional tax.

Maryland State and Local Taxes

  • Maryland State Income Tax: Maryland has a progressive state income tax system. The amount withheld depends on your taxable income and the number of personal exemptions you claim. For 2024, each personal exemption is valued at $3,200 annually. Our calculator uses the 2024 Maryland state tax brackets to estimate this.
  • Maryland County Income Tax: In addition to state income tax, Maryland counties (and Baltimore City) levy their own income taxes. These are calculated as a percentage of your Maryland taxable income. Rates vary by county, typically ranging from 1.75% to 3.20%. Our calculator includes a dropdown for common county rates and an option for a custom rate.

Post-Tax Deductions

These deductions are taken from your pay after all applicable taxes have been calculated and withheld. Examples include Roth 401(k) contributions, garnishments, union dues, or certain charitable contributions.

Net Pay

Your net pay, or take-home pay, is the amount remaining after all federal, state, and local taxes, and all pre-tax and post-tax deductions have been subtracted from your gross pay.

Important Considerations

This calculator provides an estimate and should not be considered financial or tax advice. Actual withholding amounts may vary based on specific circumstances, additional deductions, and changes in tax laws. For precise figures, consult a tax professional or your employer's payroll department.

Example Calculation

Let's consider an example using the default values in the calculator:

  • Hourly Rate: $30
  • Hours Worked Per Pay Period: 80 (for a bi-weekly period)
  • Pay Frequency: Bi-weekly
  • Federal Filing Status: Single
  • Federal Dependents/Allowances: 1
  • Maryland Personal Exemptions: 1
  • Maryland County: Montgomery County (3.20%)
  • Pre-Tax Deductions: $100
  • Post-Tax Deductions: $20

Based on these inputs, the calculator will determine your gross pay, subtract pre-tax deductions to find your taxable income for various taxes, calculate federal and state taxes (including FICA and county tax), subtract post-tax deductions, and finally present your estimated net pay per bi-weekly period.

.md-payroll-calculator-container { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; max-width: 700px; margin: 20px auto; padding: 25px; border: 1px solid #e0e0e0; border-radius: 10px; background-color: #f9f9f9; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } .md-payroll-calculator-container h2, .md-payroll-calculator-container h3 { color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 8px; margin-top: 25px; margin-bottom: 15px; } .md-payroll-calculator-container p { line-height: 1.6; color: #34495e; } .calculator-inputs label { display: inline-block; width: 250px; margin-bottom: 10px; font-weight: bold; color: #34495e; } .calculator-inputs input[type="number"], .calculator-inputs select { width: calc(100% – 260px); padding: 10px; margin-bottom: 10px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; font-size: 1em; } .calculator-inputs button { background-color: #3498db; color: white; padding: 12px 25px; border: none; border-radius: 5px; cursor: pointer; font-size: 1.1em; margin-top: 20px; transition: background-color 0.3s ease; } .calculator-inputs button:hover { background-color: #2980b9; } .calculator-results { background-color: #ecf0f1; border: 1px solid #dcdcdc; border-radius: 8px; padding: 20px; margin-top: 30px; } .calculator-results h3 { color: #2c3e50; border-bottom: 2px solid #2ecc71; padding-bottom: 8px; margin-top: 0; } .calculator-results p { font-size: 1.1em; margin-bottom: 8px; color: #34495e; } .calculator-results p strong { color: #2c3e50; } .calculator-results span { float: right; font-weight: bold; color: #27ae60; } .calculator-results hr { border: 0; border-top: 1px dashed #bdc3c7; margin: 15px 0; } .calculator-article { margin-top: 40px; padding-top: 20px; border-top: 1px solid #e0e0e0; } .calculator-article h3 { color: #34495e; border-bottom: 1px solid #95a5a6; padding-bottom: 5px; margin-top: 20px; } .calculator-article ul { list-style-type: disc; margin-left: 20px; color: #34495e; } .calculator-article ul li { margin-bottom: 5px; } function toggleCustomCountyRate() { var mdCounty = document.getElementById("mdCounty").value; var customCountyRateDiv = document.getElementById("customCountyRateDiv"); if (mdCounty === "other") { customCountyRateDiv.style.display = "block"; } else { customCountyRateDiv.style.display = "none"; } } function getPayPeriodsPerYear(frequency) { switch (frequency) { case "weekly": return 52; case "biweekly": return 26; case "semimonthly": return 24; case "monthly": return 12; default: return 26; // Default to bi-weekly } } function getCountyRate(county) { var rates = { "allegany": 0.0305, "anneArundel": 0.0281, "baltimoreCity": 0.0320, "baltimoreCounty": 0.0320, "calvert": 0.0300, "caroline": 0.0273, "carroll": 0.0303, "cecil": 0.0280, "charles": 0.0303, "dorchester": 0.0262, "frederick": 0.0296, "garrett": 0.0265, "harford": 0.0306, "howard": 0.0320, "kent": 0.0285, "montgomery": 0.0320, "princeGeorges": 0.0320, "queenAnnes": 0.0280, "stMarys": 0.0300, "somerset": 0.0300, "talbot": 0.0225, "washington": 0.0295, "wicomico": 0.0320, "worcester": 0.0175 }; return rates[county] || 0; } function calculateFederalTax(annualTaxableIncome, filingStatus) { var tax = 0; if (annualTaxableIncome <= 0) return 0; // 2024 Federal Income Tax Brackets (Annual, after standard deduction/allowances) if (filingStatus === "single") { if (annualTaxableIncome <= 11600) { // Standard Deduction effectively 0% tax = 0; } else if (annualTaxableIncome <= 20199) { // 10% bracket tax = (annualTaxableIncome – 11600) * 0.10; } else if (annualTaxableIncome <= 52899) { // 12% bracket tax = 859.90 + (annualTaxableIncome – 20199) * 0.12; } else if (annualTaxableIncome <= 100524) { // 22% bracket tax = 4795.90 + (annualTaxableIncome – 52899) * 0.22; } else if (annualTaxableIncome <= 191949) { // 24% bracket tax = 15370.40 + (annualTaxableIncome – 100524) * 0.24; } else if (annualTaxableIncome <= 243724) { // 32% bracket tax = 37666.40 + (annualTaxableIncome – 191949) * 0.32; } else if (annualTaxableIncome <= 609349) { // 35% bracket tax = 54219.20 + (annualTaxableIncome – 243724) * 0.35; } else { // 37% bracket tax = 183647.95 + (annualTaxableIncome – 609349) * 0.37; } } else if (filingStatus === "married") { if (annualTaxableIncome <= 23200) { // Standard Deduction effectively 0% tax = 0; } else if (annualTaxableIncome <= 40399) { // 10% bracket tax = (annualTaxableIncome – 23200) * 0.10; } else if (annualTaxableIncome <= 105799) { // 12% bracket tax = 1719.90 + (annualTaxableIncome – 40399) * 0.12; } else if (annualTaxableIncome <= 201049) { // 22% bracket tax = 9591.90 + (annualTaxableIncome – 105799) * 0.22; } else if (annualTaxableIncome <= 383899) { // 24% bracket tax = 30741.90 + (annualTaxableIncome – 201049) * 0.24; } else if (annualTaxableIncome <= 487449) { // 32% bracket tax = 75333.90 + (annualTaxableIncome – 383899) * 0.32; } else if (annualTaxableIncome <= 731200) { // 35% bracket tax = 108433.90 + (annualTaxableIncome – 487449) * 0.35; } else { // 37% bracket tax = 192892.65 + (annualTaxableIncome – 731200) * 0.37; } } return Math.max(0, tax); } function calculateMarylandTax(annualTaxableIncome) { var tax = 0; if (annualTaxableIncome <= 0) return 0; // 2024 Maryland State Income Tax Brackets (Annual) if (annualTaxableIncome <= 1000) { tax = annualTaxableIncome * 0.02; } else if (annualTaxableIncome <= 2000) { tax = 20 + (annualTaxableIncome – 1000) * 0.03; } else if (annualTaxableIncome <= 3000) { tax = 50 + (annualTaxableIncome – 2000) * 0.04; } else if (annualTaxableIncome <= 100000) { tax = 90 + (annualTaxableIncome – 3000) * 0.0475; } else if (annualTaxableIncome <= 125000) { tax = 4797.50 + (annualTaxableIncome – 100000) * 0.05; } else if (annualTaxableIncome <= 150000) { tax = 6047.50 + (annualTaxableIncome – 125000) * 0.0525; } else if (annualTaxableIncome <= 250000) { tax = 7360 + (annualTaxableIncome – 150000) * 0.055; } else { tax = 12860 + (annualTaxableIncome – 250000) * 0.0575; } return Math.max(0, tax); } function calculatePayroll() { // Get input values var hourlyRate = parseFloat(document.getElementById("hourlyRate").value); var hoursWorked = parseFloat(document.getElementById("hoursWorked").value); var payFrequency = document.getElementById("payFrequency").value; var federalFilingStatus = document.getElementById("federalFilingStatus").value; var federalAllowances = parseInt(document.getElementById("federalAllowances").value); var mdAllowances = parseInt(document.getElementById("mdAllowances").value); var mdCounty = document.getElementById("mdCounty").value; var preTaxDeductions = parseFloat(document.getElementById("preTaxDeductions").value); var postTaxDeductions = parseFloat(document.getElementById("postTaxDeductions").value); var customCountyRate = parseFloat(document.getElementById("customCountyRate").value) / 100; // Convert percentage to decimal // Validate inputs if (isNaN(hourlyRate) || hourlyRate < 0) hourlyRate = 0; if (isNaN(hoursWorked) || hoursWorked < 0) hoursWorked = 0; if (isNaN(federalAllowances) || federalAllowances < 0) federalAllowances = 0; if (isNaN(mdAllowances) || mdAllowances < 0) mdAllowances = 0; if (isNaN(preTaxDeductions) || preTaxDeductions < 0) preTaxDeductions = 0; if (isNaN(postTaxDeductions) || postTaxDeductions < 0) postTaxDeductions = 0; if (isNaN(customCountyRate) || customCountyRate ssWageBaseLimit) { ssTaxPerPeriod = (ssWageBaseLimit * ssRate) / payPeriodsPerYear; } else { ssTaxPerPeriod = grossPayPerPeriod * ssRate; } // Cap SS tax for the current period if it would exceed the remaining annual limit var remainingSSLimit = ssWageBaseLimit – (annualGrossPay – grossPayPerPeriod); // This is not accurate for a single period calc // Simpler: just apply rate to current gross, and if annual gross exceeds limit, the annualization will handle it. // The annualization method for SS is more robust for a single-period calculator. ssTaxPerPeriod = (Math.min(grossPayPerPeriod, (ssWageBaseLimit – (annualGrossPay – grossPayPerPeriod))) * ssRate); if (ssTaxPerPeriod limit var medicareTaxPerPeriod = grossPayPerPeriod * medicareRate; // 5. Federal Income Tax (FIT) var federalAllowanceValue = 5200; // 2024 annual value per allowance var annualFederalTaxableIncomeForFIT = annualFederalTaxableGross – (federalAllowances * federalAllowanceValue); annualFederalTaxableIncomeForFIT = Math.max(0, annualFederalTaxableIncomeForFIT); // Cannot be negative var annualFederalTax = calculateFederalTax(annualFederalTaxableIncomeForFIT, federalFilingStatus); var fitPerPeriod = annualFederalTax / payPeriodsPerYear; // 6. Maryland State Income Tax (MD SIT) var mdPersonalExemptionValue = 3200; // 2024 annual value per exemption var annualMdTaxableIncomeForSIT = annualMdTaxableGross – (mdAllowances * mdPersonalExemptionValue); annualMdTaxableIncomeForSIT = Math.max(0, annualMdTaxableIncomeForSIT); // Cannot be negative var annualMdStateTax = calculateMarylandTax(annualMdTaxableIncomeForSIT); var mdStateTaxPerPeriod = annualMdStateTax / payPeriodsPerYear; // 7. Maryland County Tax var selectedCountyRate = (mdCounty === "other") ? customCountyRate : getCountyRate(mdCounty); var annualMdCountyTax = annualMdTaxableIncomeForSIT * selectedCountyRate; // County tax is on MD taxable income var mdCountyTaxPerPeriod = annualMdCountyTax / payPeriodsPerYear; // 8. Total Deductions var totalDeductions = preTaxDeductionsPerPeriod + ssTaxPerPeriod + medicareTaxPerPeriod + fitPerPeriod + mdStateTaxPerPeriod + mdCountyTaxPerPeriod + postTaxDeductions; // 9. Net Pay var netPayPerPeriod = grossPayPerPeriod – totalDeductions; // Display results document.getElementById("grossPayResult").textContent = "$" + grossPayPerPeriod.toFixed(2); document.getElementById("preTaxDeductionsResult").textContent = "$" + preTaxDeductionsPerPeriod.toFixed(2); document.getElementById("federalTaxableGrossResult").textContent = "$" + federalTaxableGrossPerPeriod.toFixed(2); document.getElementById("mdTaxableGrossResult").textContent = "$" + mdTaxableGrossPerPeriod.toFixed(2); document.getElementById("federalTaxResult").textContent = "$" + fitPerPeriod.toFixed(2); document.getElementById("ssTaxResult").textContent = "$" + ssTaxPerPeriod.toFixed(2); document.getElementById("medicareTaxResult").textContent = "$" + medicareTaxPerPeriod.toFixed(2); document.getElementById("mdStateTaxResult").textContent = "$" + mdStateTaxPerPeriod.toFixed(2); document.getElementById("mdCountyTaxResult").textContent = "$" + mdCountyTaxPerPeriod.toFixed(2); document.getElementById("postTaxDeductionsResultDisplay").textContent = "$" + postTaxDeductions.toFixed(2); document.getElementById("netPayResult").textContent = "$" + netPayPerPeriod.toFixed(2); } // Initial call to set up custom county rate visibility and calculate default values window.onload = function() { toggleCustomCountyRate(); calculatePayroll(); };

Leave a Comment