1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Free Etsy Fee Calculator 2026 â See Your Real Take-Home Per Sale</title> 7 <meta name="description" content="Free Etsy fee calculator that breaks down every fee line by line â listing fees, transaction fees, payment processing, Offsite Ads. See what you actually keep per sale."> 8 <link rel="icon" href="https://thecreativeshour.com/wp-content/uploads/2020/06/cropped-TC-32x32.png" sizes="32x32"> 9 <style> 10 body{margin:0;padding:0;background:#FFF8F2;min-height:100vh;} 11 .tch-nav{background:#FFF8F2;padding:1rem 1.5rem;display:flex;justify-content:center;align-items:center;border-bottom:1px solid rgba(215,195,179,.3);position:sticky;top:0;z-index:100;} 12 .tch-nav a{text-decoration:none;} 13 .tch-logo span:nth-child(1){color:#4DBACA;font-family:'Inter',sans-serif;font-weight:700;font-size:1.1rem;} 14 .tch-logo span:nth-child(2){color:#E8967A;font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:1.1rem;} 15 .tch-logo span:nth-child(3){color:#4DBACA;font-family:'Inter',sans-serif;font-weight:700;font-size:1.1rem;} 16 .tch-footer{background:#2F2B2A;padding:2.5rem 1.5rem;text-align:center;margin-top:2rem;} 17 .tch-footer p{color:rgba(255,248,242,.5);font-family:'Inter',sans-serif;font-size:.78rem;line-height:1.6;} 18 .tch-footer a{color:#4DBACA;text-decoration:none;} 19 20 /* SEO content sections */ 21 .seo-content{max-width:640px;margin:0 auto;padding:0 1.25rem;font-family:'Inter',sans-serif;color:#1C1B1F;line-height:1.7;-webkit-font-smoothing:antialiased;} 22 .seo-intro{padding:2rem 0 0;} 23 .seo-intro h2{font-family:'Fraunces',serif;font-style:italic;font-size:1.5rem;font-weight:700;color:#1C1B1F;margin-bottom:.75rem;line-height:1.3;} 24 .seo-intro p{font-size:.92rem;color:#1C1B1F;opacity:.72;margin-bottom:1rem;} 25 .seo-below{padding:1rem 0 2rem;} 26 .seo-below h2{font-family:'Fraunces',serif;font-style:italic;font-size:1.35rem;font-weight:700;color:#1C1B1F;margin:2rem 0 .75rem;line-height:1.3;} 27 .seo-below h3{font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;color:#1C1B1F;margin:1.5rem 0 .5rem;} 28 .seo-below p{font-size:.88rem;color:#1C1B1F;opacity:.72;margin-bottom:.75rem;} 29 .seo-below ol{padding-left:1.25rem;margin-bottom:1rem;} 30 .seo-below ol li{font-size:.88rem;color:#1C1B1F;opacity:.72;margin-bottom:.5rem;padding-left:.25rem;} 31 .seo-below ol li strong{opacity:1;color:#1C1B1F;} 32 .seo-below .faq-answer{margin-bottom:1.25rem;} 33 .seo-tools-grid{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem;} 34 .seo-tool-link{display:block;background:#FEF0EA;border-radius:14px;padding:.85rem 1.15rem;text-decoration:none;color:#1C1B1F;font-size:.88rem;transition:background .2s;} 35 .seo-tool-link:hover{background:#fce4da;} 36 .seo-tool-link strong{color:#E8967A;font-weight:600;} 37 .seo-tool-link span{display:block;font-size:.78rem;opacity:.55;margin-top:.2rem;} 38 @media(max-width:500px){ 39 .seo-content{padding:0 1rem;} 40 .seo-intro h2{font-size:1.3rem;} 41 .seo-below h2{font-size:1.2rem;} 42 } 43 </style> 44</head> 45<body> 46 <nav class="tch-nav"> 47 <a href="https://thecreativeshour.com" class="tch-logo"> 48 <span>The</span><span>Creatives</span><span>Hour</span> 49 </a> 50 </nav> 51 52 <!-- SEO intro content --> 53 <div class="seo-content seo-intro"> 54 <h2>How Much Does Etsy Actually Take From Every Sale?</h2> 55 <p>Every Etsy seller has had the moment â you make a $30 sale, check your payment account, and wonder where $7 went. Etsy's fee structure stacks: listing fees, transaction fees, payment processing fees, and potentially Offsite Ads fees. Most sellers know the 6.5% transaction fee exists but underestimate how much the full stack costs them per sale.</p> 56 <p>This free Etsy fee calculator shows you exactly what happens to your money. Enter your product price and shipping price, toggle your Ads settings, and see every fee broken out â line by line â with your actual take-home at the bottom. No signup, no account, just the math.</p> 57 </div> 58 59<style> 60@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,700;1,9..144,400;1,9..144,700&family=Inter:wght@400;500;600;700&display=swap'); 61 62.efc-root { 63 --ink: #1C1B1F; 64 --teal: #4DBACA; 65 --coral: #E8967A; 66 --cream: #FFF8F2; 67 --blush: #FEF0EA; 68 --clay: #D7C3B3; 69 --charcoal: #2F2B2A; 70 --sage: #6E8B74; 71 72 font-family: 'Inter', sans-serif; 73 color: var(--ink); 74 max-width: 640px; 75 margin: 0 auto; 76 padding: 2rem 1.25rem; 77 line-height: 1.6; 78 -webkit-font-smoothing: antialiased; 79} 80 81.efc-root * { box-sizing: border-box; margin: 0; padding: 0; } 82 83.efc-brand-label { 84 font-size: .65rem; 85 text-transform: uppercase; 86 letter-spacing: .12em; 87 color: var(--teal); 88 font-weight: 600; 89 margin-bottom: .5rem; 90} 91 92.efc-title { 93 font-family: 'Fraunces', serif; 94 font-style: italic; 95 font-size: 2rem; 96 font-weight: 700; 97 color: var(--ink); 98 margin-bottom: .5rem; 99 line-height: 1.2; 100} 101 102.efc-subtitle { 103 color: var(--ink); 104 opacity: .6; 105 font-size: .95rem; 106 margin-bottom: 2rem; 107} 108 109.efc-section-label { 110 font-size: .65rem; 111 text-transform: uppercase; 112 letter-spacing: .12em; 113 color: var(--coral); 114 font-weight: 600; 115 margin-bottom: 1rem; 116} 117 118.efc-card { 119 background: var(--blush); 120 border-radius: 20px; 121 padding: 1.5rem; 122 margin-bottom: 1.25rem; 123} 124 125.efc-input-group { 126 margin-bottom: 1rem; 127} 128 129.efc-input-group:last-child { 130 margin-bottom: 0; 131} 132 133.efc-label { 134 display: block; 135 font-size: .85rem; 136 font-weight: 600; 137 margin-bottom: .35rem; 138 color: var(--ink); 139} 140 141.efc-input-wrap { 142 position: relative; 143} 144 145.efc-input-wrap .efc-dollar { 146 position: absolute; 147 left: 14px; 148 top: 50%; 149 transform: translateY(-50%); 150 color: var(--ink); 151 opacity: .45; 152 font-size: .9rem; 153 font-weight: 500; 154 pointer-events: none; 155} 156 157.efc-input { 158 width: 100%; 159 padding: .75rem 1rem .75rem 1.75rem; 160 border-radius: 10px; 161 border: 1.5px solid var(--clay); 162 background: #fff; 163 font-size: .95rem; 164 font-family: 'Inter', sans-serif; 165 color: var(--ink); 166 transition: border-color .2s; 167 outline: none; 168} 169 170.efc-input:focus { 171 border-color: var(--teal); 172} 173 174.efc-toggle-row { 175 display: flex; 176 align-items: center; 177 justify-content: space-between; 178 padding: .65rem 0; 179 border-bottom: 1px solid var(--clay); 180 gap: .75rem; 181} 182 183.efc-toggle-row:last-child { 184 border-bottom: none; 185} 186 187.efc-toggle-text { 188 font-size: .85rem; 189 color: var(--ink); 190 flex: 1; 191} 192 193.efc-toggle-note { 194 display: block; 195 font-size: .72rem; 196 color: var(--ink); 197 opacity: .5; 198 margin-top: 2px; 199} 200 201.efc-switch { 202 position: relative; 203 width: 44px; 204 height: 24px; 205 flex-shrink: 0; 206} 207 208.efc-switch input { 209 opacity: 0; 210 width: 0; 211 height: 0; 212 position: absolute; 213} 214 215.efc-switch-slider { 216 position: absolute; 217 inset: 0; 218 background: var(--clay); 219 border-radius: 100px; 220 cursor: pointer; 221 transition: background .2s; 222} 223 224.efc-switch-slider::before { 225 content: ''; 226 position: absolute; 227 width: 18px; 228 height: 18px; 229 border-radius: 50%; 230 background: #fff; 231 left: 3px; 232 top: 3px; 233 transition: transform .2s; 234} 235 236.efc-switch input:checked + .efc-switch-slider { 237 background: var(--teal); 238} 239 240.efc-switch input:checked + .efc-switch-slider::before { 241 transform: translateX(20px); 242} 243 244/* Result Card */ 245.efc-result-card { 246 background: #fff; 247 border-radius: 18px; 248 padding: 1.75rem; 249 box-shadow: 0 2px 16px rgba(28, 27, 31, .07); 250 margin-top: 1.5rem; 251 margin-bottom: 1.25rem; 252} 253 254.efc-takehome-label { 255 font-size: .75rem; 256 text-transform: uppercase; 257 letter-spacing: .08em; 258 color: var(--ink); 259 opacity: .5; 260 font-weight: 600; 261 margin-bottom: .25rem; 262} 263 264.efc-takehome-amount { 265 font-family: 'Fraunces', serif;
266 font-size: 2.75rem; 267 font-weight: 700; 268 color: var(--coral); 269 line-height: 1.1; 270 margin-bottom: .15rem; 271} 272 273.efc-takehome-sub { 274 font-size: .8rem; 275 color: var(--ink); 276 opacity: .5; 277 margin-bottom: 1.5rem; 278} 279 280.efc-fee-table { 281 width: 100%; 282 border-collapse: collapse; 283} 284 285.efc-fee-table tr { 286 border-bottom: 1px solid var(--clay); 287} 288 289.efc-fee-table tr:last-child { 290 border-bottom: none; 291} 292 293.efc-fee-table td { 294 padding: .55rem 0; 295 font-size: .85rem; 296 color: var(--ink); 297} 298 299.efc-fee-table td:last-child { 300 text-align: right; 301 font-weight: 600; 302 font-variant-numeric: tabular-nums; 303} 304 305.efc-fee-table .efc-total-row td { 306 padding-top: .75rem; 307 font-weight: 700; 308 font-size: .95rem; 309 border-top: 2px solid var(--ink); 310} 311 312.efc-effective { 313 background: var(--blush); 314 border-radius: 12px; 315 padding: .85rem 1rem; 316 margin-top: 1rem; 317 text-align: center; 318 font-size: .85rem; 319 color: var(--ink); 320} 321 322.efc-effective strong { 323 color: var(--coral); 324 font-weight: 700; 325} 326 327/* Comparison Strip */ 328.efc-compare-strip { 329 margin-top: 1.5rem; 330} 331 332.efc-compare-title { 333 font-size: .75rem; 334 text-transform: uppercase; 335 letter-spacing: .08em; 336 color: var(--ink); 337 opacity: .5; 338 font-weight: 600; 339 margin-bottom: .75rem; 340} 341 342.efc-compare-row { 343 display: flex; 344 gap: .75rem; 345} 346 347.efc-compare-item { 348 flex: 1; 349 background: var(--blush); 350 border-radius: 14px; 351 padding: .85rem .75rem; 352 text-align: center; 353} 354 355.efc-compare-price { 356 font-size: .72rem; 357 color: var(--ink); 358 opacity: .55; 359 font-weight: 600; 360 margin-bottom: .2rem; 361} 362 363.efc-compare-takehome { 364 font-family: 'Fraunces', serif; 365 font-size: 1.15rem; 366 font-weight: 700; 367 color: var(--coral); 368} 369 370.efc-compare-fees { 371 font-size: .68rem; 372 color: var(--ink); 373 opacity: .45; 374 margin-top: .15rem; 375} 376 377/* Email CTA */ 378.efc-email-section { 379 background: var(--charcoal); 380 border-radius: 20px; 381 padding: 2rem 1.5rem; 382 margin-top: 1.5rem; 383 text-align: center; 384} 385 386.efc-email-title { 387 font-family: 'Fraunces', serif; 388 font-style: italic; 389 font-size: 1.35rem; 390 font-weight: 700; 391 color: var(--cream); 392 margin-bottom: .5rem; 393 line-height: 1.3; 394} 395 396.efc-email-desc { 397 font-size: .85rem; 398 color: var(--cream); 399 opacity: .7; 400 margin-bottom: 1.25rem; 401} 402 403.efc-email-form { 404 display: flex; 405 gap: .5rem; 406 max-width: 420px; 407 margin: 0 auto; 408} 409 410.efc-email-input { 411 flex: 1; 412 padding: .75rem 1rem; 413 border-radius: 100px; 414 border: 1.5px solid rgba(255,255,255,.15); 415 background: rgba(255,255,255,.08); 416 font-size: .9rem; 417 font-family: 'Inter', sans-serif; 418 color: var(--cream); 419 outline: none; 420 transition: border-color .2s; 421} 422 423.efc-email-input::placeholder { 424 color: var(--cream); 425 opacity: .4; 426} 427 428.efc-email-input:focus { 429 border-color: var(--teal); 430} 431 432.efc-email-btn { 433 background: var(--coral); 434 color: #fff; 435 border: none; 436 border-radius: 100px; 437 padding: .75rem 1.5rem; 438 font-size: .85rem; 439 font-weight: 700; 440 font-family: 'Inter', sans-serif; 441 cursor: pointer; 442 transition: opacity .2s; 443 white-space: nowrap; 444} 445 446.efc-email-btn:hover { 447 opacity: .88; 448} 449 450.efc-email-thanks { 451 display: none; 452 color: var(--cream); 453 font-size: .95rem; 454 padding: .5rem 0; 455} 456 457.efc-email-thanks .efc-check { 458 color: var(--sage); 459 font-weight: 700; 460 margin-right: .25rem; 461} 462 463@media (max-width: 500px) { 464 .efc-root { padding: 1.25rem 1rem; } 465 .efc-title { font-size: 1.55rem; } 466 .efc-card { padding: 1.25rem; } 467 .efc-result-card { padding: 1.25rem; } 468 .efc-takehome-amount { font-size: 2.25rem; } 469 .efc-email-form { flex-direction: column; } 470 .efc-email-btn { width: 100%; padding: .85rem; } 471 .efc-compare-item { padding: .7rem .5rem; } 472 .efc-compare-takehome { font-size: 1rem; } 473} 474</style> 475 476<div class="efc-root" id="efc-root"> 477 <div class="efc-brand-label">TheCreativesHour</div> 478 <h1 class="efc-title">Etsy Fee Calculator</h1> 479 <p class="efc-subtitle">See exactly what Etsy takes from every sale â so you can price with your eyes open.</p> 480 481 <div class="efc-section-label">Your Listing</div> 482 <div class="efc-card"> 483 <div class="efc-input-group"> 484 <label class="efc-label" for="efc-price">Item price</label> 485 <div class="efc-input-wrap">
486 <span class="efc-dollar">$</span> 487 <input class="efc-input" type="number" id="efc-price" min="0" step="0.01" placeholder="25.00"> 488 </div> 489 </div> 490 <div class="efc-input-group"> 491 <label class="efc-label" for="efc-shipping">Shipping price charged to buyer</label> 492 <div class="efc-input-wrap"> 493 <span class="efc-dollar">$</span> 494 <input class="efc-input" type="number" id="efc-shipping" min="0" step="0.01" value="0" placeholder="0.00"> 495 </div> 496 </div> 497 </div> 498 499 <div class="efc-card"> 500 <div class="efc-toggle-row"> 501 <div> 502 <span class="efc-toggle-text">I run Etsy Ads</span> 503 </div> 504 <label class="efc-switch"> 505 <input type="checkbox" id="efc-ads"> 506 <span class="efc-switch-slider"></span> 507 </label> 508 </div> 509 <div class="efc-toggle-row"> 510 <div> 511 <span class="efc-toggle-text">My shop made $10,000+ last year</span> 512 <span class="efc-toggle-note">Affects Offsite Ads rate (12% vs 15%)</span> 513 </div> 514 <label class="efc-switch"> 515 <input type="checkbox" id="efc-10k"> 516 <span class="efc-switch-slider"></span> 517 </label> 518 </div> 519 </div> 520 521 <!-- Result --> 522 <div class="efc-result-card" id="efc-result" style="display:none;"> 523 <div class="efc-takehome-label">Your Take-Home</div> 524 <div class="efc-takehome-amount" id="efc-takehome">$0.00</div> 525 <div class="efc-takehome-sub" id="efc-takehome-sub">on a $0.00 sale</div> 526 527 <table class="efc-fee-table"> 528 <tbody id="efc-fee-body"></tbody> 529 </table> 530 531 <div class="efc-effective" id="efc-effective"></div> 532 533 <div class="efc-compare-strip"> 534 <div class="efc-compare-title">At other price points</div> 535 <div class="efc-compare-row" id="efc-compare-row"></div> 536 </div> 537 </div> 538 539 <!-- Email CTA --> 540 <div class="efc-email-section" id="efc-email-section" style="display:none;"> 541 <div class="efc-email-title">Get more creator stories and pricing strategies</div> 542 <div class="efc-email-desc">Join 4,000+ creative entrepreneurs getting weekly insights on turning your craft into real income.</div> 543 <div class="efc-email-form" id="efc-email-form"> 544 <input class="efc-email-input" type="email" id="efc-email" placeholder="[email protected]"> 545 <button class="efc-email-btn" id="efc-email-btn">Subscribe</button> 546 </div> 547 <div class="efc-email-thanks" id="efc-email-thanks"> 548 <span class="efc-check">✓</span> You're in! Check your inbox for a welcome from us. 549 </div> 550 </div> 551</div> 552
553<script> 554(function() { 555 const $ = id => document.getElementById(id); 556 557 const priceEl = $('efc-price'); 558 const shipEl = $('efc-shipping'); 559 const adsEl = $('efc-ads'); 560 const tenKEl = $('efc-10k'); 561 const resultEl = $('efc-result'); 562 const emailSection = $('efc-email-section'); 563 564 function calcFees(itemPrice, shippingPrice, etsyAds, over10k) { 565 const totalPaid = itemPrice + shippingPrice; 566 const listing = 0.20; 567 const transaction = 0.065 * (itemPrice + shippingPrice); 568 const processing = 0.03 * totalPaid + 0.25; 569 const regulatory = 0.00405 * itemPrice; 570 let offsiteAds = 0; 571 if (etsyAds) { 572 offsiteAds = (over10k ? 0.12 : 0.15) * itemPrice; 573 } 574 const totalFees = listing + transaction + processing + regulatory + offsiteAds; 575 const takeHome = totalPaid - totalFees; 576 return { listing, transaction, processing, regulatory, offsiteAds, totalFees, takeHome, totalPaid }; 577 } 578 579 function fmt(n) { 580 return '$' + Math.abs(n).toFixed(2); 581 } 582 583 function update() { 584 const price = parseFloat(priceEl.value) || 0; 585 const shipping = parseFloat(shipEl.value) || 0; 586 587 if (price <= 0) { 588 resultEl.style.display = 'none'; 589 emailSection.style.display = 'none'; 590 return; 591 } 592 593 const ads = adsEl.checked; 594 const over10k = tenKEl.checked; 595 const r = calcFees(price, shipping, ads, over10k); 596 597 resultEl.style.display = 'block'; 598 emailSection.style.display = 'block'; 599 600 $('efc-takehome').textContent = fmt(r.takeHome); 601 $('efc-takehome-sub').textContent = 'on a ' + fmt(r.totalPaid) + ' sale'; 602 603 // Fee table 604 let rows = [ 605 ['Listing fee', fmt(r.listing)], 606 ['Transaction fee (6.5%)', fmt(r.transaction)], 607 ['Payment processing (3% + $0.25)', fmt(r.processing)], 608 ['Regulatory operating fee (0.405%)', fmt(r.regulatory)], 609 ]; 610 if (ads) { 611 const rate = over10k ? '12%' : '15%'; 612 rows.push(['Offsite Ads (' + rate + ')', fmt(r.offsiteAds)]); 613 } 614 615 let tbody = ''; 616 rows.forEach(function(row) { 617 tbody += '<tr><td>' + row[0] + '</td><td>-' + row[1] + '</td></tr>'; 618 }); 619 tbody += '<tr class="efc-total-row"><td>Total fees</td><td>-' + fmt(r.totalFees) + '</td></tr>'; 620 $('efc-fee-body').innerHTML = tbody; 621 622 const pct = r.totalPaid > 0 ? ((r.totalFees / r.totalPaid) * 100).toFixed(1) : '0'; 623 $('efc-effective').innerHTML = 'Etsy takes <strong>' + pct + '%</strong> of your sale'; 624 625 // Comparison strip 626 const comparePrices = [25, 50, 100]; 627 let compareHTML = ''; 628 comparePrices.forEach(function(cp) { 629 const cr = calcFees(cp, 0, ads, over10k); 630 const cpct = ((cr.totalFees / cr.totalPaid) * 100).toFixed(1); 631 compareHTML += '<div class="efc-compare-item">' + 632 '<div class="efc-compare-price">$' + cp + ' item</div>' + 633 '<div class="efc-compare-takehome">' + fmt(cr.takeHome) + '</div>' + 634 '<div class="efc-compare-fees">' + cpct + '% in fees</div>' + 635 '</div>'; 636 }); 637 $('efc-compare-row').innerHTML = compareHTML; 638 } 639 640 [priceEl, shipEl].forEach(function(el) { 641 el.addEventListener('input', update); 642 }); 643 [adsEl, tenKEl].forEach(function(el) { 644 el.addEventListener('change', update); 645 }); 646 647 // Email capture 648 $('efc-email-btn').addEventListener('click', function() { 649 var email = $('efc-email').value.trim(); 650 if (email && email.indexOf('@') > 0) { 651 $('efc-email-btn').disabled = true; 652 $('efc-email-btn').textContent = 'Subscribing...'; 653 fetch('https://api.convertkit.com/v3/forms/7298105/subscribe', { 654 method: 'POST', 655 headers: { 'Content-Type': 'application/json' }, 656 body: JSON.stringify({ 657 api_key: '8lHsMW4juM9E9jnuYPranA', 658 email: email, 659 tags: [17774466] 660 }) 661 }).then(function(res) { 662 if (res.ok) { 663 $('efc-email-form').style.display = 'none'; 664 $('efc-email-thanks').style.display = 'block'; 665 } else { 666 $('efc-email-btn').disabled = false; 667 $('efc-email-btn').textContent = 'Subscribe'; 668 } 669 }).catch(function() { 670 $('efc-email-btn').disabled = false;
671 $('efc-email-btn').textContent = 'Subscribe'; 672 }); 673 } 674 }); 675})(); 676</script>
676 677 <!-- SEO content below tool --> 678 <div class="seo-content seo-below"> 679 680 <h2>How This Calculator Works</h2> 681 <ol> 682 <li><strong>Enter your sale details</strong> â product price, shipping price, and whether you use Etsy Ads or qualify for Offsite Ads</li> 683 <li><strong>See every fee, line by line</strong> â listing fee ($0.20), 6.5% transaction fee, 3% + $0.25 payment processing, regulatory operating fee, and 15% Offsite Ads if applicable</li> 684 <li><strong>Get your real take-home</strong> â the actual dollar amount that lands in your bank account, plus a comparison at other price points</li> 685 </ol> 686 687 <h2>Why Knowing Your Etsy Fees Matters Before You Set Prices</h2> 688 <p>Most Etsy sellers set prices based on materials plus a gut-feel markup. The problem is that Etsy's fees eat 12-15% of every sale on average â and closer to 25-30% if you're in the Offsite Ads program and running Etsy Ads on top of it.</p> 689 <p>If you're not accounting for fees before you set your price, you're almost certainly making less per sale than you think. A $35 listing that costs you $12 in materials feels like a $23 profit â until you subtract $5 or more in Etsy fees and realize your actual margin on an hour of work is lower than you'd accept from a day job.</p> 690 <p>That's not a reason to leave Etsy. It's a reason to price with your eyes open. Run your actual numbers through the calculator above, and if the take-home surprises you, that's useful information â it means your current prices were set without the full picture.</p> 691 692 <h2>Frequently Asked Questions</h2> 693 694 <h3>What percentage does Etsy take from each sale?</h3> 695 <div class="faq-answer"> 696 <p>Etsy takes a minimum of about 10-12% from each sale when you add up the 6.5% transaction fee, 3% + $0.25 payment processing fee, the $0.20 listing fee, and the 0.405% regulatory operating fee. If you're in the Offsite Ads program (mandatory for shops earning over $10,000/year), add another 12-15% on sales that come through those ads. The actual total depends on your price point â lower-priced items lose a larger percentage because the flat fees ($0.20 listing and $0.25 processing) hit harder.</p> 697 </div> 698 699 <h3>Does Etsy charge fees on shipping?</h3> 700 <div class="faq-answer"> 701 <p>Yes. Etsy charges a 6.5% transaction fee on your shipping price, not just the item price. If you charge $5 for shipping, Etsy takes $0.33 from that. This is why many sellers build shipping into the item price and offer "free shipping" â the fee math is the same, but the buyer psychology is better.</p> 702 </div> 703 704 <h3>What are Etsy Offsite Ads and can I opt out?</h3> 705 <div class="faq-answer"> 706 <p>Etsy Offsite Ads is a program where Etsy advertises your listings on Google, Facebook, Instagram, and Pinterest. If a buyer clicks one of those ads and purchases within 30 days, Etsy takes a 15% fee on that sale (12% if your shop earns over $10,000/year). Shops earning under $10,000/year can opt out. Shops earning over $10,000/year cannot â it's mandatory.</p> 707 </div> 708 709 <h3>How do I calculate Etsy fees manually?</h3> 710 <div class="faq-answer"> 711 <p>For a basic sale with no ads: take your item price, add shipping price, then subtract the $0.20 listing fee, 6.5% transaction fee on (item + shipping), 3% + $0.25 payment processing fee on the total charged to the buyer, and the 0.405% regulatory operating fee. Or save yourself the headache and use the calculator above â it does all of this instantly.</p> 712 </div> 713 714 <h3>Are Etsy fees going up in 2026?</h3> 715 <div class="faq-answer"> 716 <p>As of early 2026, Etsy's core fee structure remains: 6.5% transaction fee, 3% + $0.25 payment processing, $0.20 per listing (renewed every 4 months), 0.405% regulatory operating fee, and 15% Offsite Ads on attributed sales. Etsy has raised fees before without much notice â another reason to build fee awareness into your pricing formula now rather than reacting later.</p> 717 </div> 718 719 <h2>More Free Tools for Etsy Sellers</h2> 720 <div class="seo-tools-grid"> 721 <a class="seo-tool-link" href="/tools/etsy-pricing-audit"> 722 <strong>Etsy Pricing Audit</strong>
723 <span>Find out if you're underpricing your products â most sellers are</span> 724 </a> 725 <a class="seo-tool-link" href="/tools/profit-margin-calculator"> 726 <strong>Profit Margin Calculator</strong> 727 <span>See your true margin after every cost, not just materials</span> 728 </a> 729 <a class="seo-tool-link" href="/tools/income-calculator"> 730 <strong>Creative Business Income Calculator</strong> 731 <span>Model what you could earn at different price points and volumes</span> 732 </a> 733 <a class="seo-tool-link" href="/tools/title-rewriter"> 734 <strong>Etsy Title Rewriter</strong> 735 <span>Generate optimized listing titles in seconds</span> 736 </a> 737 </div> 738 739 </div> 740 741 <footer class="tch-footer"> 742 <p>A free tool by <a href="https://thecreativeshour.com">The Creatives Hour</a><br>Proof that your creativity can pay the bills.</p> 743 </footer>
744<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7929d8e961e74e15a029485abbe4bfbc","r":1,"spa":2}' crossorigin="anonymous"></script>
744 745</body> 746</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.