Etsy Fee Calculator

Listing, transaction, payment and offsite-ad fees on one screen, with profit after cost.

The four fees that stack

Etsy charges a 0.20 listing fee per item (renewing every four months), a 6.5% transaction fee on the sale plus shipping, payment processing (3% + 25¢ in the US), and optionally an offsite ad fee of 12–15% when Etsy attributes the sale to its advertising. Together they can reach 25–30% of the sale price.

Why offsite ads matter so much

A 15% offsite fee on top of 6.5% and payment processing means one sale can lose a third of its revenue. If your margin is 40%, an attributed sale can drop to single digits. Model it at both rates and price accordingly — or opt out where your volume allows.

Pricing with fees in mind

  • Work backwards from the profit you need, not forwards from cost
  • Free shipping is not free: Etsy charges transaction fees on shipping too
  • Low-priced items suffer most — the 0.20 listing and 0.25 payment fixed costs dominate
  • Bundle to raise order value and spread the fixed fees

What this does not include

Promoted Listings (a separate ad budget), VAT/GST collected by Etsy, and your packaging or labour. Those belong in your product cost line if you want a full picture.

Frequently Asked Questions

Does Etsy charge a fee on shipping?

Yes — the 6.5% transaction fee applies to the full order including shipping charged.

What is the offsite ads fee?

15% for shops under $10k/year (mandatory when attributed), 12% above that threshold (optional).

Can I avoid the listing fee?

No; it is 0.20 per listing and renews every four months or on each sale of a multi-quantity listing.

Assumptions & disclaimer

Results are estimates for planning. Fee schedules, tax brackets and deduction limits change; confirm current figures with the marketplace, the IRS or a qualified accountant before making decisions. Nothing here is financial, tax or legal advice.

Privacy & Your Data

BizCalcTool runs entirely in your browser. The figures you enter are never uploaded, stored or shared — there is no backend to send them to.