Etsy rates verified on 2026-07-28.

How we calculate Etsy profit

This page lists every formula the calculator uses, the base each fee is charged on, and how we round. If you want to check our math against your Etsy Payment account, everything you need is here.

All amounts are handled in whole cents. Percentages are applied at full precision and only rounded where the rules below say so.

Terms used here: revenue before fees is everything the buyer paid you except sales tax. Non-labor production cost is what you spent on materials, packaging, shipping and other direct costs — the cost of goods sold — with your own time counted separately.

What the buyer paid you

Revenue comes first, because almost every Etsy fee is a percentage of some part of it.

Item subtotal

item_subtotal = item_price × quantity

Charged on: Your listed price and the quantity in the order.

The price of the items before any discount. Quantity matters beyond this line too, because the listing fee is charged per item sold.

Item subtotal after discount

discounted_item_subtotal = max(0, item_subtotal − discount)

Charged on: Item subtotal, less the coupon or sale amount.

A discount lowers the base of the transaction fee as well as your revenue, so a coupon costs you slightly less than its face value.

Revenue before fees

seller_revenue_before_fees =
  discounted_item_subtotal
  + shipping_charged
  + gift_wrap_charged

Charged on: Discounted items plus shipping and gift wrap charged to the buyer.

This is your income from the order. Sales tax is deliberately excluded: Etsy collects it from the buyer and remits it, so it never becomes yours.

Profit margin is measured against this figure.

Etsy fees

Each fee has its own base. The difference between those bases is the usual reason a hand estimate misses.

Listing fee

listing_fee = listing_fee_per_item × quantity

Charged on: Charged per item sold, not per order.

A flat amount, $0.20 in the US default, multiplied by the quantity. Selling two of something costs two listing fees, because the listing renews.

Transaction fee

transaction_fee_base =
  discounted_item_subtotal
  + shipping_charged
  + gift_wrap_charged

transaction_fee = transaction_fee_base × transaction_rate

Charged on: Discounted items plus shipping and gift wrap. Sales tax is not included.

Etsy's percentage of the sale, 6.5% in the US default. It applies to the shipping you charge as well as to the item, which is why free shipping folded into the price still gets taxed by this fee.

Payment processing

payment_processing_base =
  discounted_item_subtotal
  + shipping_charged
  + gift_wrap_charged
  + sales_tax_collected

payment_processing_fee =
  payment_processing_base × processing_rate
  + processing_fixed_fee

Charged on: Everything the buyer paid, sales tax included, plus a flat amount once per order.

This is the one base that contains sales tax, because the processor handles the entire charge to the buyer's card. The flat part is charged once per order regardless of how many items it holds.

Offsite Ads

offsite_ads_base =
  discounted_item_subtotal
  + shipping_charged
  + gift_wrap_charged

offsite_ads_fee =
  min(offsite_ads_base × offsite_ads_rate, $100.00)

Charged on: Same base as the transaction fee, applied only to attributed orders.

15% while your shop has stayed below $10,000 in Etsy sales over a 365-day period, 12% after it passes that threshold. It only applies when Etsy attributes the order to one of its off-site ads.

The $100 cap is applied per attributed order, before rounding.

Regulatory operating fee

regulatory_operating_fee_base = transaction_fee_base

regulatory_operating_fee =
  regulatory_operating_fee_base × regulatory_rate

Charged on: The same base as the transaction fee.

Charged in some countries to cover local regulatory costs. The US default is 0%, so it does not appear unless you set a rate.

Currency conversion

currency_conversion_fee =
  currency_conversion_enabled
    ? seller_revenue_before_fees × currency_conversion_rate
    : 0

Charged on: Your revenue before fees.

Applies when the buyer pays in a currency other than your shop's, at 2.5% in the default. Off unless you switch it on.

Custom fee

custom_fee = the amount you enter

Charged on: A flat amount, charged once per order.

An escape hatch for a line on your Etsy statement this calculator does not model — a subscription share, a country-specific charge, a fee introduced after the date at the bottom of this page. It is added to total Etsy fees exactly as typed.

Total Etsy fees

total_etsy_fees =
  listing_fee
  + transaction_fee
  + payment_processing_fee
  + offsite_ads_fee
  + currency_conversion_fee
  + etsy_ads_cost
  + regulatory_operating_fee
  + custom_fee

Charged on: The sum of the individual fees, each already rounded to the cent.

Etsy Ads is a dollar amount you enter rather than a rate, and the custom fee is there so you can match a line on your statement that we do not model.

Every fee in this sum gets its own line in the result breakdown, including currency conversion, the regulatory operating fee and the custom fee. All three are zero under the US defaults and stay hidden until you give them a value — but when they do apply they are shown, because otherwise the breakdown rows would not add up to the total.

What the order cost to make and ship

Per-item costs are multiplied by quantity; order-level costs are counted once.

Cost per item, before your time

unit_non_labor_cost =
  materials_per_item
  + packaging_per_item
  + other_cost_per_item

Charged on: The direct costs of one finished item.

Everything that goes out the door with the item. Your labor is not in here — it is priced separately so you can see both numbers.

Production cost for the order

total_non_labor_production_cost =
  unit_non_labor_cost × quantity
  + order_packaging
  + shipping_cost_paid
  + other_order_cost

Charged on: Per-item costs times quantity, plus the costs charged once per order.

The mailer, the label and any insurance belong to the order as a whole, so they are added once no matter how many items are inside.

From a batch to a single item

When you work in batches, costs are divided by the units you can actually sell — not by everything you made.

Sellable units

sellable_units = units_produced − failed_units

Charged on: What came out of the batch, minus what you cannot sell.

Failures do not disappear from your costs; they move onto the pieces that survived.

Materials per sellable unit

materials_per_sellable_unit =
  total_batch_materials / sellable_units

Charged on: Total batch materials, divided by sellable units.

This replaces the materials figure you would otherwise type in by hand, and it is usually higher than the guess.

Overhead per sellable unit

batch_overhead_per_sellable_unit =
  batch_overhead / sellable_units

Charged on: Batch overhead, divided by sellable units.

Electricity, consumables and tool wear for the batch, spread across the pieces you can sell. It feeds the “other cost per item” line.

Labor hours per sellable unit

labor_hours_per_sellable_unit =
  (batch_labor_minutes / 60) / sellable_units

Charged on: Hands-on minutes for the batch, divided by sellable units.

Batch work usually beats making one at a time, and this is where that shows up as a lower cost per piece.

Target pay per unit

target_labor_cost_per_unit =
  labor_hours_per_sellable_unit × target_hourly_pay

Charged on: Hours per unit at the rate you set.

What one piece should pay you if your time is worth your target rate.

Your time and your profit

The two profit numbers differ by one thing: whether your own hours have been paid.

Hours on this order

total_labor_hours =
  labor_minutes_per_item / 60 × quantity

Charged on: Hands-on minutes per item, across the quantity ordered.

Active work only. Time a piece spends curing or drying on its own is not counted.

Target pay for your time

target_labor_cost = total_labor_hours × target_hourly_pay

Charged on: Your hours at your target hourly rate.

A cost you set, not a payment anyone takes. It exists so the profit number does not quietly assume your work is free.

Cash left before paying yourself

cash_left_before_labor =
  seller_revenue_before_fees
  − total_etsy_fees
  − total_non_labor_production_cost

Charged on: Revenue before fees, minus Etsy's fees and your production costs.

Roughly what the order adds to your bank balance once the label is bought and Etsy has taken its cut.

True business profit

true_business_profit =
  cash_left_before_labor − target_labor_cost

Charged on: Cash left, minus the value of your hours.

What the sale earns the business after you are paid like anyone else doing the work would be.

Effective hourly pay

effective_hourly_pay =
  cash_left_before_labor / total_labor_hours

Charged on: Cash left, divided by the hours you worked.

Treats every dollar left after fees and costs as pay for your time, so you can compare it with the rate you were aiming for.

Not calculated when labor hours are zero — there is nothing to divide by.

Profit margin

true_profit_margin =
  true_business_profit / seller_revenue_before_fees × 100

Charged on: True business profit as a percentage of revenue before fees.

Measured against your income from the order, sales tax excluded. Not calculated when revenue is zero.

The suggested price

Because fees are a mix of percentages, flat amounts and a cap, the price that hits a target margin cannot be worked out by adding a markup. We search for it.

What the search looks for

find the smallest item_price where
  true_business_profit / seller_revenue_before_fees
    ≥ target_margin

Charged on: Your current costs, fee settings and target hourly pay, with the price varying.

Every candidate price is run through the full calculation, fees included, so the answer accounts for the fact that raising your price also raises the percentage fees.

Searched over whole cents between $0.01 and $100,000, then rounded up to the cent and re-checked.

A target margin of 100% or more is impossible and returns an error rather than a price.

How we round

Rounding is where estimates drift, so the rule is fixed and used everywhere — in the page, in the tests and in the price search.

  1. Each fee is calculated first at full precision.
  2. The Offsite Ads $100 cap is applied before rounding, not after.
  3. Each fee is then rounded to the cent on its own, half up.
  4. Total Etsy fees is the sum of the already-rounded fees, not a rounded sum.
  5. Money is stored and calculated in whole cents, never in binary floating point.
  6. Everything else is rounded only for display; the underlying value keeps its precision.

This is the rounding rule of an estimating calculator, not a promise of matching Etsy's internal ledger cent for cent. Where the two differ, your Etsy Payment account is the record.

US defaults

These are the rates the calculator starts with. Every one of them is editable under advanced fee settings.

Listing fee
$0.20 per item sold

Flat, multiplied by quantity

Transaction fee
6.5%

Discounted items + shipping charged + gift wrap

Etsy Payments percentage
3%

Discounted items + shipping charged + gift wrap + sales tax

Etsy Payments fixed fee
$0.25 per order

Flat, once per order

Offsite Ads
Off by default; 15% or 12%, capped at $100 per order

Discounted items + shipping charged + gift wrap, attributed orders only

Currency conversion
Off by default; 2.5%

Revenue before fees

Regulatory operating fee
0% for the US

Same base as the transaction fee

Etsy Ads
Dollar amount you enter

A budget you set, not a rate on the sale

Sources

Etsy can change its fees at any time. If a rate on this page no longer matches the source, edit it in the calculator and tell us through the feedback question.

Etsy rates verified on 2026-07-28.

Estimates only. Etsy fees vary by country and order. Always verify against your Etsy Payment account.