<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Creator Cash</title>
	<atom:link href="https://creator-cash.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://creator-cash.com</link>
	<description>The #1 Place to Earn Money as a Creator</description>
	<lastBuildDate>Fri, 27 Feb 2026 12:52:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://creator-cash.com/wp-content/uploads/2025/10/cropped-creator-cash-favicon-32x32.png</url>
	<title>Creator Cash</title>
	<link>https://creator-cash.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Twitch Subs Calculator: Convert Subs to Dollars</title>
		<link>https://creator-cash.com/twitch/twitch-subs-calculator/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 12:18:35 +0000</pubDate>
				<category><![CDATA[Twitch]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=1217</guid>

					<description><![CDATA[How much money do Twitch subs make? The Twitch Subs Calculator shows how many dollars you earn monthly from subscriptions. Twitch Subs Calculator Convert Subs to Dollars Twitch Subs Calculator explained in detail]]></description>
										<content:encoded><![CDATA[<div class="tool-post twitch">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs-calculator-1024x1024.png" alt="Twitch Subs Calculator" width="1200" height="1200" class="alignnone size-full" title="Twitch Subs Calculator: Convert Subs to Dollars 12"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Twitch Subs Calculator: Convert Subs to Dollars</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>How much money do Twitch subs make? The Twitch Subs Calculator shows how many dollars you earn monthly from subscriptions.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/twitch-subs-calculator-tool-mobile.png" alt="Twitch Subs Calculator" width="394" height="410" class="alignnone size-full wp-image-319" title="Twitch Subs Calculator: Convert Subs to Dollars 13"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool twitch-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M3 2L1 6v15h6v3h3l3-3h4l6-6V2H3zm18 12-4 4h-5l-3 3v-3H5V4h16v10z"/><path d="M14 7h2v6h-2zM9 7h2v6H9z"/></svg></span><!-- SECTION START -->Twitch Subs Calculator<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/twitch/"><!-- SECTION START -->All Twitch calculators<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->Twitch Subs Calculator<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Convert Subs to Dollars<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
:root{
  --tw-border:#9E77D4;
  --tw-text:#ffffff;
  --tw-green:#6CFF3A;
  --tw-red:#ff4b4b;

  --tw-card:rgba(78,45,144,.55);
  --tw-card-dark:rgba(48,22,97,.70);
  --tw-card-fee:rgba(48,22,97,.62);
}

/* OUTER: no background/border/padding */
#cc-twsub{
  width:100%;
  padding:0;margin:0;border:0;
  background:transparent;border-radius:0;box-shadow:none;
}
#cc-twsub, #cc-twsub *{box-sizing:border-box}
#cc-twsub *{font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}

/* rows */
#cc-twsub .cc-row{
  display:flex;
  gap:12px;
  flex-wrap:nowrap;
  width:100%;
  min-width:0;
}
#cc-twsub .cc-row + .cc-row{margin-top:9px}

/* TOP FILTERS (desktop) */
#cc-twsub .cc-filters .cc-card{
  flex:1;
  min-width:0;
  background:var(--tw-card);
  border:1px solid var(--tw-border);
  border-radius:12px;
  box-shadow:none;
  padding:0;
}
#cc-twsub .cc-filter{
  height:42px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  min-width:0;
}
#cc-twsub .cc-abslabel{
  position:absolute;left:14px;top:52%;
  transform:translateY(-50%);
  color:#fff;font-weight:600;font-size:13px;
  pointer-events:none;
}

/* dd align like your template */
#cc-twsub .dd-selected{color:#fff;font-weight:600;font-size:13px}
#cc-twsub .cc-filters .dd-selected{
  width:225px!important;
  margin-left:-15px;
  padding-left:134px;
}
#cc-twsub #cc-tw-currency-dd .dd-selected{padding-left:149px}

/* dropdown 3: NO label, content flush-left, ellipsis if too long */
#cc-twsub #cc-tw-split-dd .dd-selected{
  padding-left:0;
  margin-left:-3px;
  width:100%!important;
  justify-content:flex-start;
}
#cc-twsub #cc-tw-split-dd .dd-name{justify-content:flex-start;min-width:0}
#cc-twsub #cc-tw-split-dd .dd-text{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#cc-twsub #cc-tw-split-dd .dd-caret{margin-left:auto}

/* caret white everywhere */
#cc-twsub .dd-caret{color:#fff;opacity:1}

/* country flag */
#cc-twsub .dd-name{display:flex;align-items:center;gap:10px;min-width:0}
#cc-twsub .dd-name img{width:20px;height:15px;border-radius:3px;display:inline-block}

/* dropdown list */
#cc-twsub .dd-list{
  background:#2a1453;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  box-shadow:0 18px 34px rgba(0,0,0,.32);
  left:44px;
}

/* SLIDER CARDS (4) */
#cc-twsub .cc-sliders .cc-card{
  background:var(--tw-card);
  border:1px solid var(--tw-border);
  border-radius:14px;
  box-shadow:none;
  padding:12px 12px 8px;
  min-width:0;
  position:relative;
  overflow:hidden; /* prevents right overflow on mobile when range updates */
}
#cc-twsub .cc-s-title{
  text-align:center;color:var(--tw-green);
  font-weight:1000;font-size:18px;line-height:1.05;margin-top:2px;
}
#cc-twsub .cc-s-sub{
  text-align:center;color:var(--tw-text);
  opacity:.95;font-weight:600;font-size:13px;margin-top:2px;
}
#cc-twsub .cc-s-val{
  display:flex;align-items:center;justify-content:center;
  gap:10px;margin-top:2px;
  font-size:27px;font-weight:1000;color:#fff;line-height:1;min-height:38px;margin-left:6px;
  position:relative;
}

/* spinner triangles (hover only) */
#cc-twsub .cc-spin{
  display:flex;flex-direction:column;gap:4px;
  opacity:0;pointer-events:none;
  transition:opacity .15s ease;
}
#cc-twsub .cc-sliders .cc-card:hover .cc-spin{opacity:1;pointer-events:auto}
#cc-twsub .cc-tri-btn{
  width:0;height:0;display:block;cursor:pointer;
  border-left:7px solid transparent;border-right:7px solid transparent;
  filter:drop-shadow(0 2px 0 rgba(0,0,0,.18));
}
#cc-twsub .cc-tri-btn.up{border-bottom:12px solid var(--tw-green)}
#cc-twsub .cc-tri-btn.down{border-top:12px solid var(--tw-green);opacity:.85}
#cc-twsub .cc-tri-btn:active{transform:translateY(1px)}

/* RANGE */
#cc-twsub .cc-range{margin-top:4px;padding:0 2px}
#cc-twsub input[type="range"]{
  --pct:0%;
  -webkit-appearance:none;appearance:none;
  height:22px;cursor:pointer;
  width:100%;
  max-width:100%;
  display:block;
  background:transparent;
}
#cc-twsub input[type="range"]::-webkit-slider-runnable-track{
  height:8px;border-radius:10px;
  background:linear-gradient(to right,var(--tw-green) var(--pct), rgba(255,255,255,.20) var(--pct));
}
#cc-twsub input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;height:18px;border-radius:50%;
  background:var(--tw-green);
  border:2px solid rgba(0,0,0,.25);
  margin-top:-5px;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
#cc-twsub input[type="range"]::-moz-range-track{height:8px;border-radius:10px;background:rgba(255,255,255,.20)}
#cc-twsub input[type="range"]::-moz-range-progress{height:8px;border-radius:10px;background:var(--tw-green)}
#cc-twsub input[type="range"]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:var(--tw-green);
  border:2px solid rgba(0,0,0,.25);
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}

/* RESULTS */
#cc-twsub .cc-results .cc-card{
  background:var(--tw-card-dark);
  border:none;
  border-radius:14px;
  box-shadow:none;
  padding:12px 14px;
  min-width:0;
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;
}
#cc-twsub .cc-r-title{color:#fff;font-weight:600;font-size:13px;line-height:16px;margin-bottom:6px}
#cc-twsub .cc-r-val{font-size:29px;font-weight:800;line-height:1;color:#fff}
#cc-twsub .cc-r-val.green{color:var(--tw-green)}

#cc-twsub .cc-mini{
  display:flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  padding:4px 6px;
  white-space:nowrap;
}
#cc-twsub .cc-mini label{color:#fff;font-weight:600;font-size:12px;opacity:.95}
#cc-twsub .cc-mini input{
  width:40px;border:0;background:transparent;outline:none;
  color:#fff;font-weight:1000;font-size:12px;text-align:right;padding:2px 2px;
}
#cc-twsub .cc-mini .pct{color:#fff;font-weight:600;font-size:13px}

/* FEES */
#cc-twsub .cc-fees .cc-card{
  background:var(--tw-card-fee);
  border:none;
  border-radius:14px;
  box-shadow:none;
  padding:12px 14px;
  min-width:0;
  text-align:center;
}
#cc-twsub .cc-fee-title{color:#fff;font-weight:900;font-size:13px;opacity:.92;line-height:1.1}
#cc-twsub .cc-fee-val{margin-top:4px;color:var(--tw-red);font-weight:700;font-size:22px}

/* ---------- MOBILE ---------- */
#cc-tw-country-native,#cc-tw-currency-native,#cc-tw-split-native{display:none!important}

@media (max-width:760px){
  /* override global CSS that forces column layout */
  #cc-twsub .cc-row{flex-direction:row !important; flex-wrap:wrap !important;}

  /* mobile: filters should NOT look like cards (no bg/border/padding), only the select has border */
  #cc-twsub .cc-filters .cc-card{
    flex:0 0 100%;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    border-radius:0 !important;
  }
  #cc-twsub .cc-filter{
    padding:0 !important;
    height:auto !important;
  }

  /* hide the 3 labels on mobile (Country/Currency/Split) */
  #cc-twsub .cc-filters .cc-abslabel{display:none!important}

  /* fix "double inputs" on mobile: force-hide custom dropdowns, show native selects */
  #cc-twsub #cc-tw-country-dd,
  #cc-twsub #cc-tw-currency-dd,
  #cc-twsub #cc-tw-split-dd{display:none!important}

  #cc-twsub #cc-tw-country-native,
  #cc-twsub #cc-tw-currency-native,
  #cc-twsub #cc-tw-split-native{
    display:block!important;
    width:100%;
    height:44px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.14);
    background:var(--tw-card);
    color:#fff;
    font-weight:900;
    font-size:16px;
    padding:0 12px;
    min-width:0;
    outline:none;
  }

  /* sliders: 2 per row (compact) */
  #cc-twsub .cc-sliders .cc-card{
    flex:0 0 calc((100% - 12px)/2);
    padding:10px 10px 6px;
  }
  #cc-twsub .cc-s-title{font-size:16px}
  #cc-twsub .cc-s-sub{font-size:12px}
  #cc-twsub .cc-s-val{font-size:22px;min-height:32px;margin-left:0}

  /* results + fees: full width */
  #cc-twsub .cc-results .cc-card{flex:0 0 100%}
  #cc-twsub .cc-fees .cc-card{flex:0 0 100%}

  #cc-twsub .cc-r-val{font-size:34px}
}
</style>

<div id="cc-twsub" class="cc-twitch-tool">
  <!-- TOP FILTERS -->
  <div class="cc-row cc-filters">
    <div class="cc-card">
      <div class="cc-filter">
        <div class="cc-abslabel">Country</div>
        <div id="cc-tw-country-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"><img alt="" width="20" height="15"><span class="dd-text"></span></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select country"></ul>
        </div>
        <select id="cc-tw-country-native" aria-label="Select country"></select>
      </div>
    </div>

    <div class="cc-card">
      <div class="cc-filter">
        <div class="cc-abslabel">Currency</div>
        <div id="cc-tw-currency-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"><span class="dd-text"></span></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select currency"></ul>
        </div>
        <select id="cc-tw-currency-native" aria-label="Select currency"></select>
      </div>
    </div>

    <div class="cc-card">
      <div class="cc-filter">
        <div class="cc-abslabel" style="opacity:0">Split</div>
        <div id="cc-tw-split-dd" class="dd" style="width:100%">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name" style="min-width:0"><span class="dd-text"></span></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select split"></ul>
        </div>
        <select id="cc-tw-split-native" aria-label="Select split"></select>
      </div>
    </div>
  </div>

  <!-- SLIDERS -->
  <div class="cc-row cc-sliders">
    <div class="cc-card">
      <div class="cc-s-title">Level 1</div>
      <div class="cc-s-sub">Subscriptions</div>
      <div class="cc-s-val">
        <span id="cc-l1-v">250</span>
        <span class="cc-spin" aria-label="Level 1 Spinner">
          <i class="cc-tri-btn up" data-spin="cc-l1" data-dir="up" role="button" tabindex="0" aria-label="Increase Level 1"></i>
          <i class="cc-tri-btn down" data-spin="cc-l1" data-dir="down" role="button" tabindex="0" aria-label="Decrease Level 1"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-l1" type="range" min="0" max="20000" step="1" value="250"></div>
    </div>

    <div class="cc-card">
      <div class="cc-s-title">Twitch Prime</div>
      <div class="cc-s-sub">Subscriptions</div>
      <div class="cc-s-val">
        <span id="cc-prime-v">50</span>
        <span class="cc-spin" aria-label="Prime Spinner">
          <i class="cc-tri-btn up" data-spin="cc-prime" data-dir="up" role="button" tabindex="0" aria-label="Increase Prime"></i>
          <i class="cc-tri-btn down" data-spin="cc-prime" data-dir="down" role="button" tabindex="0" aria-label="Decrease Prime"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-prime" type="range" min="0" max="20000" step="1" value="50"></div>
    </div>

    <div class="cc-card">
      <div class="cc-s-title">Level 2</div>
      <div class="cc-s-sub">Subscriptions</div>
      <div class="cc-s-val">
        <span id="cc-l2-v">2</span>
        <span class="cc-spin" aria-label="Level 2 Spinner">
          <i class="cc-tri-btn up" data-spin="cc-l2" data-dir="up" role="button" tabindex="0" aria-label="Increase Level 2"></i>
          <i class="cc-tri-btn down" data-spin="cc-l2" data-dir="down" role="button" tabindex="0" aria-label="Decrease Level 2"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-l2" type="range" min="0" max="2000" step="1" value="2"></div>
    </div>

    <div class="cc-card">
      <div class="cc-s-title">Level 3</div>
      <div class="cc-s-sub">Subscriptions</div>
      <div class="cc-s-val">
        <span id="cc-l3-v">1</span>
        <span class="cc-spin" aria-label="Level 3 Spinner">
          <i class="cc-tri-btn up" data-spin="cc-l3" data-dir="up" role="button" tabindex="0" aria-label="Increase Level 3"></i>
          <i class="cc-tri-btn down" data-spin="cc-l3" data-dir="down" role="button" tabindex="0" aria-label="Decrease Level 3"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-l3" type="range" min="0" max="2000" step="1" value="1"></div>
    </div>
  </div>

  <!-- RESULTS -->
  <div class="cc-row cc-results">
    <div class="cc-card">
      <div>
        <div class="cc-r-title">Viewer price (your cost)</div>
        <div class="cc-r-val" id="cc-viewer-price">$0.00</div>
      </div>
      <div class="cc-mini" title="Discount only affects viewer price (Twitch covers the difference)">
        <label for="cc-discount">Discount:</label>
        <div style="display:flex;align-items:center;gap:6px">
          <input id="cc-discount" type="number" min="0" max="80" step="1" value="0" aria-label="Discount percent">
          <span class="pct">%</span>
        </div>
      </div>
    </div>

    <div class="cc-card">
      <div>
        <div class="cc-r-title">Streamer earnings</div>
        <div class="cc-r-val green" id="cc-streamer-earn">$0.00</div>
      </div>
    </div>
  </div>

  <!-- FEES -->
  <div class="cc-row cc-fees">
    <div class="cc-card">
      <div class="cc-fee-title">VAT deduction<br>(tax office)</div>
      <div class="cc-fee-val" id="cc-fee-vat">-$0.00</div>
    </div>
    <div class="cc-card">
      <div class="cc-fee-title">Payment fees<br>(e.g. PayPal)</div>
      <div class="cc-fee-val" id="cc-fee-pay">-$0.00</div>
    </div>
    <div class="cc-card">
      <div class="cc-fee-title">Twitch fees</div>
      <div class="cc-fee-val" id="cc-fee-twitch">-$0.00</div>
    </div>
  </div>
</div>

<script>
(function(){
  const $ = (id)=>document.getElementById(id);
  const root = $("cc-twsub");
  if(!root) return;

  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',vat:0.19},
    {code:'us',name:'USA',cur:'USD',vat:0.00},
    {code:'gb',name:'UK', cur:'GBP',vat:0.20},
    {code:'fr',name:'FRA',cur:'EUR',vat:0.20},
    {code:'it',name:'ITA',cur:'EUR',vat:0.22},
    {code:'es',name:'ESP',cur:'EUR',vat:0.21},
    {code:'ca',name:'CAN',cur:'CAD',vat:0.05},
    {code:'au',name:'AUS',cur:'AUD',vat:0.10},
    {code:'nl',name:'NLD',cur:'EUR',vat:0.21},
    {code:'br',name:'BRA',cur:'BRL',vat:0.17},
    {code:'mx',name:'MEX',cur:'MXN',vat:0.16},
    {code:'ph',name:'PHL',cur:'USD',vat:0.12},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));
  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];

  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;

  const localeFor=cur=>({EUR:'de-DE',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'en-US';
  const fmt=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};

  const BASE_EUR = { tier1:3.99, tier2:7.99, tier3:19.99 };
  const PAY_FEE_RATE = 0.029;
  const PAY_FEE_FIXED = 0.00;

  const SPLITS = [
    { key:"50", label:"Standard split 50/50", creatorShare:0.50 },
    { key:"60", label:"Better split 60/40", creatorShare:0.60 },
    { key:"70", label:"Strong split 70/30", creatorShare:0.70 },
    { key:"80", label:"Top split 80/20", creatorShare:0.80 }
  ];

  function openList(btn,list,open){
    btn.setAttribute('aria-expanded',open?'true':'false');
    list.style.display=open?'block':'none';
    if(open) list.focus();
  }
  function setupDD(ddId){
    const dd=$(ddId), btn=dd.querySelector('.dd-selected'), list=dd.querySelector('.dd-list');
    btn.addEventListener('click',()=>openList(btn,list,list.style.display!=='block'));
    document.addEventListener('click',e=>{ if(!dd.contains(e.target)) openList(btn,list,false); });
    return {dd,btn,list};
  }

  const countryDD = setupDD('cc-tw-country-dd');
  const currencyDD = setupDD('cc-tw-currency-dd');
  const splitDD = setupDD('cc-tw-split-dd');

  const cImg = countryDD.btn.querySelector('img');
  const cText = countryDD.btn.querySelector('.dd-text');
  const curText = currencyDD.btn.querySelector('.dd-text');
  const splitText = splitDD.btn.querySelector('.dd-text');

  const countryNative = $('cc-tw-country-native');
  const currencyNative = $('cc-tw-currency-native');
  const splitNative = $('cc-tw-split-native');

  function buildCountryList(){
    countryDD.list.innerHTML=''; countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      countryDD.list.appendChild(li);

      const opt=document.createElement('option');
      opt.value=c.code; opt.textContent=c.name;
      countryNative.appendChild(opt);
    });
  }

  function buildCurrencyList(){
    currencyDD.list.innerHTML=''; currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=code;
      li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      currencyDD.list.appendChild(li);

      const opt=document.createElement('option');
      opt.value=code; opt.textContent=code;
      currencyNative.appendChild(opt);
    });
  }

  function buildSplitList(){
    splitDD.list.innerHTML=''; splitNative.innerHTML='';
    SPLITS.forEach(s=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=s.key;
      li.textContent=s.label;
      li.addEventListener('click',()=>selectSplit(s.key,true));
      splitDD.list.appendChild(li);

      const opt=document.createElement('option');
      opt.value=s.key; opt.textContent=s.label;
      splitNative.appendChild(opt);
    });
  }

  // EN DEFAULTS: USA + USD
  let state={country:'us', currency:'USD', split:'50', currencyOverridden:false};

  function selectCountry(code,closeAfter){
    state.country=code;
    const c=CTRY[code]||CTRY.us;

    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cText.textContent=c.name;

    [...countryDD.list.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.code===code?'true':'false'));
    countryNative.value=code;

    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);
    if(closeAfter) openList(countryDD.btn,countryDD.list,false);
    calc();
  }

  function selectCurrency(val,closeAfter,markOverride){
    state.currency=val;
    if(markOverride) state.currencyOverridden=true;

    curText.textContent=val;
    [...currencyDD.list.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===val?'true':'false'));
    currencyNative.value=val;

    if(closeAfter) openList(currencyDD.btn,currencyDD.list,false);
    calc();
  }

  function selectSplit(key,closeAfter){
    state.split=key;
    const s=SPLITS.find(x=>x.key===key)||SPLITS[0];

    splitText.textContent=s.label;
    [...splitDD.list.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===key?'true':'false'));
    splitNative.value=key;

    if(closeAfter) openList(splitDD.btn,splitDD.list,false);
    calc();
  }

  const elL1=$('cc-l1'), elPrime=$('cc-prime'), elL2=$('cc-l2'), elL3=$('cc-l3');
  const vL1=$('cc-l1-v'), vP=$('cc-prime-v'), vL2=$('cc-l2-v'), vL3=$('cc-l3-v');
  const elDisc=$('cc-discount');

  const outViewer=$('cc-viewer-price');
  const outEarn=$('cc-streamer-earn');
  const outVat=$('cc-fee-vat');
  const outPay=$('cc-fee-pay');
  const outTw=$('cc-fee-twitch');

  function setPct(rangeEl){
    const min=+rangeEl.min||0, max=+rangeEl.max||1, val=+rangeEl.value||0;
    rangeEl.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');
  }

  function getCountryPricing(){
    const c=CTRY[state.country]||CTRY.us;
    const fx=rate('EUR', c.cur);
    return {
      cur: c.cur,
      vat: c.vat,
      tier1: BASE_EUR.tier1 * fx,
      tier2: BASE_EUR.tier2 * fx,
      tier3: BASE_EUR.tier3 * fx,
      outFx: rate(c.cur, state.currency)
    };
  }

  function clamp(n,min,max){ return Math.max(min, Math.min(max, n)); }

  function calc(){
    const pricing=getCountryPricing();
    const split=SPLITS.find(s=>s.key===state.split)||SPLITS[0];

    const l1=+elL1.value||0;
    const prime=+elPrime.value||0;
    const l2=+elL2.value||0;
    const l3=+elL3.value||0;

    let discount=+elDisc.value||0;
    discount = clamp(discount,0,80);
    elDisc.value=String(Math.round(discount));

    const baseViewerGross =
      (l1*pricing.tier1) +
      (l2*pricing.tier2) +
      (l3*pricing.tier3);

    const viewerPayGross = baseViewerGross * (1 - discount/100);

    const viewerPayNet = pricing.vat>0 ? (viewerPayGross / (1 + pricing.vat)) : viewerPayGross;
    const vatAmount = viewerPayGross - viewerPayNet;

    const primeGrossEquivalent = prime * pricing.tier1;
    const primeNet = pricing.vat>0 ? (primeGrossEquivalent / (1 + pricing.vat)) : primeGrossEquivalent;

    const baseViewerNet = pricing.vat>0 ? (baseViewerGross / (1 + pricing.vat)) : baseViewerGross;
    const totalNetForSplit = baseViewerNet + primeNet;

    const creatorBeforePay = totalNetForSplit * split.creatorShare;
    const twitchFee = totalNetForSplit * (1 - split.creatorShare);

    const payFee = Math.max(0, creatorBeforePay * PAY_FEE_RATE + PAY_FEE_FIXED);
    const streamerEarn = Math.max(0, creatorBeforePay - payFee);

    const fxOut = pricing.outFx;

    outViewer.textContent = fmt(viewerPayGross * fxOut, state.currency);
    outVat.textContent = '-' + fmt(vatAmount * fxOut, state.currency);
    outPay.textContent = '-' + fmt(payFee * fxOut, state.currency);
    outTw.textContent  = '-' + fmt(twitchFee * fxOut, state.currency);
    outEarn.textContent = fmt(streamerEarn * fxOut, state.currency);
  }

  // spinner logic
  function stepRange(rangeId, dir){
    const el = $(rangeId);
    if(!el) return;
    const step = parseFloat(el.step || "1") || 1;
    const min = parseFloat(el.min || "0") || 0;
    const max = parseFloat(el.max || "999999") || 999999;
    const cur = parseFloat(el.value || "0") || 0;

    const next = dir === "up" ? (cur + step) : (cur - step);
    el.value = String(clamp(next, min, max));
    el.dispatchEvent(new Event("input", {bubbles:true}));
  }

  root.addEventListener("click", (e)=>{
    const t = e.target;
    if(!(t instanceof Element)) return;
    if(t.classList.contains("cc-tri-btn")){
      e.preventDefault();
      stepRange(t.getAttribute("data-spin"), t.getAttribute("data-dir"));
    }
  });

  root.addEventListener("keydown", (e)=>{
    const t = e.target;
    if(!(t instanceof Element)) return;
    if(t.classList.contains("cc-tri-btn") && (e.key==="Enter" || e.key===" ")){
      e.preventDefault();
      stepRange(t.getAttribute("data-spin"), t.getAttribute("data-dir"));
    }
  });

  // native selects (mobile)
  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  splitNative.addEventListener('change',()=>selectSplit(splitNative.value,false));

  // init lists
  buildCountryList();
  buildCurrencyList();
  buildSplitList();

  // defaults
  state.currencyOverridden=false;
  selectSplit('50',false);
  selectCountry('us',false);
  selectCurrency('USD',false,false);

  // bind slider updates
  function updateLabels(){
    vL1.textContent=String(+elL1.value||0);
    vP.textContent=String(+elPrime.value||0);
    vL2.textContent=String(+elL2.value||0);
    vL3.textContent=String(+elL3.value||0);
    setPct(elL1);setPct(elPrime);setPct(elL2);setPct(elL3);
    calc();
  }
  elL1.addEventListener('input',updateLabels);
  elPrime.addEventListener('input',updateLabels);
  elL2.addEventListener('input',updateLabels);
  elL3.addEventListener('input',updateLabels);
  elDisc.addEventListener('input', calc);

  /* ==========
     INIT ANIMATION (0 -> defaults in 2s)
     ========== */
  function easeOutCubic(t){ return 1 - Math.pow(1-t, 3); }
  function animateInit(durationMs){
    const targets={
      l1:+elL1.value||0,
      prime:+elPrime.value||0,
      l2:+elL2.value||0,
      l3:+elL3.value||0
    };

    elL1.value=0; elPrime.value=0; elL2.value=0; elL3.value=0;
    updateLabels();

    const start=performance.now();
    function frame(now){
      const t=Math.min(1,(now-start)/durationMs);
      const e=easeOutCubic(t);

      const setVal=(el, target)=>{
        const step=parseFloat(el.step||"1")||1;
        const v=Math.round((target*e)/step)*step;
        el.value=String(v);
      };

      setVal(elL1, targets.l1);
      setVal(elPrime, targets.prime);
      setVal(elL2, targets.l2);
      setVal(elL3, targets.l3);

      updateLabels();
      if(t<1) requestAnimationFrame(frame);
    }
    requestAnimationFrame(frame);
  }

  updateLabels();
  animateInit(2000);
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/twitch-subs-calculator-tool.png" alt="Twitch Subs Rechner" width="396" height="538" class="alignnone size-full" title="Twitch Subs Calculator: Convert Subs to Dollars 14"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Be honest: this calculator is brilliant</li><li>Tailored to your feedback</li><li>By creators, for creators</li></ul>
</div></div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/twitch-tool-explanation.png" alt="Twitch Tool Erklärung" width="432" height="310" class="alignnone size-full" title="Twitch Subs Calculator: Convert Subs to Dollars 15"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>Twitch Subs Calculator explained in detail</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Calculator details</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">More info</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Calculator details">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Information about the Twitch Subs Calculator:</h3>
<p><strong>The Twitch Subs Calculator realistically calculates Twitch subscription revenue based on the actual net value (excluding taxes). It accounts for different sub types (Tier 1, Tier 2, Tier 3, Prime), the selected revenue split (e.g. 50/50 or 70/30), and payment provider fees.</strong></p>
<p>Unlike simplified calculations (“price divided by two”), the calculator first removes applicable taxes from the viewer price and then applies the revenue split to the net amount. This shows exactly how much the streamer earns, how much Twitch keeps, and where deductions occur.</p>
<div class="infobox">
<strong>Tip:</strong> If you also want to estimate income from donations or virtual gifts on other platforms, tools like a <a href="https://creator-cash.com/tiktok/tiktok-coins-calculator/">TikTok Coins Calculator</a> can help you understand similar monetization mechanics.
</div>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Twitch_Subs_Calculator_explained_in_detail">Twitch Subs Calculator explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/twitch/twitch-subs-calculator/#How_much_does_a_streamer_really_earn_from_a_Twitch_sub">How much does a streamer really earn from a Twitch sub?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Value_per_Twitch_Sub_United_States_USD">Value per Twitch Sub (United States, USD)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/twitch/twitch-subs-calculator/#How_do_you_correctly_convert_Twitch_subs_into_real_earnings">How do you correctly convert Twitch subs into real earnings?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/twitch/twitch-subs-calculator/#What_exactly_is_a_Twitch_sub">What exactly is a Twitch sub?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/twitch/twitch-subs-calculator/#International_differences_in_Twitch_subs_why_country_pricing_changes_your_sub_value">International differences in Twitch subs: why country pricing changes your sub value</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/twitch/twitch-subs-calculator/#How_many_Twitch_subs_do_big_streamers_have_%E2%80%93_and_how_much_do_they_earn">How many Twitch subs do big streamers have – and how much do they earn?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Example_calculations_monthly_Twitch_income_with_50%E2%80%931000_subs">Example calculations: monthly Twitch income with 50–1,000 subs</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Why_sub_counts_alone_say_nothing_about_success">Why sub counts alone say nothing about success</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/twitch/twitch-subs-calculator/#The_Twitch_subscription_system_explained_in_detail">The Twitch subscription system explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Who_gets_how_much_from_a_Twitch_subscription">Who gets how much from a Twitch subscription?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="https://creator-cash.com/twitch/twitch-subs-calculator/#What_is_a_Twitch_Prime_sub_and_how_does_it_work">What is a Twitch Prime sub and how does it work?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="https://creator-cash.com/twitch/twitch-subs-calculator/#What_requirements_must_streamers_meet_to_receive_subs">What requirements must streamers meet to receive subs?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-14" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Do_streamers_earn_more_from_subs_or_donations">Do streamers earn more from subs or donations?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-15" href="https://creator-cash.com/twitch/twitch-subs-calculator/#How_do_you_subscribe_to_a_Twitch_channel">How do you subscribe to a Twitch channel?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-16" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Subs_as_a_foundation_%E2%80%94_why_diversification_is_mandatory">Subs as a foundation — why diversification is mandatory</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-17" href="https://creator-cash.com/twitch/twitch-subs-calculator/#How_do_you_gift_Twitch_subs">How do you gift Twitch subs?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-18" href="https://creator-cash.com/twitch/twitch-subs-calculator/#Why_do_viewers_gift_Twitch_subs">Why do viewers gift Twitch subs?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-19" href="https://creator-cash.com/twitch/twitch-subs-calculator/#How_much_tax_do_streamers_pay_on_Twitch_sub_income">How much tax do streamers pay on Twitch sub income?</a></li></ul></nav></div>

<h2 class="trenner checkbox" id="subs-rechner">How much does a streamer really earn from a Twitch sub?</h2>
<p><strong>A streamer’s share is not calculated from the gross price, but from the price <u>excluding taxes</u>. Only after that does the revenue split (e.g. 50/50 or 70/30) apply.</strong></p>
<p>In the United States (USD), the following standard viewer prices currently apply:</p>
<ul class="numbers">
<li><strong>Tier 1 Sub:</strong> $4.99</li>
<li><strong>Tier 2 Sub:</strong> $9.99</li>
<li><strong>Tier 3 Sub:</strong> $24.99</li>
<li><strong>Prime Sub:</strong> $0.00 (free for viewers)</li>
</ul>
<p>In the US, Twitch subscriptions are typically sold without VAT included. This means the gross price usually equals the net price before the revenue split. Prime Subs still pay out like a Tier 1 Sub for the streamer, even though the viewer does not pay directly.</p>
<h2 class="checkbox">Value per Twitch Sub (United States, USD)</h2>
<p><strong>The following overview shows the realistic net value per sub for streamers, depending on the revenue split. All values are based on the same logic used in the Twitch Subs Calculator.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat td3 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Sub Type</td>
<td>Viewer Price (gross)</td>
<td>Price excl. tax</td>
<td>Streamer Net (50/50)</td>
<td>Streamer Net (70/30)</td>
</tr>
<tr>
<td>Tier 1</td>
<td>$4.99</td>
<td>$4.99</td>
<td class="positive">$2.50</td>
<td class="positive">$3.49</td>
</tr>
<tr>
<td>Tier 2</td>
<td>$9.99</td>
<td>$9.99</td>
<td class="positive">$5.00</td>
<td class="positive">$6.99</td>
</tr>
<tr>
<td>Tier 3</td>
<td>$24.99</td>
<td>$24.99</td>
<td class="positive">$12.50</td>
<td class="positive">$17.49</td>
</tr>
<tr>
<td>Prime</td>
<td>$0.00</td>
<td>$0.00</td>
<td class="positive">$2.50</td>
<td class="positive">$3.49</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> Prime Subs pay out like a Tier 1 Sub for the streamer, but do not appear in the viewer price because they are funded through Amazon Prime.</p>
<h2 class="trenner checkbox" id="subs-umrechnen">How do you correctly convert Twitch subs into real earnings?</h2>
<p><strong>The correct calculation always follows three steps: remove taxes → determine net amount → apply the revenue split.</strong></p>
<p>Simplified calculations (“price / 2”) often lead to inaccurate results because they ignore tax logic and regional differences. The Twitch Subs Calculator therefore works exclusively with net values.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Example (Tier 1 Sub, 50/50):</span></p>
<ul>
<li>Viewer price: $4.99</li>
<li>Net price (US, no VAT): $4.99</li>
<li>Streamer share (50%): <span class="positive"><b>$2.50</b></span></li>
<li>Twitch share (50%): $2.50</li>
</ul>
</div>
<p>Additional payment provider fees (e.g. ~2.9%) are shown separately in the calculator and are typically applied to the creator’s share for simplicity.</p>
<h3>What revenue split models exist for Twitch subs?</h3>
<p><strong>The standard split is 50/50. Larger or exclusive partners may receive individually negotiated terms (e.g. 70/30), but these only apply with a confirmed contract.</strong></p>
<div class="infobox">
<strong>Important:</strong> Always plan conservatively with a 50/50 split unless you have a confirmed partner deal.
</div>
<h2 class="trenner checkbox" id="subs-details">What exactly is a Twitch sub?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs.jpg" alt="Twitch Subs" width="440" height="516" class="alignright size-full wp-image-1200" title="Twitch Subs Calculator: Convert Subs to Dollars 16" srcset="https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs.jpg 440w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs-256x300.jpg 256w" sizes="(max-width: 440px) 100vw, 440px" /><strong>A Twitch sub is a paid monthly subscription to a channel. Viewers support the streamer and receive perks such as emotes, chat badges, or ad-free viewing, depending on the channel.</strong></p>
<p>There are four relevant sub types: Tier 1, Tier 2, Tier 3, and Prime. The higher the tier, the higher the monthly price and the net value for the streamer.</p>
<p>Regular subs renew automatically until canceled. <strong>Prime Subs</strong>, however, must be manually renewed each month.</p>
<h3 class="cleanheadline">What benefits do viewers get from a Twitch subscription?</h3>
<p><strong>Subscribers receive exclusive emotes, chat badges, and often additional community perks. The exact benefits depend on the channel and the subscription tier.</strong></p>
<p>You can see the exact perks of a channel directly in the subscription window on Twitch before subscribing.</p>
<h2 class="trenner checkbox" id="subs-international">International differences in Twitch subs: why country pricing changes your sub value</h2>
<p><strong>Important: A Twitch sub is not worth the same everywhere. Viewer prices, tax logic, and regional pricing models directly affect the net amount that goes into the revenue split.</strong></p>
<p>If you have viewers from multiple countries, your real average revenue per sub can vary significantly. Twitch uses <strong>regional pricing</strong>: in some countries a Tier 1 sub costs less than in the US, in others more. This directly impacts how much you earn, even if your sub count stays the same.</p>
<div class="infobox">
<strong>Remember:</strong> The revenue split (e.g. 50/50) always applies to the <u>net pool</u> — and that pool depends on the viewer’s country.
</div>
<p>Tax treatment is another factor. In many regions, VAT or similar taxes are included in the viewer price, reducing the net amount. In the US, this is often not the case. As a result, “one sub” is not automatically “one fixed dollar amount” for the streamer.</p>
<div class="beispielbox">
<span class="box-headline">Practical check:</span></p>
<ul>
<li>Many international viewers → your <b>average sub value</b> may be lower than the US baseline.</li>
<li>Many subs from high-price regions → your average can be higher.</li>
<li>Sub count increases but revenue grows slowly → country pricing is often the reason.</li>
</ul>
</div>
<p>This is why it makes sense to plan with realistic assumptions in a Twitch Subs Calculator instead of assuming “Tier 1 = fixed amount.” Factors like <strong>split, tax logic, sub mix</strong>, and your audience’s typical country matter. If you want to compare this logic with other creator platforms, tools like a <a href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/">TikTok Earnings Calculator</a> use a similar net-based approach.</p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h2 class="trenner checkbox" id="subs-ranges">How many Twitch subs do big streamers have – and how much do they earn?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-300x233.png" alt="Twitch Reaction" width="300" height="233" class="alignright size-medium wp-image-1202" title="Twitch Subs Calculator: Convert Subs to Dollars 17" srcset="https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-300x233.png 300w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-1024x795.png 1024w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-768x596.png 768w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction.png 1128w" sizes="(max-width: 300px) 100vw, 300px" /><strong>Instead of focusing on individual names, it makes more sense to group Twitch streamers by size. Sub counts fluctuate heavily (events, subathons, breaks). That’s why all earnings shown here are <u>realistic ranges</u>, not exact numbers.</strong></p>
<p>This is exactly where a <strong>Twitch Subs Calculator</strong> helps: it converts visible sub counts into USD and makes differences in split, countries, and sub types transparent.</p>
<p>The overview below shows typical sub ranges for large, mid-sized, and small streamers and the resulting monthly income. The calculation is based on an average revenue per sub — the same logic a <strong>Twitch Subs Calculator</strong> uses.</p>
<div class="infobox">
<strong>Important:</strong> For a quick estimate, you can simply use the Tier 1 value in the Twitch Subs Calculator (e.g. <b>$2.50</b> per sub at 50/50 in the US/USD). In practice, the average is often slightly higher because Tier 2 and Tier 3 subs are usually included.
</div>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat td3 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Streamer category</td>
<td>Typical sub count</td>
<td><b>Monthly earnings (subs only)</b></td>
</tr>
<tr>
<td>Top-tier streamers</td>
<td>50,000+ subs</td>
<td class="positive">$125,000 – $350,000+</td>
</tr>
<tr>
<td>Large streamers</td>
<td>10,000 – 50,000 subs</td>
<td class="positive">$25,000 – $125,000</td>
</tr>
<tr>
<td>Mid-sized streamers</td>
<td>1,000 – 10,000 subs</td>
<td class="positive">$2,500 – $25,000</td>
</tr>
<tr>
<td>Small streamers</td>
<td>100 – 1,000 subs</td>
<td class="positive">$250 – $2,500</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> These ranges are intentionally broad. A Twitch Subs Calculator quickly shows how strongly (1) your revenue split, (2) country pricing, and (3) the mix of Tier 1 / Prime / Tier 2 / Tier 3 affect your net earnings.</p>
<h2 class="trenner checkbox" id="subs-szenario">Example calculations: monthly Twitch income with 50–1,000 subs</h2>
<p><strong>To get a feel for real numbers, a concrete scenario helps — exactly what a Twitch Subs Calculator models. Below is a sample mix: <b>80% Tier 1 · 15% Prime · 4% Tier 2 · 1% Tier 3</b>. Discount = 0%.</strong></p>
<p>The table uses the same logic as the Twitch Subs Calculator on this page (including tax handling). This makes it easy to see how strongly a <b>50/50 split</b> compares to a <b>70/30 split</b> in terms of real earnings.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat td3 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Total subs</td>
<td>Tier 1</td>
<td>Prime</td>
<td>Tier 2</td>
<td>Tier 3</td>
<td><b>Streamer net (50/50)</b></td>
<td><b>Streamer net (70/30)</b></td>
</tr>
<tr>
<td>50</td>
<td>40</td>
<td>8</td>
<td>2</td>
<td>0</td>
<td class="positive">≈ $125</td>
<td class="positive">≈ $175</td>
</tr>
<tr>
<td>100</td>
<td>80</td>
<td>15</td>
<td>4</td>
<td>1</td>
<td class="positive">≈ $255</td>
<td class="positive">≈ $357</td>
</tr>
<tr>
<td>500</td>
<td>400</td>
<td>75</td>
<td>20</td>
<td>5</td>
<td class="positive">≈ $1,275</td>
<td class="positive">≈ $1,785</td>
</tr>
<tr>
<td>1,000</td>
<td>800</td>
<td>150</td>
<td>40</td>
<td>10</td>
<td class="positive">≈ $2,550</td>
<td class="positive">≈ $3,570</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> If you change country pricing, sub mix, or additional payment fees in the Twitch Subs Calculator, the results update instantly.</p>
<h3>How many subs do you need to make a living?</h3>
<p><strong>“Making a living” depends heavily on living costs, split, and the average value per sub. A Twitch Subs Calculator quickly shows that with a <b>50/50 split</b>, you usually need several thousand subs if subs were your only income source.</strong></p>
<p>In reality, Twitch income almost always consists of multiple components:</p>
<ul class="numbers">
<li><strong>Subs</strong> (predictable core, easy to model with a Twitch Subs Calculator)</li>
<li><strong>Bits</strong> and <strong>donations</strong> (more volatile)</li>
<li><strong>Ads</strong> (dependent on viewers &#038; watch time)</li>
<li><strong>Affiliate</strong>, <strong>sponsorships</strong>, and <strong>brand deals</strong></li>
</ul>
<div class="beispielbox">
<span class="box-headline">Important:</span></p>
<ul>
<li>Always plan with the <b>long-term average</b>, not subathon peaks.</li>
<li>Use a Twitch Subs Calculator to derive realistic goals based on split and tier mix.</li>
<li>At a certain level: plan taxes and reserves properly.</li>
</ul>
</div>
<h2 class="trenner checkbox" id="subs-mythos">Why sub counts alone say nothing about success</h2>
<p><strong>“They have 1,000 subs, they must be rich.” Sounds logical — but is often wrong. Without context, sub counts say very little. That’s exactly why a Twitch Subs Calculator exists.</strong></p>
<p><strong>1,000 subs are not always 1,000 subs.</strong> Depending on country pricing, tax logic, and revenue split, the net value can vary massively. A Twitch Subs Calculator makes these differences visible, while raw sub counts hide them.</p>
<p>On top of that, sub counts are <strong>momentary</strong>. Hypes, gift subs, or events can temporarily distort the picture. For a realistic assessment, what matters is the <strong>average over several months</strong>, not the peak.</p>
<div class="infobox">
<strong>Reality check:</strong> A streamer with fewer subs can earn more through ads, sponsorships, or affiliates than a sub-heavy channel. A Twitch Subs Calculator only shows one part of the full picture.
</div>
<p>Bottom line: subs are a good indicator of community support — but not a guarantee of income. Always translate sub counts into real dollars. That’s exactly what a Twitch Subs Calculator is for.</p>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="trenner checkbox" id="subs-system">The Twitch subscription system explained in detail</h2>
<p><strong>The Twitch subscription system is divided into multiple tier levels to represent different ways viewers can support and interact. Higher tiers mean a higher net value per sub for the streamer and additional benefits for the subscriber.</strong></p>
<p>Unlike one-time income (e.g. donations), subs are a <strong>recurring, predictable income source</strong>. They support long-term community retention and form the financial base of many channels.</p>
<p>Revenue calculation always follows the same principle: viewer price → tax handling → net pool → revenue split. This is the exact logic used by the Twitch Subs Calculator.</p>
<h2 class="checkbox">Who gets how much from a Twitch subscription?</h2>
<p><strong>After taxes (where applicable) are accounted for, the remaining net amount is split between Twitch and the streamer. The default split is 50/50, but it can differ with contractual special terms (e.g. 70/30).</strong></p>
<p>Twitch’s share is not a fixed percentage of the gross price, but the remainder of the net pool after the selected split is applied.</p>
<h3>How much does Twitch earn per sub?</h3>
<p><strong>Twitch earns the portion of the net amount that remains after the streamer’s share. The exact amount therefore depends directly on the agreed split and the sub type.</strong></p>
<p>Additional indirect revenue comes from Prime programs, store processing, and platform retention. These are not universally quantifiable and can vary by region.</p>
<h2 class="trenner checkbox">What is a Twitch Prime sub and how does it work?</h2>
<p><strong>A Twitch Prime sub is a free subscription for viewers with Amazon Prime. For the streamer, it pays out like a Tier 1 sub even though the viewer does not pay a direct purchase price.</strong></p>
<p>Prime subs must be renewed manually each month and do not renew automatically. They can play an important role in channel growth and community building.</p>
<ul class="numbers">
<li>Link your Amazon and Twitch accounts</li>
<li>Select the Prime sub option in the subscription window</li>
<li>Renew it manually every month</li>
</ul>
<h3 class="cleanheadline">How much is a Prime sub worth to a streamer?</h3>
<p><strong>The value of a Prime sub matches the Tier 1 payout and is, depending on split, for example around <span class="positive">$2.50</span> (50/50) or <span class="positive">$3.49</span> (70/30) in the United States (USD).</strong></p>
<p>For viewers, the Prime sub is “free” because it is included in Amazon Prime. For streamers, it still counts as a full-value sub.</p>
<h2 class="trenner checkbox">What requirements must streamers meet to receive subs?</h2>
<p><strong>To receive Twitch subs, a streamer must be part of the Twitch Affiliate or Partner program. Only after reaching this status can viewers subscribe to the channel.</strong></p>
<p>Affiliate is the typical entry point to monetization. The exact requirements can change, but they usually include:</p>
<ul class="advantage">
<li>At least 50 followers</li>
<li>Average of at least 3 viewers over the last 30 days</li>
<li>At least 7 streams in the last 30 days</li>
<li>At least 500 minutes streamed in the last 30 days</li>
</ul>
<p>For the latest requirements, see the <a href="https://help.twitch.tv/s/article/joining-the-affiliate-program?language=en" target="_blank" rel="noopener">official Twitch help page</a>.</p>
<h2 class="trenner checkbox">Do streamers earn more from subs or donations?</h2>
<p><strong>For many streamers, subs make up a large share of predictable income, while donations are more volatile. The exact ratio depends on the community and content strategy.</strong></p>
<p>Subs provide stability, while donations can create short-term spikes. Successful channels typically combine both with ads, affiliate revenue, and sponsorships.</p>
<h2 class="trenner checkbox">How do you subscribe to a Twitch channel?</h2>
<p><strong>To subscribe to a channel, you usually follow it first (free). Then you can choose a Prime sub or a Tier 1, Tier 2, or Tier 3 subscription.</strong></p>
<ul class="numbers">
<li>Open the channel</li>
<li>Click the “Follow” button</li>
<li>Select the “Subscribe” button</li>
<li>Choose the subscription type and duration</li>
</ul>
<h2 class="trenner checkbox" id="subs-diversifikation">Subs as a foundation — why diversification is mandatory</h2>
<p><strong>Subs are predictable and often the most stable revenue stream for creators. Still, they should never be your only pillar, because relying on a single platform is always a risk.</strong></p>
<p>The main reason is simple: Twitch sets the rules. Prices, splits, regional adjustments, and programs can change — without you having control. Even with the same sub count, your net result can shift. On top of that, normal fluctuations happen: breaks, fewer streams, or changing viewer habits directly impact subscriptions.</p>
<p>Community dynamics matter too. Subs are recurring, but not guaranteed. After hype phases, subathons, or events, numbers often normalize more than expected. If you depend only on subs, you feel those dips immediately in your bank account.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Practical example:</span></p>
<ul>
<li>A channel lives almost only off subs → a weaker month hits instantly.</li>
<li>A channel combines subs with ads &#038; affiliate → fluctuations get cushioned.</li>
<li>Subs remain the base, other income adds stability.</li>
</ul>
</div>
<p>Useful additions to subs include ads (with high watch time), affiliate income, sponsorships, or your own products. The goal isn’t maximum monetization — it’s predictability. Subs give you the foundation, diversification ensures your income remains stable even when a month isn’t perfect.</p>
<h2 class="trenner checkbox">How do you gift Twitch subs?</h2>
<p><strong>You can gift subs by selecting the “Gift a Sub” option in a channel’s subscription window. You can choose the quantity and tier level freely.</strong></p>
<p>Gift subs strengthen community bonds and often increase interaction in the stream.</p>
<h2 class="trenner checkbox">Why do viewers gift Twitch subs?</h2>
<p><strong>Viewers gift subs to visibly support the streamer and increase their own presence within the community.</strong></p>
<p>Gifted subs can boost reach, engagement, and return rates of other viewers.</p>
<h2 class="trenner checkbox">How much tax do streamers pay on Twitch sub income?</h2>
<p><strong>The tax burden depends on your individual situation. Depending on income, structure, and thresholds, deductions can be small or represent a meaningful portion of your earnings.</strong></p>
<p>Because taxes can’t be calculated universally, they are intentionally not built as a fixed value into the Twitch Subs Calculator. As your income grows, you should involve a tax professional early.</p>
<div class="infobox">
<strong>Conclusion:</strong> Twitch subs are a stable, predictable income source. If you understand the net model, the split, and your sub mix, you can estimate earnings realistically and optimize strategically.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box twitch-optin">

</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="More info">
Information about this tool:

<ul class="post-info">
<li><strong>Name:</strong> Twitch Subs Calculator: Convert Subs to Dollars</li>
<li><strong>Description:</strong> How much money do Twitch subs make? The Twitch Subs Calculator shows how many dollars you earn monthly from subscriptions.</li>
</ul>

<ul class="post-info">
<li><strong>Author:</strong> Kevin</li>
<li><strong>Published:</strong> January 15, 2026</li>
<li><strong>Last updated:</strong> 27.02.2026</li>
<li><strong>Category:</strong> Twitch</li>
<li><strong>Reading time:</strong> 13 min.</li>
</ul>

<strong>About the author:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Twitch Subs Calculator: Convert Subs to Dollars 18"><strong>Kevin - Founder of Creator Cash</strong>
Kevin is an experienced content creator and SEO expert with a focus on the creator economy, social media monetization, and digital revenue streams. He analyzes platforms such as TikTok, Twitch, and YouTube in detail and shares practical calculations, data, and strategies. Through his experience in marketing and creator consulting, he imparts in-depth knowledge with clear added value for creators and brands.</div>

<div class="share-box">
<strong>Share this post:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Make Money on TikTok: Earnings Calculator</title>
		<link>https://creator-cash.com/tiktok/make-money-on-tiktok/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Tue, 13 Jan 2026 08:45:40 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=1072</guid>

					<description><![CDATA[Make Money on TikTok: The TikTok Earnings Calculator shows how much you can earn with views, CPM, and coins. Make Money on TikTok Earnings Calculator The TikTok Earnings Calculator explained in detail]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/make-money-on-tiktok-1024x1024.jpg" alt="Make Money on TikTok" width="1200" height="1200" class="alignnone size-full" title="Make Money on TikTok: Earnings Calculator 30"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Make Money on TikTok: Earnings Calculator</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>Make Money on TikTok: The TikTok Earnings Calculator shows how much you can earn with views, CPM, and coins.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/make-money-on-tiktok-tool-mobile.png" alt="Make Money on TikTok" width="394" height="410" class="alignnone size-full wp-image-319" title="Make Money on TikTok: Earnings Calculator 31"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->Make Money on TikTok<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/category/tiktok/"><!-- SECTION START -->All Tiktok calculators<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->Make Money on TikTok<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Earnings Calculator<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
/* --- TikTok Earnings Hochrechner (compact, same ttk/dd style) --- */
@media (min-width:1024px){.tool-content{height:558px!important}}
@media (max-width:1023px){.ttk-filter-label{display:none}}

.tth, .tth *{font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important}
.tth{max-width:720px;width:100%;margin:10px auto;overflow:hidden}
.tth-row{gap:12px;margin-top:9px}
.tth-card{padding:10px 14px 0px}

/* match your grey input cards from example */
.tth .ttk-card{
  background:#f3f4f6;
  border:1px solid #D1D5DB;
  border-radius:7px;
  box-shadow:none;
}

/* keep filter boxes compact */
.tth .ttk-filter{margin-bottom:0;height:37px;position:relative}
.tth .tth-abslabel{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0;pointer-events:none;font-weight:600}
.tth .ttk-filters{margin-top:0}

/* remove native selects on desktop */
#tth-country-native,#tth-currency-native,#tth-niche-native{display:none!important}

/* niche: ensure one visible */
#tth-niche-label{display:none!important}
#tth-niche-dd{width:100%}
.tth-niche-dd .dd-selected{width:225px!important;padding-left:4px;margin-left:-15px}
#tth-niche-dd .dd-list{left:0px}

/* row headline (big number) */
.tth-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tth-big{font-size:21px;font-weight:900;letter-spacing:.1px;line-height:1}
.tth-right{font-size:14px;font-weight:800}
.tth-right.subtle{opacity:.65}

/* row 2: label above + tight grey boxes */
.tth-midlabel{font-size:13.5px;font-weight:600;margin:0 0 6px 2px}
.tth-midbox{
  height:37px;background:#f3f4f6;border:1px solid #D1D5DB;border-radius:7px;
  display:flex;align-items:center;padding:0 8px
}
.tth-midbox .tth-select{
  width:100%;height:35px;border:0;background:transparent;border-radius:7px;
  padding:0 6px;font-weight:800;font-size:13.5px;outline:none
}
.tth-midbox .tth-inline{width:100%;gap:10px;display:flex;align-items:center}
.tth-midbox .tth-miniinput{
  height:35px;background:transparent;border:0;padding:0 6px;width:70px;
  font-size:14px;font-weight:900;outline:none
}
.tth-midbox input[type="range"]{flex:1;margin:0}

/* make row-2 wrapper cards "invisible" (no bg/border/padding) */
.tth-plain{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* dark results (compact) */
.tth-darkrow{align-items:stretch}
.tth-dark{
  flex:1;background:#0a0a0a;border:1px solid #000;border-radius:10px;
  padding:14px 16px;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12)
}
.tth-dark-title{font-size:14px;font-weight:700;margin-bottom:4px}
.tth-dark-val{font-size:25px;font-weight:800;line-height:1}
.tth-dark-val.green{color:#2BE070}
.tth-dark-sub{margin-top:8px;font-size:13px;font-style:italic;opacity:.75;line-height:1.25}
.tth-yellow{border:1px solid #F2D699!important;background:#FDF5E1;color:#000}
.tth-yellow .tth-dark-val{color:#D5A623}
.tth-yellow .tth-dark-sub{color:#A47C0C}
.tth-green{border:1px solid #77D991!important;background:#E8F9EB;color:#000}
.tth-green .tth-dark-val{color:#1FAF56}
.tth-green .tth-dark-sub{color:#127C3A}

/* tiny metrics row */
.tth-metrics{margin-top:12px}
.tth-metrics .ttk-card{padding:8px 12px 4px;flex:0 1 calc((100% - 24px)/3);min-width:0}
.tth-sub{font-size:12.5px;color:#000;font-weight:600}
.tth-fee{font-size:21px;font-weight:700}

/* mobile */
@media (max-width:760px){
  #tth-country-dd,#tth-currency-dd,#tth-niche-dd{display:none!important}
  #tth-country-native,#tth-currency-native,#tth-niche-native{
    display:block!important;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:16px
  }
  .tth-row{flex-direction:column}
  .tth-darkrow{flex-direction:column}
  .tth-darkrow .tth-dark{min-width:100%}

  /* bottom metrics full width stacked */
  .tth-metrics{flex-direction:column}
  .tth-metrics .ttk-card{flex:1 1 100%;min-width:100%}
}
</style>

<div id="tth-calc" class="ttk tth">
  <!-- TOP FILTERS -->
  <div class="tool-filters ttk-row ttk-filters">
    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label tth-abslabel">Country</div>
        <div id="tth-country-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <img alt="" width="20" height="15"><span class="dd-name"></span><span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select country"></ul>
        </div>
        <select id="tth-country-native" aria-label="Select country"></select>
      </div>
    </div>

    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label tth-abslabel">Currency</div>
        <div id="tth-currency-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"></span><span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select currency"></ul>
        </div>
        <select id="tth-currency-native" aria-label="Select currency"></select>
      </div>
    </div>

    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label" id="tth-niche-label">UGC/Entertainment</div>
        <div id="tth-niche-dd" class="dd tth-niche-dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name" id="tth-niche-selected">UGC/Entertainment</span><span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select niche"></ul>
        </div>
        <select id="tth-niche-native" aria-label="Select niche"></select>
      </div>
    </div>
  </div>

  <!-- ROW 1 -->
  <div class="ttk-row tth-row">
    <div class="ttk-card tth-card">
      <div class="tth-headline">
        <div class="tth-big" id="tth-followers-label">250,000</div>
        <div class="tth-right">Followers</div>
      </div>
      <input id="tth-followers" type="range" min="0" max="5000000" step="1000" value="250000" class="ttk-range ttk-range-black">
    </div>

    <div class="ttk-card tth-card">
      <div class="tth-headline">
        <div class="tth-big" id="tth-views-label">120,000</div>
        <div class="tth-right">Avg views/video</div>
      </div>
      <input id="tth-views-range" type="range" min="0" max="2000000" step="1000" value="120000" class="ttk-range ttk-range-black">
      <input id="tth-views" type="number" min="0" max="50000000" step="100" value="120000" style="display:none!important" aria-hidden="true">
    </div>
  </div>

  <!-- ROW 2 -->
  <div class="ttk-row tth-row">
    <div class="ttk-card tth-card tth-plain">
      <div class="tth-midlabel">Posts/month</div>
      <div class="tth-midbox">
        <div class="tth-inline">
          <input id="tth-posts" class="tth-miniinput" type="number" min="0" max="90" step="1" value="20" aria-label="Posts per month">
          <input id="tth-posts-range" type="range" min="0" max="90" step="1" value="20" class="ttk-range ttk-range-black">
        </div>
      </div>
    </div>

    <div class="ttk-card tth-card tth-plain">
      <div class="tth-midlabel">Monetization</div>
      <div class="tth-midbox">
        <select id="tth-model" class="tth-select" aria-label="Monetization model">
          <option value="ads" selected>Ads-first (Creator Program)</option>
          <option value="balanced">Balanced (Ads + Deals)</option>
          <option value="deals">Deals-first (Sponsors/UGC)</option>
        </select>
      </div>
    </div>
  </div>

  <!-- DARK RESULTS -->
  <div class="ttk-row tth-row tth-darkrow">
    <div class="tth-dark tth-yellow">
      <div class="tth-dark-title">Monthly earnings (range)</div>
      <div class="tth-dark-val" id="tth-range">$0–$0</div>
      <div class="tth-dark-sub" id="tth-range-sub">Base: $0 · Data quality: Medium</div>
    </div>

    <div class="tth-dark tth-green">
      <div class="tth-dark-title">Sponsor/UGC per post (est.)</div>
      <div class="tth-dark-val green" id="tth-sponsor">$0</div>
      <div class="tth-dark-sub" id="tth-sponsor-sub">Deals/mo: 0 · Effective RPM: 0.00 / 1k</div>
    </div>
  </div>

  <!-- MINI METRICS -->
  <div class="tool-results ttk-row tth-metrics">
    <div class="ttk-card">
      <div class="tth-sub">Monthly views (est.)</div>
      <div class="tth-fee" id="tth-month-views">0</div>
    </div>
    <div class="ttk-card">
      <div class="tth-sub">Ads/Creator Program (est.)</div>
      <div class="tth-fee" id="tth-ads">$0</div>
    </div>
    <div class="ttk-card">
      <div class="tth-sub">Sponsors/UGC (est.)</div>
      <div class="tth-fee" id="tth-deals">$0</div>
    </div>
  </div>
</div>

<script>
(function(){
  const $=id=>document.getElementById(id);
  const root=$('tth-calc'); if(!root) return;

  /* --- data --- */
  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',rpm:1.40, tax:30, sponsorV:10.0, sponsorF:0.18},
    {code:'us',name:'USA',cur:'USD',rpm:1.80, tax:25, sponsorV:14.0, sponsorF:0.22},
    {code:'gb',name:'UK', cur:'GBP',rpm:1.60, tax:25, sponsorV:12.0, sponsorF:0.20},
    {code:'fr',name:'FRA',cur:'EUR',rpm:1.30, tax:30, sponsorV:9.5,  sponsorF:0.17},
    {code:'it',name:'ITA',cur:'EUR',rpm:1.20, tax:30, sponsorV:9.0,  sponsorF:0.16},
    {code:'es',name:'ESP',cur:'EUR',rpm:1.10, tax:28, sponsorV:8.5,  sponsorF:0.15},
    {code:'ca',name:'CAN',cur:'CAD',rpm:1.35, tax:25, sponsorV:10.0, sponsorF:0.18},
    {code:'au',name:'AUS',cur:'AUD',rpm:1.30, tax:25, sponsorV:10.0, sponsorF:0.18},
    {code:'nl',name:'NLD',cur:'EUR',rpm:1.25, tax:30, sponsorV:9.5,  sponsorF:0.17},
    {code:'br',name:'BRA',cur:'BRL',rpm:0.70, tax:25, sponsorV:4.8,  sponsorF:0.10},
    {code:'mx',name:'MEX',cur:'MXN',rpm:0.75, tax:25, sponsorV:5.0,  sponsorF:0.10},
    {code:'ph',name:'PHL',cur:'USD',rpm:0.60, tax:25, sponsorV:4.0,  sponsorF:0.09},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));

  const NICHES={
    ugc:{label:'UGC/Entertainment', rpmF:1.00, dealF:1.00},
    gaming:{label:'Gaming',            rpmF:0.95, dealF:0.90},
    lifestyle:{label:'Lifestyle',      rpmF:1.00, dealF:1.05},
    fitness:{label:'Fitness/Health',   rpmF:1.05, dealF:1.10},
    edu:{label:'Education/How-to',     rpmF:1.10, dealF:1.15},
    biz:{label:'Business/Finance',     rpmF:1.15, dealF:1.25},
    beauty:{label:'Beauty/Fashion',    rpmF:1.05, dealF:1.20},
    tech:{label:'Tech/Reviews',        rpmF:1.10, dealF:1.15},
  };

  const MODELS={
    ads:{label:'Ads-dominant', dealMult:0.55, otherPct:0.04},
    balanced:{label:'Balanced', dealMult:1.00, otherPct:0.07},
    deals:{label:'Deals-dominant', dealMult:1.60, otherPct:0.10},
  };

  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];
  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;

  // IMPORTANT: For the EN version we format using en-US (USD) by default.
  const localeFor=cur=>({EUR:'en-US',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'en-US';

  const fmt=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};
  const fmtInt=(n,cur)=>{try{return Math.round(n).toLocaleString(localeFor(cur));}catch(e){return String(Math.round(n));}};

  /* --- language defaults --- */
  // EN requested: USA + USD preselected
  const LANG_DEFAULTS={
    de:{country:'de',currency:'EUR'},
    en:{country:'us',currency:'USD'},
    es:{country:'es',currency:'EUR'},
    pt:{country:'br',currency:'BRL'},
    fr:{country:'fr',currency:'EUR'},
    it:{country:'it',currency:'EUR'}
  };
  function inferLang(){
    const lang=(document.documentElement.getAttribute('lang')||'en').toLowerCase();
    const short=lang.split('-')[0];
    return LANG_DEFAULTS[short]?short:'en';
  }

  /* --- dropdown wiring --- */
  const countryDD=$('tth-country-dd'), cBtn=countryDD.querySelector('.dd-selected'),
        cImg=cBtn.querySelector('img'), cName=cBtn.querySelector('.dd-name'),
        cList=countryDD.querySelector('.dd-list'), countryNative=$('tth-country-native');

  const currDD=$('tth-currency-dd'), curBtn=currDD.querySelector('.dd-selected'),
        curName=curBtn.querySelector('.dd-name'), curList=currDD.querySelector('.dd-list'),
        currencyNative=$('tth-currency-native');

  const nicheDD=$('tth-niche-dd'), nicheBtn=nicheDD.querySelector('.dd-selected'),
        nicheList=nicheDD.querySelector('.dd-list'), nicheNative=$('tth-niche-native'),
        nicheSelected=$('tth-niche-selected');

  function openList(btn,list,open){btn.setAttribute('aria-expanded',open?'true':'false');list.style.display=open?'block':'none';}
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
    if(!nicheDD.contains(e.target)) openList(nicheBtn,nicheList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));
  nicheBtn.addEventListener('click',()=>openList(nicheBtn,nicheList,nicheList.style.display!=='block'));

  /* --- inputs --- */
  const followersRange=$('tth-followers');
  const followersLabel=$('tth-followers-label');
  const viewsRange=$('tth-views-range');
  const viewsLabel=$('tth-views-label');
  const viewsHidden=$('tth-views');
  const postsInput=$('tth-posts');
  const postsRange=$('tth-posts-range');
  const modelSel=$('tth-model');

  /* --- outputs --- */
  const rangeEl=$('tth-range'), rangeSub=$('tth-range-sub');
  const sponsorEl=$('tth-sponsor'), sponsorSub=$('tth-sponsor-sub');
  const monthViewsEl=$('tth-month-views'), adsEl=$('tth-ads'), dealsEl=$('tth-deals');

  let state={country:'us',currency:'USD',niche:'ugc',currencyOverridden:false};

  function updateSliderFill(el){
    const min=+el.min||0, max=+el.max||1, val=+el.value||0;
    el.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');
  }
  function clampInt(el,min,max){
    let v=parseInt(el.value||'0',10);
    if(isNaN(v)) v=0;
    v=Math.max(min,Math.min(max,v));
    el.value=v;
    return v;
  }

  function buildCountryList(){
    cList.innerHTML=''; countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      cList.appendChild(li);
      const opt=document.createElement('option'); opt.value=c.code; opt.textContent=c.name; countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML=''; currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=code;
      li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      curList.appendChild(li);
      const opt=document.createElement('option'); opt.value=code; opt.textContent=code; currencyNative.appendChild(opt);
    });
  }
  function buildNicheList(){
    nicheList.innerHTML=''; nicheNative.innerHTML='';
    Object.entries(NICHES).forEach(([key,cfg])=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=key;
      li.textContent=cfg.label;
      li.addEventListener('click',()=>selectNiche(key,true));
      nicheList.appendChild(li);
      const opt=document.createElement('option'); opt.value=key; opt.textContent=cfg.label; nicheNative.appendChild(opt);
    });
  }

  function selectCountry(code,closeAfter){
    state.country=code;
    const c=CTRY[code]||CTRY.us;
    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cName.textContent=c.name;
    countryNative.value=code;
    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(val,closeAfter,markOverride){
    state.currency=val;
    if(markOverride) state.currencyOverridden=true;
    curName.textContent=val;
    currencyNative.value=val;
    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }
  function selectNiche(key,closeAfter){
    state.niche=key;
    const cfg=NICHES[key]||NICHES.ugc;
    nicheSelected.textContent=cfg.label;
    nicheNative.value=key;
    if(closeAfter) openList(nicheBtn,nicheList,false);
    calc();
  }

  function dealsPerMonthFromFollowers(f){
    if(f < 10000) return 1;
    if(f < 50000) return 2;
    if(f < 200000) return 4;
    if(f < 1000000) return 7;
    return 10;
  }
  function qualityLabel(f, v){
    if(f <= 0 && v <= 0) return 'Low';
    if(f > 0 && v <= 0) return 'Low';
    const ratio = f > 0 ? (v / f) : 0;
    if(f > 50000 && ratio < 0.15) return 'Low';
    if(ratio < 0.35) return 'Medium';
    return 'High';
  }

  function calc(){
    const c=CTRY[state.country]||CTRY.us;
    const n=NICHES[state.niche]||NICHES.ugc;
    const model=MODELS[modelSel.value]||MODELS.ads;

    const followers=+followersRange.value||0;
    const avgViews=Math.max(0,+viewsHidden.value||0);
    const posts=clampInt(postsInput,0,90);

    const monthViews = avgViews * posts;

    const rpm = c.rpm * n.rpmF;
    const ads = (monthViews/1000) * rpm;

    const sponsorPerPost =
      ((avgViews/1000) * c.sponsorV + (followers/1000) * c.sponsorF) * n.dealF;

    let dealsPm = Math.round(dealsPerMonthFromFollowers(followers) * model.dealMult);
    dealsPm = Math.max(0, Math.min(20, dealsPm));

    const deals = dealsPm * sponsorPerPost;
    const other = (ads + deals) * model.otherPct;
    const total = ads + deals + other;

    const q = qualityLabel(followers, avgViews);
    const spread = (q==='Low') ? 0.55 : (q==='Medium' ? 0.40 : 0.28);
    const low = Math.max(0, total * (1 - spread));
    const high = total * (1 + spread);

    const effRpm = monthViews > 0 ? (total / monthViews) * 1000 : 0;
    const fx = rate(c.cur, state.currency);

    rangeEl.textContent = `${fmt(low*fx,state.currency)}–${fmt(high*fx,state.currency)}`;
    rangeSub.textContent = `Base: ${fmt(total*fx,state.currency)} · Data quality: ${q}`;

    sponsorEl.textContent = fmt(sponsorPerPost*fx, state.currency);
    sponsorSub.textContent = `Deals/mo: ${dealsPm} · Effective RPM: ${(effRpm*fx).toFixed(2)} / 1k`;

    monthViewsEl.textContent = fmtInt(monthViews, state.currency);
    adsEl.textContent = fmt(ads*fx, state.currency);
    dealsEl.textContent = fmt(deals*fx, state.currency);
  }

  /* --- start animation (0 -> target, 1.5s) --- */
  const ANIM_MS=1500;
  function animateNumber(to, onUpdate, duration=ANIM_MS){
    const start=performance.now();
    const ease=t=>1-Math.pow(1-t,3);
    function step(now){
      const t=Math.min(1,(now-start)/duration);
      onUpdate(to*ease(t), t);
      if(t<1) requestAnimationFrame(step);
    }
    requestAnimationFrame(step);
  }

  function animateInitial(){
    const fTarget=+followersRange.value||0;
    const vTarget=+viewsRange.value||0;
    const pTarget=+postsRange.value||0;

    // reset all to 0
    followersRange.value=0; viewsRange.value=0; viewsHidden.value=0; postsRange.value=0; postsInput.value=0;
    followersLabel.textContent=fmtInt(0,state.currency);
    viewsLabel.textContent=fmtInt(0,state.currency);
    updateSliderFill(followersRange); updateSliderFill(viewsRange); updateSliderFill(postsRange);
    calc();

    animateNumber(fTarget,(val)=>{
      const v=Math.round(val);
      followersRange.value=v;
      followersLabel.textContent=fmtInt(v,state.currency);
      updateSliderFill(followersRange);
      calc();
    });

    animateNumber(vTarget,(val)=>{
      const v=Math.round(val);
      viewsRange.value=v;
      viewsHidden.value=v;
      viewsLabel.textContent=fmtInt(v,state.currency);
      updateSliderFill(viewsRange);
      calc();
    });

    animateNumber(pTarget,(val)=>{
      const v=Math.round(val);
      postsRange.value=v;
      postsInput.value=v;
      updateSliderFill(postsRange);
      calc();
    });
  }

  /* --- events --- */
  followersRange.addEventListener('input',()=>{
    followersLabel.textContent=fmtInt(+followersRange.value||0,state.currency);
    updateSliderFill(followersRange);
    calc();
  });
  viewsRange.addEventListener('input',()=>{
    const v=+viewsRange.value||0;
    viewsHidden.value=v;
    viewsLabel.textContent=fmtInt(v,state.currency);
    updateSliderFill(viewsRange);
    calc();
  });
  postsInput.addEventListener('input',()=>{
    postsRange.value=clampInt(postsInput,0,90);
    updateSliderFill(postsRange);
    calc();
  });
  postsRange.addEventListener('input',()=>{
    postsInput.value=clampInt(postsRange,0,90);
    updateSliderFill(postsRange);
    calc();
  });
  modelSel.addEventListener('change',calc);

  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  nicheNative.addEventListener('change',()=>selectNiche(nicheNative.value,false));

  /* --- init --- */
  buildCountryList(); buildCurrencyList(); buildNicheList();

  // Force EN defaults (USA + USD) for this version.
  state.currencyOverridden=false;
  selectNiche('ugc',false);
  selectCountry('us',false);
  selectCurrency('USD',false,false);

  // requested defaults
  followersRange.value=250000;
  viewsRange.value=120000;
  viewsHidden.value=120000;
  postsInput.value = postsInput.value ? postsInput.value : 20;
  postsRange.value = +postsInput.value||20;

  followersLabel.textContent=fmtInt(+followersRange.value||0,state.currency);
  viewsLabel.textContent=fmtInt(+viewsRange.value||0,state.currency);
  updateSliderFill(followersRange); updateSliderFill(viewsRange); updateSliderFill(postsRange);

  // run the animation once
  animateInitial();
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/make-money-on-tiktok-tool.png" alt="Make Money on TikTok" width="396" height="538" class="alignnone size-full" title="Make Money on TikTok: Earnings Calculator 32"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Be honest: this calculator is brilliant</li><li>Tailored to your feedback</li><li>By creators, for creators</li></ul>
</div></div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Tool Erklärung" width="432" height="310" class="alignnone size-full" title="Make Money on TikTok: Earnings Calculator 33"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>The TikTok Earnings Calculator explained in detail</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Calculator details</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">More information</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Calculator details">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>About the TikTok Earnings Calculator:</h3>
<p><strong>The <b>TikTok Earnings Calculator</b> estimates your monthly TikTok income based on your account metrics: <b>followers</b>, <b>average views per video</b>, <b>posts per month</b>, country/currency, niche, and monetization model (e.g. ads-dominant, balanced, deal-dominant). You instantly get a realistic <b>earnings range</b> and a clear split between <b>Ads / Creator Program</b> income and <b>Sponsorships / UGC</b>.</strong></p>
<p>If you also go live and receive gifts, use the <a href="https://creator-cash.com/tiktok/tiktok-coins-calculator/">TikTok Coins Calculator</a> alongside this tool to convert Coins and Diamonds accurately into USD. This earnings calculator is designed for an <b>account-wide view</b>: it answers the most important question first (“How much is my TikTok account worth?”) and then shows you the levers that actually move your monthly revenue.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#The_TikTok_Earnings_Calculator_explained_in_detail">The TikTok Earnings Calculator explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#How_much_money_can_you_make_on_TikTok_Earnings_estimate">How much money can you make on TikTok? (Earnings estimate)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#How_much_are_average_views_per_video_worth_on_TikTok_the_key_lever">How much are average views per video worth on TikTok? (the key lever)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Why_making_money_on_TikTok_is_becoming_more_relevant_long_term">Why making money on TikTok is becoming more relevant long term</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Followers_vs_views_What_matters_more_for_TikTok_earnings">Followers vs. views: What matters more for TikTok earnings?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Sponsorships_brand_deals_How_are_TikTok_post_prices_set">Sponsorships &#038; brand deals: How are TikTok post prices set?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Making_money_on_TikTok_How_to_build_predictable_income">Making money on TikTok: How to build predictable income</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#How_often_do_you_need_to_post_to_make_money_on_TikTok">How often do you need to post to make money on TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Making_money_with_TikTok_Live_When_are_streams_worth_it">Making money with TikTok Live: When are streams worth it?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Taxes_business_registration_when_making_money_on_TikTok">Taxes &#038; business registration when making money on TikTok</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#FAQ_Common_questions_about_making_money_on_TikTok">FAQ: Common questions about making money on TikTok</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="https://creator-cash.com/tiktok/make-money-on-tiktok/#Conclusion_Approach_making_money_on_TikTok_strategically">Conclusion: Approach making money on TikTok strategically</a></li></ul></nav></div>

<h2 class="trenner checkbox">How much money can you make on TikTok? (Earnings estimate)</h2>
<p><strong>TikTok income depends <b>not only on followers</b>, but mainly on <b>average views per video</b>, <b>posting frequency</b>, and <b>monetization</b> (Ads / Creator Program vs. Sponsorships &#038; UGC). With the <b>TikTok Earnings Calculator</b>, you get a monthly range and see transparently how much comes from ads and how much from brand deals.</strong></p>
<p>Many people ask “How much money do you make with X followers?” — but in reality, two accounts with the same follower count can earn completely different amounts if their views differ. That’s exactly why this calculator works with <b>followers + views + posts</b>, turning them into <b>monthly views</b> and estimated earnings.</p>
<p><strong>Example (from the calculator):</strong> Country <b>United States (USD)</b>, niche <b>UGC / Entertainment</b>, <b>250,000 followers</b>, <b>avg. 120,000 views per video</b>, <b>20 posts per month</b>, monetization model: <b>Ads-dominant (Creator Program)</b>. Result: <b>Monthly earnings (range)</b> <span class="positive">$6,800 – $12,100</span> (Base: $9,350, data quality: high) with an estimated <b>2,400,000 views per month</b>.</p>
<div class="beispielbox">
<span class="box-headline">Example:</span></p>
<ul>
<li><b>Followers:</b> 250,000</li>
<li><b>Avg. views per video:</b> 120,000</li>
<li><b>Posts per month:</b> 20 → <b>Monthly views:</b> 2,400,000</li>
<li><b>Ads / Creator Program (estimated):</b> <span class="positive">$3,900</span></li>
<li><b>Sponsorships / UGC (estimated):</b> <span class="positive">$5,450</span></li>
<li><b>Sponsor / UGC per post (estimated):</b> <span class="positive">$1,360</span> · <b>Deals per month:</b> 4</li>
<li><b>Effective RPM:</b> $3.90 / 1k views (indicative)</li>
</ul>
</div>
<h3>What data do you need for a realistic TikTok earnings estimate?</h3>
<p><strong>For a useful estimate, you need at least: <b>followers</b>, <b>average views per video</b>, and <b>posts per month</b>. Optional (but very important for accuracy) are niche, country/currency, and your monetization model — because <b>UGC &#038; brand deals</b> often outperform ad revenue.</strong></p>
<p>Followers alone are a weak KPI because they say nothing about reach. The calculator uses followers mainly as a “size category” (deal potential, benchmark values), while views represent the actual <b>traffic engine</b>. Posting frequency then determines whether strong views turn into meaningful <b>monthly volume</b>.</p>
<h3>Rule of thumb: Why average views matter more than followers</h3>
<p><strong>The logic is simple: <b>Monthly views = avg. views per video × posts per month</b>. When your average views increase, your income almost always grows faster than with pure follower growth — especially for ads and brand deals that are closely tied to reach.</strong></p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Formula check:</span></p>
<ul>
<li><b>Monthly views</b> = avg. views/video × posts/month</li>
<li><b>Example:</b> 120,000 × 20 = <span class="positive">2,400,000 views/month</span></li>
<li><b>Impact:</b> Double your avg. views and you double your monthly volume — without posting more.</li>
</ul>
</div>
<h3>Overview table: How much does a TikTok account earn with X followers? (realistic monthly range)</h3>
<p><strong>The table below answers the classic entry-level question (“X followers → how much money?”) using fixed assumptions: <b>US (USD)</b>, <b>avg. views/video ≈ 35% of followers</b>, <b>20 posts/month</b>, niche <b>UGC / Entertainment</b>, monetization model <b>Balanced (Ads + Deals)</b>. Real accounts can earn more or less depending on whether their views are above or below this benchmark.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Followers</td>
<td>Avg. views / video</td>
<td><b>Monthly earnings (range)</b></td>
<td>Sponsor / UGC per post</td>
<td>Deals per month</td>
</tr>
<tr>
<td>10,000</td>
<td>3,500</td>
<td class="positive">$90 – $200</td>
<td>$40 – $70</td>
<td>1–2</td>
</tr>
<tr>
<td>50,000</td>
<td>17,500</td>
<td class="positive">$400 – $900</td>
<td>$120 – $180</td>
<td>2–3</td>
</tr>
<tr>
<td>100,000</td>
<td>35,000</td>
<td class="positive">$1,000 – $2,000</td>
<td>$220 – $350</td>
<td>3–4</td>
</tr>
<tr>
<td>250,000</td>
<td>87,500</td>
<td class="positive">$2,500 – $5,000</td>
<td>$500 – $850</td>
<td>5–7</td>
</tr>
<tr>
<td>500,000</td>
<td>175,000</td>
<td class="positive">$5,000 – $10,000</td>
<td>$900 – $1,400</td>
<td>7–9</td>
</tr>
<tr>
<td>1,000,000</td>
<td>350,000</td>
<td class="positive">$10,000 – $20,000</td>
<td>$1,400 – $2,300</td>
<td>9–12</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> This table is a <b>follower-based approximation</b>. If your average views per video are significantly higher than “35% of followers,” you’ll usually earn well above the range — and vice versa.</p>
<h2 class="checkbox">How much are average views per video worth on TikTok? (the key lever)</h2>
<p><strong>Followers don’t drive revenue — <b>average views per video</b> do. A smaller account can earn more than a larger one if the views are stronger. The next table shows how earnings change as average views increase (with the same follower count and posting frequency).</strong></p>
<p>For comparison, we use fixed values to make the effect clear: country <b>United States (USD)</b>, <b>250,000 followers</b>, <b>20 posts/month</b>, niche <b>UGC / Entertainment</b>, monetization model <b>Balanced (Ads + Deals)</b>. The calculator uses typical deal ranges and a realistic split between ads and sponsorships.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Avg. views / video</td>
<td>Monthly views</td>
<td>Ads / Creator Program</td>
<td>Sponsorships / UGC</td>
<td><b>Total earnings (range)</b></td>
</tr>
<tr>
<td>10,000</td>
<td>200,000</td>
<td>$320</td>
<td>$1,000 – $1,600</td>
<td class="positive">$1,300 – $2,400</td>
</tr>
<tr>
<td>25,000</td>
<td>500,000</td>
<td>$800</td>
<td>$2,100 – $3,200</td>
<td class="positive">$2,900 – $4,800</td>
</tr>
<tr>
<td>50,000</td>
<td>1,000,000</td>
<td>$1,600</td>
<td>$3,700 – $5,800</td>
<td class="positive">$5,300 – $8,600</td>
</tr>
<tr>
<td>100,000</td>
<td>2,000,000</td>
<td>$3,200</td>
<td>$6,300 – $9,700</td>
<td class="positive">$9,500 – $15,500</td>
</tr>
<tr>
<td>250,000</td>
<td>5,000,000</td>
<td>$8,000</td>
<td>$11,500 – $17,000</td>
<td class="positive">$17,000 – $27,000</td>
</tr>
</table>
</div>
</div>
<h3>How to read these numbers correctly (and why ranges matter)</h3>
<p><strong>Ranges are essential because brand deals are never fixed: prices vary by niche, brand fit, content quality, conversion, and negotiation. That’s why the TikTok Earnings Calculator intentionally shows <b>ranges</b> and additional metrics like <b>sponsor/UGC per post</b> and <b>deals per month</b>, so you can sanity-check the estimate.</strong></p>
<p>If you want to isolate your ad revenue even more precisely (purely view-based), a CPM/RPM comparison is the next step. For that, the <a href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/">TikTok CPM Calculator</a> is the perfect complement to break down views into ad earnings.</p>
<h2 class="trenner checkbox">Why making money on TikTok is becoming more relevant long term</h2>
<p><strong>TikTok is no longer just an entertainment app — it’s one of the fastest-growing revenue platforms in the digital economy. In the United States alone, estimated TikTok revenue grew from around <b>$1 billion (2020)</b> to roughly <b>$6 billion (2023)</b>, with forecasts of <b>over $10 billion</b> in the coming years.</strong></p>
<p>This explosive growth shows why <b>making money on TikTok</b> isn’t a short-term trend. With more than <b>170 million active users in the US</b>, TikTok controls massive attention — and attention is the foundation of ads, brand deals, and creator income. As more money flows into the platform, a growing share ultimately reaches creators.</p>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics.png" alt="TikTok Money" width="1328" height="1066" class="alignnone size-full wp-image-1091" title="Make Money on TikTok: Earnings Calculator 34" srcset="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics.png 1328w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics-300x241.png 300w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics-1024x822.png 1024w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics-768x616.png 768w" sizes="(max-width: 1328px) 100vw, 1328px" /><br />
<span class="disclaimer">Source: <a href="https://cropink.com/tiktok-revenue-statistics" target="_blank" rel="noopener">Cropink TikTok Data</a></span></p>
<p>For creators, this means: <b>making money on TikTok</b> scales with the platform itself. Rising ad budgets, new monetization programs, and increasing demand for UGC ensure that even mid-sized accounts have far better earning opportunities today than just a few years ago.</p>
<p>The <b>TikTok Earnings Calculator</b> translates this macro growth into concrete numbers for your account. It turns platform-level trends into realistic projections based on views, posting frequency, and monetization — helping you understand not just <i>that</i> you can make money on TikTok, but <i>why</i> the earning potential keeps growing.</p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Why do some TikTok accounts earn significantly more than others?</h3>
<p><strong>Two accounts with the same follower count can have completely different earnings. The reason: <b>views, engagement, niche</b>, and the chosen <b>monetization model</b> act like multipliers. In this section, you’ll see which factors really matter and why “followers” alone say very little.</strong></p>
<p>The <b>TikTok Earnings Calculator</b> separates these factors on purpose so you can identify <b>which lever</b> has the biggest impact on your account — and where you should optimize instead of just chasing followers.</p>
<div class="infobox">
<strong>Rule of thumb:</strong> Followers define your <i>potential</i>, views define your <i>revenue</i>.
</div>
<h2 class="trenner checkbox">Followers vs. views: What matters more for TikTok earnings?</h2>
<p><strong>Followers are a trust signal for brands, but <b>views determine reach</b>. For ads, the Creator Program, and many deals, the primary metric is actual video views — not profile size.</strong></p>
<p>An account with 50,000 followers and a steady 100,000 views per video is often more valuable to advertisers than an account with 500,000 followers and only 20,000 views. That’s why the earnings calculator always starts by calculating <b>monthly views</b>, then derives ad and deal revenue from that.</p>
<h3>Engagement rate &#038; niche: The hidden earnings multiplier</h3>
<p><strong>Your niche and engagement shape <b>how much brands are willing to pay</b>. UGC, finance, software, or education typically command higher deal rates than meme or trend content — even with the same reach.</strong></p>
<p>A strong engagement rate (likes, comments, saves, shares) signals conversion potential. Brands don’t pay for views alone — they pay for <b>attention + impact</b>. The calculator reflects this indirectly through different deal ranges by monetization model.</p>
<div class="beispielbox">
<span class="box-headline">Niche comparison (simplified):</span></p>
<ul>
<li>Entertainment / meme: lots of views, lower deal rates</li>
<li>UGC / lifestyle: mid-range views, stable deal rates</li>
<li>Finance / software / B2B: fewer views, <b>high $ value per post</b></li>
</ul>
</div>
<h2 class="trenner checkbox">Sponsorships &#038; brand deals: How are TikTok post prices set?</h2>
<p><strong>Brand deals are usually priced using a mix of <b>views</b>, <b>follower tier</b>, and <b>niche</b>. There’s no single fixed formula — but there are clear market ranges creators use as benchmarks.</strong></p>
<p>The TikTok Earnings Calculator uses typical market benchmarks (CPV/CPM + real-world UGC deal ranges) to estimate <b>sponsor/UGC per post</b> realistically. The goal isn’t one “perfect” number — it’s a credible <b>range</b>.</p>
<h3>Overview table: Brand deal prices by views per video</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Avg. views per video</td>
<td>Typical price per post</td>
<td>Best for</td>
</tr>
<tr>
<td>10,000</td>
<td class="positive">$40 – $100</td>
<td>micro-UGC, first collaborations</td>
</tr>
<tr>
<td>50,000</td>
<td class="positive">$200 – $500</td>
<td>recurring brand posts</td>
</tr>
<tr>
<td>100,000</td>
<td class="positive">$400 – $900</td>
<td>performance-driven deals</td>
</tr>
<tr>
<td>250,000</td>
<td class="positive">$900 – $2,000</td>
<td>stable UGC &#038; sponsorship income</td>
</tr>
<tr>
<td>500,000+</td>
<td class="positive">$2,000 – $4,000+</td>
<td>premium &#038; campaign deals</td>
</tr>
</table>
</div>
</div>
<h3>Overview table: Brand deal prices by follower tier</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Follower tier</td>
<td>Followers</td>
<td>Typical price per post</td>
</tr>
<tr>
<td>Micro creator</td>
<td>10k – 50k</td>
<td class="positive">$70 – $250</td>
</tr>
<tr>
<td>Mid creator</td>
<td>50k – 250k</td>
<td class="positive">$250 – $1,000</td>
</tr>
<tr>
<td>Macro creator</td>
<td>250k – 1M</td>
<td class="positive">$1,000 – $2,500</td>
</tr>
<tr>
<td>Mega creator</td>
<td>1M+</td>
<td class="positive">$2,500 – $6,000+</td>
</tr>
</table>
</div>
</div>
<h3>Common mistakes when estimating earnings</h3>
<p><strong>Many creators overestimate or underestimate their potential because they rely on the wrong assumptions. The earnings calculator avoids these traps by using ranges instead of fixed values.</strong></p>
<ul class="numbers">
<li>Only looking at followers and ignoring views</li>
<li>Expecting a brand deal from every post</li>
<li>Confusing ad revenue with sponsorship income</li>
<li>Not accounting for niche effects</li>
<li>Assuming an unrealistic posting frequency</li>
</ul>
<div class="infobox">
<strong>Reality:</strong> Sustainable TikTok income comes from a <b>combination</b> of ads, deals, and potentially other sources — not from one viral hit.
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------></p>
<p><!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="checkbox">Making money on TikTok: How to build predictable income</h2>
<p><strong>If you want to <b>make money on TikTok</b> long term, you need more than viral clips. Predictable income comes from structure, clear monetization, and understanding which levers truly increase revenue.</strong></p>
<p>The <b>TikTok Earnings Calculator</b> helps you do exactly that: it shows realistically <b>how much money you can make on TikTok</b> — and what you need to change to go from a few hundred dollars to several thousand dollars per month.</p>
<h3 class="checkbox trenner">When does making money on TikTok become worth it?</h3>
<p><strong><b>Making money on TikTok</b> is possible even with small accounts if the views are strong. Many creators earn their first income at around 10,000–20,000 followers, while larger revenues emerge with growing reach and clear monetization.</strong></p>
<ul class="numbers">
<li><b>Under 10k followers:</b> first UGC jobs, affiliate links, test campaigns</li>
<li><b>10k – 50k followers:</b> small brand deals + first ad revenue</li>
<li><b>50k – 250k followers:</b> consistent <b>making money on TikTok</b> becomes realistic</li>
<li><b>250k+ followers:</b> scalable income through ads &#038; sponsorships</li>
</ul>
<h2 class="trenner checkbox">How often do you need to post to make money on TikTok?</h2>
<p><strong>When it comes to <b>making money on TikTok</b>, posting frequency is a key factor. More posts mean more chances for reach — and therefore more revenue. The earnings calculator shows how strongly your monthly income can change by posting more often.</strong></p>
<div class="beispielbox">
<span class="box-headline">Target scenario: making money on TikTok</span></p>
<ul>
<li>Goal: <b>$3,000 per month</b></li>
<li>Avg. views per video: 50,000</li>
<li>Posts per month: 20</li>
<li>Monthly views: 1,000,000</li>
<li>Result: <b>making money on TikTok</b> is realistic with ads + 2–4 brand deals</li>
</ul>
</div>
<p>Many creators don’t fail because of content quality, but because of missing consistency. If you seriously want to <b>make money on TikTok</b>, you must think in monthly volume — not in single viral videos.</p>
<h3>Content formats that work for making money on TikTok</h3>
<p><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-reaction.png" alt="TikTok" width="376" height="292" class="alignright size-full" title="Make Money on TikTok: Earnings Calculator 35"><strong>Not every content format is ideal for <b>making money on TikTok</b>. Formats with clear structure, strong value, and product relevance are much easier to monetize.</strong></p>
<ul class="advantage">
<li>UGC &#038; product demos (directly sellable)</li>
<li>Reviews &#038; hands-on experiences</li>
<li>Tutorials &#038; how-to content</li>
<li>Comparison videos (“X vs. Y”)</li>
<li>Live content with clear calls to action</li>
</ul>
<h2 class="trenner checkbox">Making money with TikTok Live: When are streams worth it?</h2>
<p><strong><b>Making money with TikTok Live</b> mainly works when you have strong community engagement. Livestreams aren’t a guaranteed income source, but they can be a powerful add-on to ads and brand deals.</strong></p>
<p>The earnings calculator focuses on ads and sponsorships. Live gifts (Coins &#038; Diamonds) should be viewed separately, as they fluctuate heavily and are less predictable — but for active communities, they can be a meaningful bonus.</p>
<div class="infobox">
<strong>Note:</strong> To <b>make money with TikTok Live</b>, you need consistency and interaction. As a standalone income source, livestreaming is risky.
</div>
<h2 class="trenner checkbox">Taxes &#038; business registration when making money on TikTok</h2>
<p><strong>Anyone who regularly <b>makes money on TikTok</b> is considered self-employed for tax purposes in the United States. Income from ads, brand deals, or UGC is subject to federal income tax and, depending on your situation, state taxes as well.</strong></p>
<p>Once you generate recurring deal income, it’s generally advisable to treat your TikTok activity as a business. TikTok does not withhold taxes automatically — the responsibility always lies with the creator.</p>
<div class="infobox">
<strong>Example:</strong> $1,000 profit from <b>making money on TikTok</b> → approx. $750 net after ~25% income tax (simplified estimate).
</div>
<h2 class="trenner checkbox">FAQ: Common questions about making money on TikTok</h2>
<h3>Can you make money on TikTok with few followers?</h3>
<p><strong>Yes. Even small accounts can <b>make money on TikTok</b> if views, niche, and content quality are right.</strong></p>
<h3>How much does TikTok pay per 1,000 views?</h3>
<p><strong>When <b>making money on TikTok</b> through ads, earnings are usually in the low single-digit dollar range per 1,000 views. Brand deals and UGC can reach significantly higher values.</strong></p>
<h3>What is the best way to make money on TikTok?</h3>
<p><strong>Long term, <b>making money on TikTok</b> works best through a combination of ads, sponsorships/UGC, and optionally live or affiliate income.</strong></p>
<h3>How do you get sponsors for TikTok?</h3>
<p><strong>Consistent views, clear positioning, and a tangible value proposition for brands are the key to sustainably <b>making money on TikTok</b>.</strong></p>
<h2 class="trenner checkbox">Conclusion: Approach making money on TikTok strategically</h2>
<p><strong><b>Making money on TikTok</b> is not luck. With realistic data, consistent output, and the right monetization mix, reach turns into predictable monthly income.</strong></p>
<p>Use the TikTok Earnings Calculator as your planning foundation. For a more granular breakdown of pure ad revenue, complement your strategy with the <a href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/">TikTok CPM Calculator</a>.</p>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Want to earn money on TikTok? Get started today:</h3>
Download our free e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="More information">
Information about this tool:

<ul class="post-info">
<li><strong>Name:</strong> Make Money on TikTok: Earnings Calculator</li>
<li><strong>Description:</strong> Make Money on TikTok: The TikTok Earnings Calculator shows how much you can earn with views, CPM, and coins.</li>
</ul>

<ul class="post-info">
<li><strong>Author:</strong> Kevin</li>
<li><strong>Published:</strong> January 13, 2026</li>
<li><strong>Last updated:</strong> 13.01.2026</li>
<li><strong>Category:</strong> Tiktok</li>
<li><strong>Reading time:</strong> 12 min.</li>
</ul>

<strong>About the author:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Make Money on TikTok: Earnings Calculator 36"><strong>Kevin - Founder of Creator Cash</strong>
Kevin is an experienced content creator and SEO expert with a focus on the creator economy, social media monetization, and digital revenue streams. He analyzes platforms such as TikTok, Twitch, and YouTube in detail and shares practical calculations, data, and strategies. Through his experience in marketing and creator consulting, he imparts in-depth knowledge with clear added value for creators and brands.</div>

<div class="share-box">
<strong>Share this post:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TikTok CPM Calculator: See Ad Earnings</title>
		<link>https://creator-cash.com/tiktok/tiktok-cpm-calculator/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Sun, 11 Jan 2026 15:31:51 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=980</guid>

					<description><![CDATA[TikTok CPM Calculator: See Ad Earnings How much money does TikTok ads pay? CPM is usually $0.50–$2.00. This TikTok CPM Calculator shows your real ad earnings. TikTok CPM Calculator TikTok CPM Calculator Calculate your ad earnings TikTok CPM Calculator explained in detail]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-cpm-calculator-1024x1024.jpg" alt="TikTok CPM Calculator" width="1200" height="1200" class="alignnone size-full" title="TikTok CPM Calculator: See Ad Earnings 47"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>TikTok CPM Calculator: See Ad Earnings</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>How much money does TikTok ads pay? CPM is usually $0.50–$2.00. This TikTok CPM Calculator shows your real ad earnings.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-cpm-calculator-tool-mobile.png" alt="TikTok CPM Calculator" width="394" height="410" class="alignnone size-full wp-image-319" title="TikTok CPM Calculator: See Ad Earnings 48"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->TikTok CPM Calculator<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/category/tiktok/"><!-- SECTION START -->All Tiktok calculators<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->TikTok CPM Calculator<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Calculate your ad earnings<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
/* === TikTok CPM/RPM Calculator – Screenshot-Layout (fix: no duplicate dropdown) === */
@media (min-width:1024px){.tool-content{height:558px!important}}
@media (max-width:1023px){.ttk-filter-label{display:none}}

.tcp4, .tcp4 *{
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}
.tcp4{max-width:720px;width:100%;margin:12px auto;overflow:hidden}
.tcp4-row{gap:12px;margin-top:12px}
.ttk-range{margin:12px 0 4px}
#tcp4-preset,#tcp4-scenario{padding:4px 0px!important}

/* cards */
.tcp4-card{
  background:#f3f4f6;
  border:1px solid #D1D5DB;
  border-radius:7px;
  box-shadow:none;
  padding:9px 14px;
}

/* top filters labels */
.tcp4 .ttk-filter{margin-bottom:0;height:37px;position:relative}
.tcp4 .tcp4-abslabel{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  margin:0;pointer-events:none;font-weight:600
}

/* hide native selects desktop */
#tcp4-country-native,#tcp4-currency-native,#tcp4-cat-native{display:none!important}

/* category dd align */
#tcp4-cat-label{display:none!important}
#tcp4-cat-dd{width:100%}
.tcp4-cat-dd .dd-selected{width:225px!important;padding-left:4px;margin-left:-15px}
#tcp4-cat-dd .dd-list{left:0px}

/* row1 views */
.tcp4-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.tcp4-big{font-size:29px;font-weight:800;letter-spacing:.1px;line-height:1}
.tcp4-right{font-size:14px;font-weight:800}

/* RPM/CPM Dropdown (custom) */
.tcp4-mode-dd{width:100%}
.tcp4-mode-dd .dd-selected{
  width:100%!important;
  padding:0 12px!important;
  margin:0!important;
  height:37px;
  border:1px solid #D1D5DB;
  border-radius:7px;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  font-weight:600;
  gap:10px;
}
.tcp4-mode-dd .dd-selected .dd-name{
  margin:0!important;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tcp4-paren{color:#127C3A;font-weight:600;font-size:12.5px;line-height:15px}
.tcp4-mode-dd .dd-list{left:0;right:0;width:100%}

/* tighter spacing under dropdown */
.tcp4-ratewrap{margin-top:6px}
.tcp4-inline{display:flex;align-items:center;gap:10px}
.tcp4-miniinput{
  width:88px;
  border:1px solid #D1D5DB;border-radius:7px;background:#fff;
  padding:6px 10px!important;
  font-size:14px;font-weight:900;outline:none;
  height:35px;
}
.tcp4-range{flex:1;margin:0}
.tcp4-card-tight{padding:12px 14px 3px 14px}

/* middle 4 boxes: 2 per row */
.tcp4-half{flex:0 1 calc((100% - 12px)/2);min-width:0}

/* label left, control right */
.tcp4-minirow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tcp4-label{
  font-size:13.5px;
  font-weight:600;
  color:#111;
  white-space:nowrap;
}
.tcp4-control{flex:1;display:flex;align-items:center;justify-content:flex-end}
.tcp4-control select{
  width:100%;
  height:35px;
  border:0;background:transparent;outline:none;
  font-weight:600;font-size:13.5px;
  text-align:right;
}
.tcp4-control .tcp4-inline{width:100%}
.tcp4-control .tcp4-miniinput{
  border:0;background:transparent;width:64px;
  padding:0 6px!important;height:35px
}
.tcp4-control input[type="range"]{flex:1;margin:0}

/* label-less (dropdowns) */
.tcp4-label-less .tcp4-control{justify-content:flex-start}
.tcp4-label-less .tcp4-control select{text-align:left}

/* output green */
.tcp4-green{
  width:100%;
  border:1px solid #77D991;
  background:#E8F9EB;
  border-radius:7px;
  padding:16px 16px 14px;
}
.tcp4-green-title{font-size:13.5px;font-weight:900;color:#0b0b0b;margin-bottom:6px}
.tcp4-green-val{font-size:34px;font-weight:900;line-height:1;color:#1FAF56}
.tcp4-green-sub{margin-top:8px;font-size:13px;font-style:italic;color:#127C3A}

/* mobile: show native selects except mode (we keep custom only) */
@media (max-width:760px){
  #tcp4-country-dd,#tcp4-currency-dd,#tcp4-cat-dd{display:none!important}
  #tcp4-country-native,#tcp4-currency-native,#tcp4-cat-native{
    display:block!important;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:16px
  }
  .tcp4-row{flex-direction:column}
  .tcp4-half{width:100%;flex:1 1 100%}
}
</style>

<div id="tcp4-calc" class="ttk tcp4">

  <!-- TOP FILTERS (3) -->
  <div class="tool-filters ttk-row ttk-filters" style="margin-top:0">
    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tcp4-abslabel">Country</div>
      <div id="tcp4-country-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <img alt="" width="20" height="15"><span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Country"></ul>
      </div>
      <select id="tcp4-country-native" aria-label="Country"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tcp4-abslabel">Currency</div>
      <div id="tcp4-currency-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Currency"></ul>
      </div>
      <select id="tcp4-currency-native" aria-label="Currency"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label" id="tcp4-cat-label">UGC/Entertainment</div>
      <div id="tcp4-cat-dd" class="dd tcp4-cat-dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name" id="tcp4-cat-selected">UGC/Entertainment</span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Category"></ul>
      </div>
      <select id="tcp4-cat-native" aria-label="Category"></select>
    </div></div>
  </div>

  <!-- ROW: Views + RPM/CPM -->
  <div class="ttk-row tcp4-row">
    <!-- Views -->
    <div class="tcp4-card tcp4-half">
      <div class="tcp4-headline">
        <div class="tcp4-big" id="tcp4-views-label">1,250,000</div>
        <div class="tcp4-right">Views</div>
      </div>
      <input id="tcp4-views" type="range" min="0" max="10000000" step="10000" value="1250000" class="ttk-range ttk-range-black">
    </div>

    <!-- RPM/CPM -->
    <div class="tcp4-card tcp4-half tcp4-card-tight">
      <!-- ONLY ONE dropdown: CUSTOM MODE (no native select rendered) -->
      <div id="tcp4-mode-dd" class="dd tcp4-mode-dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name" id="tcp4-mode-selected">
            RPM as the basis <span class="tcp4-paren">(earnings per 1,000 views)</span>
          </span>
          <span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Basis"></ul>
      </div>

      <div class="tcp4-ratewrap">
        <div class="tcp4-inline">
          <input id="tcp4-rate" class="tcp4-miniinput" type="number" min="0" max="200" step="0.01" value="1.80" aria-label="Rate">
          <input id="tcp4-rate-range" type="range" min="0" max="20" step="0.05" value="1.80" class="ttk-range ttk-range-black tcp4-range">
        </div>
      </div>
    </div>
  </div>

  <!-- 4 boxes (2x2) -->
  <div class="ttk-row tcp4-row">
    <div class="tcp4-card tcp4-half tcp4-label-less">
      <div class="tcp4-minirow">
        <div class="tcp4-control">
          <select id="tcp4-preset" aria-label="Earnings type">
            <option value="creator" selected>Creator Rewards (simple)</option>
            <option value="brand">Brand Ads (higher CPM)</option>
            <option value="premium">Premium niche (top CPM)</option>
          </select>
        </div>
      </div>
    </div>

    <div class="tcp4-card tcp4-half tcp4-label-less">
      <div class="tcp4-minirow">
        <div class="tcp4-control">
          <select id="tcp4-scenario" aria-label="Scenario">
            <option value="low">Conservative scenario</option>
            <option value="typical" selected>Realistic scenario</option>
            <option value="high">Optimistic scenario</option>
          </select>
        </div>
      </div>
    </div>

    <div class="tcp4-card tcp4-half">
      <div class="tcp4-minirow">
        <div class="tcp4-label">Monetized views</div>
        <div class="tcp4-control">
          <div class="tcp4-inline">
            <input id="tcp4-mv" class="tcp4-miniinput" type="number" min="0" max="1000" step="10" value="320" aria-label="Monetized views per 1000">
            <input id="tcp4-mv-range" type="range" min="0" max="1000" step="10" value="320" class="ttk-range ttk-range-black">
          </div>
        </div>
      </div>
    </div>

    <div class="tcp4-card tcp4-half">
      <div class="tcp4-minirow">
        <div class="tcp4-label">Ad value factor</div>
        <div class="tcp4-control">
          <div class="tcp4-inline">
            <input id="tcp4-q" class="tcp4-miniinput" type="number" min="0.7" max="1.5" step="0.01" value="1.00" aria-label="Ad value factor">
            <input id="tcp4-q-range" type="range" min="0.7" max="1.5" step="0.01" value="1.00" class="ttk-range ttk-range-black">
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- OUTPUT -->
  <div class="ttk-row tcp4-row">
    <div class="tcp4-green">
      <div class="tcp4-green-title">Estimated profit (net)</div>
      <div class="tcp4-green-val" id="tcp4-out">$2,250.00</div>
      <div class="tcp4-green-sub">Effective RPM: <span id="tcp4-eff">1.80</span> / 1k</div>
    </div>
  </div>

</div>

<script>
(function(){
  const $=id=>document.getElementById(id);
  const root=$('tcp4-calc'); if(!root) return;

  // --- Data ---
  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',rpmBase:1.40,cpmBrand:18},
    {code:'us',name:'USA',cur:'USD',rpmBase:1.80,cpmBrand:22},
    {code:'gb',name:'UK', cur:'GBP',rpmBase:1.60,cpmBrand:20},
    {code:'fr',name:'FRA',cur:'EUR',rpmBase:1.30,cpmBrand:17},
    {code:'it',name:'ITA',cur:'EUR',rpmBase:1.20,cpmBrand:16},
    {code:'es',name:'ESP',cur:'EUR',rpmBase:1.10,cpmBrand:15},
    {code:'ca',name:'CAN',cur:'CAD',rpmBase:1.35,cpmBrand:19},
    {code:'au',name:'AUS',cur:'AUD',rpmBase:1.30,cpmBrand:19},
    {code:'nl',name:'NLD',cur:'EUR',rpmBase:1.25,cpmBrand:17},
    {code:'br',name:'BRA',cur:'BRL',rpmBase:0.70,cpmBrand:9},
    {code:'mx',name:'MEX',cur:'MXN',rpmBase:0.75,cpmBrand:10},
    {code:'ph',name:'PHL',cur:'USD',rpmBase:0.60,cpmBrand:8},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));

  // Categories
  const CATEGORIES={
    ugc:{label:'UGC/Entertainment',m:1.00},
    gaming:{label:'Gaming',m:0.95},
    lifestyle:{label:'Lifestyle',m:1.00},
    fitness:{label:'Fitness/Health',m:1.05},
    edu:{label:'Education/How-to',m:1.10},
    biz:{label:'Business/Finance',m:1.18},
    beauty:{label:'Beauty/Fashion',m:1.05},
    tech:{label:'Tech/Reviews',m:1.12},
    news:{label:'News/Politics',m:1.20},
    food:{label:'Food/Recipes',m:1.05},
    travel:{label:'Travel',m:1.10},
    sports:{label:'Sports',m:1.00},
  };

  const PRESETS={
    creator:{type:'rpm',mv:320,cpmBoost:1.00,rpmBoost:1.00},
    brand:{type:'cpm',mv:260,cpmBoost:1.00,rpmBoost:1.00},
    premium:{type:'cpm',mv:320,cpmBoost:1.40,rpmBoost:1.12},
  };

  const SCENARIOS={ low:{mult:0.70}, typical:{mult:1.00}, high:{mult:1.35} };

  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];
  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;

  // EN defaults and formatting
  const localeFor=cur=>({EUR:'de-DE',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'en-US';
  const fmtMoney=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};
  const fmtInt=n=>(Math.round(n)).toLocaleString('en-US');

  // --- Dropdown plumbing ---
  const countryDD=$('tcp4-country-dd'), cBtn=countryDD.querySelector('.dd-selected'), cImg=cBtn.querySelector('img'),
        cName=cBtn.querySelector('.dd-name'), cList=countryDD.querySelector('.dd-list'), countryNative=$('tcp4-country-native');

  const currDD=$('tcp4-currency-dd'), curBtn=currDD.querySelector('.dd-selected'), curName=curBtn.querySelector('.dd-name'),
        curList=currDD.querySelector('.dd-list'), currencyNative=$('tcp4-currency-native');

  const catDD=$('tcp4-cat-dd'), catBtn=catDD.querySelector('.dd-selected'), catList=catDD.querySelector('.dd-list'),
        catNative=$('tcp4-cat-native'), catSelected=$('tcp4-cat-selected');

  const modeDD=$('tcp4-mode-dd'), modeBtn=modeDD.querySelector('.dd-selected'), modeList=modeDD.querySelector('.dd-list'),
        modeSelected=$('tcp4-mode-selected');

  function openList(btn,list,open){
    btn.setAttribute('aria-expanded',open?'true':'false');
    list.style.display=open?'block':'none';
    if(open) list.focus();
  }
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
    if(!catDD.contains(e.target)) openList(catBtn,catList,false);
    if(!modeDD.contains(e.target)) openList(modeBtn,modeList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));
  catBtn.addEventListener('click',()=>openList(catBtn,catList,catList.style.display!=='block'));
  modeBtn.addEventListener('click',()=>openList(modeBtn,modeList,modeList.style.display!=='block'));

  // --- Inputs ---
  const views=$('tcp4-views'), viewsLabel=$('tcp4-views-label');
  const rateIn=$('tcp4-rate'), rateR=$('tcp4-rate-range');
  const preset=$('tcp4-preset'), scenario=$('tcp4-scenario');
  const mvIn=$('tcp4-mv'), mvR=$('tcp4-mv-range');
  const qIn=$('tcp4-q'), qR=$('tcp4-q-range');

  // --- Output ---
  const out=$('tcp4-out'), eff=$('tcp4-eff');

  // Default: USA / USD for EN version
  let state={country:'us',currency:'USD',category:'ugc',currencyOverridden:false,mode:'rpm'};

  function updateSliderFill(el){
    const min=+el.min||0,max=+el.max||1,val=+el.value||0;
    el.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');
  }
  function clampNum(el,min,max,dec){
    let v=parseFloat(el.value||'0'); if(isNaN(v)) v=0;
    v=Math.max(min,Math.min(max,v));
    if(typeof dec==='number'){
      const p=Math.pow(10,dec);
      v=Math.round(v*p)/p;
      el.value=v.toFixed(dec);
    } else el.value=v;
    return v;
  }

  function buildCountryList(){
    cList.innerHTML=''; countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      cList.appendChild(li);

      const opt=document.createElement('option');
      opt.value=c.code; opt.textContent=c.name;
      countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML=''; currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=code; li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      curList.appendChild(li);

      const opt=document.createElement('option');
      opt.value=code; opt.textContent=code;
      currencyNative.appendChild(opt);
    });
  }
  function buildCategoryList(){
    catList.innerHTML=''; catNative.innerHTML='';
    Object.entries(CATEGORIES).forEach(([key,cfg])=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=key; li.textContent=cfg.label;
      li.addEventListener('click',()=>selectCategory(key,true));
      catList.appendChild(li);

      const opt=document.createElement('option');
      opt.value=key; opt.textContent=cfg.label;
      catNative.appendChild(opt);
    });
  }
  function buildModeList(){
    modeList.innerHTML='';
    const items=[
      {val:'rpm', html:`RPM as the basis <span class="tcp4-paren">(earnings per 1,000 views)</span>`},
      {val:'cpm', html:`CPM as the basis <span class="tcp4-paren">(per 1,000 monetized views)</span>`},
    ];
    items.forEach(it=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=it.val;
      li.innerHTML=it.html;
      li.addEventListener('click',()=>selectMode(it.val,true));
      modeList.appendChild(li);
    });
  }

  function selectCountry(code,closeAfter){
    state.country=code;
    const c=CTRY[code]||CTRY.us;

    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cName.textContent=c.name;
    countryNative.value=code;

    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);

    applyAuto(false);
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(cur,closeAfter,override){
    state.currency=cur;
    if(override) state.currencyOverridden=true;
    curName.textContent=cur;
    currencyNative.value=cur;
    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }
  function selectCategory(key,closeAfter){
    state.category=key;
    catSelected.textContent=(CATEGORIES[key]||CATEGORIES.ugc).label;
    catNative.value=key;

    applyAuto(false);
    if(closeAfter) openList(catBtn,catList,false);
    calc();
  }
  function selectMode(val,closeAfter){
    state.mode=val;

    if(val==='rpm'){
      modeSelected.innerHTML = `RPM as the basis <span class="tcp4-paren">(earnings per 1,000 views)</span>`;
      rateR.max='20'; rateIn.max='200';
    }else{
      modeSelected.innerHTML = `CPM as the basis <span class="tcp4-paren">(per 1,000 monetized views)</span>`;
      rateR.max='60'; rateIn.max='200';
    }

    applyAuto(false);
    if(closeAfter) openList(modeBtn,modeList,false);
    calc();
  }

  function applyAuto(forcePreset){
    const c=CTRY[state.country]||CTRY.us;
    const cat=CATEGORIES[state.category]||CATEGORIES.ugc;
    const pre=PRESETS[preset.value]||PRESETS.creator;
    const sc=SCENARIOS[scenario.value]||SCENARIOS.typical;
    const q=Math.max(0.7,Math.min(1.5,parseFloat(qIn.value||'1')));

    if(forcePreset){
      mvIn.value=pre.mv;
      mvR.value=pre.mv;
      updateSliderFill(mvR);
    }

    const mv=Math.max(0,Math.min(1000,parseFloat(mvIn.value||pre.mv)));

    let v=0;
    if(state.mode==='rpm'){
      v = c.rpmBase * cat.m * sc.mult * pre.rpmBoost * q;
      v = Math.max(0,Math.min(parseFloat(rateR.max||'20'),v));
    }else{
      if(pre.type==='rpm'){
        const rpm = c.rpmBase * cat.m * sc.mult * pre.rpmBoost * q;
        const denom=Math.max(1,mv)/1000;
        v = rpm/denom;
      }else{
        v = c.cpmBrand * cat.m * sc.mult * pre.cpmBoost * q;
      }
      v = Math.max(0,Math.min(parseFloat(rateR.max||'60'),v));
    }

    rateIn.value=v.toFixed(2);
    rateR.value=v.toFixed(2);
    updateSliderFill(rateR);
  }

  function calc(){
    const c=CTRY[state.country]||CTRY.us;
    const fx=rate(c.cur,state.currency);

    const viewsVal=+views.value||0;
    const mvVal=Math.max(0,Math.min(1000,parseFloat(mvIn.value||'0')));
    const r=Math.max(0,parseFloat(rateIn.value||'0'));

    let grossCountry=0;
    let effRpmCountry=0;

    if(state.mode==='rpm'){
      grossCountry=(viewsVal/1000)*r;
      effRpmCountry=r;
    }else{
      const monetizedImpressions = viewsVal*(mvVal/1000);
      grossCountry=(monetizedImpressions/1000)*r;
      effRpmCountry=(mvVal/1000)*r;
    }

    const outVal=grossCountry*fx;
    const effVal=effRpmCountry*fx;

    viewsLabel.textContent=fmtInt(viewsVal);
    out.textContent=fmtMoney(outVal,state.currency);
    eff.textContent=effVal.toFixed(2);

    updateSliderFill(views);
    updateSliderFill(mvR);
    updateSliderFill(qR);
    updateSliderFill(rateR);
  }

  // --- Events ---
  views.addEventListener('input',calc);

  rateIn.addEventListener('input',()=>{
    const max=parseFloat(rateR.max||'20');
    const v=clampNum(rateIn,0,max,2);
    rateR.value=v.toFixed(2);
    updateSliderFill(rateR);
    calc();
  });
  rateR.addEventListener('input',()=>{
    rateIn.value=(+rateR.value||0).toFixed(2);
    updateSliderFill(rateR);
    calc();
  });

  preset.addEventListener('change',()=>{ applyAuto(true); calc(); });
  scenario.addEventListener('change',()=>{ applyAuto(false); calc(); });

  mvIn.addEventListener('input',()=>{
    const v=clampNum(mvIn,0,1000,0);
    mvR.value=v;
    updateSliderFill(mvR);
    calc();
  });
  mvR.addEventListener('input',()=>{
    mvIn.value=(+mvR.value||0).toFixed(0);
    updateSliderFill(mvR);
    calc();
  });

  qIn.addEventListener('input',()=>{
    const v=clampNum(qIn,0.7,1.5,2);
    qR.value=v;
    updateSliderFill(qR);
    applyAuto(false);
    calc();
  });
  qR.addEventListener('input',()=>{
    qIn.value=(+qR.value||1).toFixed(2);
    updateSliderFill(qR);
    applyAuto(false);
    calc();
  });

  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  catNative.addEventListener('change',()=>selectCategory(catNative.value,false));

  // --- Init ---
  buildCountryList(); buildCurrencyList(); buildCategoryList(); buildModeList();

  // default: USA / USD / UGC (EN)
  selectCategory('ugc',false);
  selectCountry('us',false);
  selectCurrency('USD',false,false);

  preset.value='creator';
  scenario.value='typical';
  mvIn.value='320'; mvR.value='320';
  qIn.value='1.00'; qR.value='1.00';

  selectMode('rpm',false);

  updateSliderFill(views);
  updateSliderFill(mvR);
  updateSliderFill(qR);

  applyAuto(true);
  calc();
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-cpm-calculator-tool.png" alt="TikTok CPM Calculator" width="396" height="538" class="alignnone size-full" title="TikTok CPM Calculator: See Ad Earnings 49"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Be honest: this calculator is brilliant</li><li>Tailored to your feedback</li><li>By creators, for creators</li></ul>
</div></div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Tool Erklärung" width="432" height="310" class="alignnone size-full" title="TikTok CPM Calculator: See Ad Earnings 50"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>TikTok CPM Calculator explained in detail</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Calculator details</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">More information</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Calculator details">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Information about the TikTok CPM Calculator:</h3>
<p><strong>The TikTok CPM Calculator shows how much money you can realistically earn from TikTok ads. Unlike simple formulas, it does not rely on views alone. It factors in country, content category, monetized views, and effective RPM. This allows you to <b>see your TikTok ad earnings</b>, compare scenarios, and understand why identical view counts can lead to completely different payouts.</strong></p>
<p>The most important thing upfront: TikTok does not pay per view, but per <strong>monetized view</strong>. That is exactly why this TikTok CPM Calculator delivers realistic results by combining CPM, monetized views, and ad value factors instead of misleading average numbers.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#TikTok_CPM_Calculator_explained_in_detail">TikTok CPM Calculator explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#How_much_do_you_earn_on_TikTok_per_1000_views">How much do you earn on TikTok per 1,000 views?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#CPM_vs_RPM_Why_TikTok_does_not_pay_per_view">CPM vs. RPM: Why TikTok does not pay per view</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#How_can_TikTok_ad_earnings_be_estimated_realistically">How can TikTok ad earnings be estimated realistically?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#TikTok_CPM_by_country_Price_and_earnings_comparison">TikTok CPM by country: Price and earnings comparison</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#TikTok_CPM_by_niche_Which_content_pays_better">TikTok CPM by niche: Which content pays better?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#How_the_TikTok_advertising_and_monetization_system_works_in_detail">How the TikTok advertising and monetization system works in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#Requirements_Who_can_see_TikTok_ad_earnings">Requirements: Who can see TikTok ad earnings?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#Gross_vs_net_What_does_the_TikTok_CPM_Calculator_really_show">Gross vs. net: What does the TikTok CPM Calculator really show?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#Frequently_asked_questions_about_the_TikTok_CPM_Calculator_ad_earnings">Frequently asked questions about the TikTok CPM Calculator &#038; ad earnings</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/tiktok/tiktok-cpm-calculator/#Conclusion_When_the_TikTok_CPM_Calculator_is_truly_useful">Conclusion: When the TikTok CPM Calculator is truly useful</a></li></ul></nav></div>

<h2 class="trenner checkbox">How much do you earn on TikTok per 1,000 views?</h2>
<p><strong>The real earnings are reflected by the <b>effective RPM</b> (revenue per 1,000 views). In a realistic scenario, this usually ranges between <span class="positive">$1.50 and $2.30</span> per 1,000 views. This is not a fixed amount, but a range that can vary significantly depending on country, audience, and content type.</strong></p>
<p>Many creators rely on generic claims like “X dollars per 1,000 views.” In practice, these numbers are useless because they ignore that only a portion of views are monetized. What truly matters is not just reach, but how much ad value TikTok assigns to your views.</p>
<div class="beispielbox">
<span class="box-headline">Example:</span></p>
<ul>
<li><b>Views:</b> 1,250,000</li>
<li><b>Effective RPM:</b> $1.60 per 1,000 views</li>
<li><b>Calculation:</b> (1,250,000 / 1,000) × $1.60</li>
<li><b>Estimated earnings (net):</b> <span class="positive">$2,000</span></li>
</ul>
</div>
<p>This represents a realistic average scenario. Depending on niche (e.g. finance or business), viewer country, and watch time, the effective RPM can be significantly higher or lower.</p>
<h3>Overview table: TikTok earnings by views (realistic scenarios)</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Views</td>
<td>United States (UGC)</td>
<td>United States (Business)</td>
<td>Canada (UGC)</td>
<td>Canada (Business)</td>
<td><b>Effective RPM</b></td>
</tr>
<tr>
<td>10,000</td>
<td>$15</td>
<td>$18</td>
<td>$14</td>
<td>$17</td>
<td>1.50 – 2.30</td>
</tr>
<tr>
<td>50,000</td>
<td>$75</td>
<td>$90</td>
<td>$70</td>
<td>$85</td>
<td>1.50 – 2.30</td>
</tr>
<tr>
<td>100,000</td>
<td>$150</td>
<td>$180</td>
<td>$140</td>
<td>$170</td>
<td>1.50 – 2.30</td>
</tr>
<tr>
<td>500,000</td>
<td>$750</td>
<td>$900</td>
<td>$700</td>
<td>$850</td>
<td>1.50 – 2.30</td>
</tr>
<tr>
<td>1,000,000</td>
<td>$1,500</td>
<td>$1,800</td>
<td>$1,400</td>
<td>$1,700</td>
<td>1.50 – 2.30</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> The displayed values represent average estimates for realistic scenarios. Your actual earnings strongly depend on how many of your views are monetized.</p>
<h2 class="checkbox">CPM vs. RPM: Why TikTok does not pay per view</h2>
<p><strong><b>TikTok CPM</b> (cost per mille) refers to 1,000 <b>monetized</b> views. <b>TikTok RPM</b>, on the other hand, shows how much money you effectively earn per 1,000 total views. This is why a high CPM can still result in low earnings if only a small portion of views contains ads.</strong></p>
<p>This is where most confusion around TikTok ad earnings comes from. Creators see a high CPM but underestimate the impact of monetized views. In practice, this metric determines whether 100,000 views generate a few hundred dollars or several thousand.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Example:</span></p>
<ul>
<li><b>Total views:</b> 100,000</li>
<li><b>CPM:</b> $20</li>
<li><b>Monetized views per 1,000:</b> 150 – 500</li>
<li><b>Earnings:</b> from <span class="positive">$300</span> to <span class="positive">$1,000</span></li>
</ul>
</div>
<h3>Table: Impact of monetized views on TikTok earnings</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1 td3 td4 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Total views</td>
<td>Monetized views / 1,000</td>
<td>CPM</td>
<td>Scenario</td>
<td><b>Earnings</b></td>
<td>Effective RPM</td>
</tr>
<tr>
<td>100,000</td>
<td>150</td>
<td>$20</td>
<td>Conservative</td>
<td class="positive">$300</td>
<td>3.00</td>
</tr>
<tr>
<td>100,000</td>
<td>300</td>
<td>$20</td>
<td>Realistic</td>
<td class="positive">$600</td>
<td>6.00</td>
</tr>
<tr>
<td>100,000</td>
<td>500</td>
<td>$20</td>
<td>Optimistic</td>
<td class="positive">$1,000</td>
<td>10.00</td>
</tr>
<tr>
<td>1,000,000</td>
<td>300</td>
<td>$24</td>
<td>Realistic (US)</td>
<td class="positive">$7,200</td>
<td>7.20</td>
</tr>
<tr>
<td>1,000,000</td>
<td>500</td>
<td>$30</td>
<td>Premium niche</td>
<td class="positive">$15,000</td>
<td>15.00</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Remember:</strong> Reach alone does not generate money. What matters is how many of your views are monetized and how much ad value TikTok assigns to them.
</div>
<h2 class="trenner checkbox">How can TikTok ad earnings be estimated realistically?</h2>
<p><strong>For a realistic estimate, you always need three factors: your total views, a plausible RPM range, and the share of monetized views. Only the combination of these values shows how much money TikTok ads can actually generate.</strong></p>
<p>If you also want to analyze live gifts in addition to ad revenue, the <a href="https://creator-cash.com/tiktok/tiktok-coins-calculator/">TikTok Coins Calculator</a> is the perfect complement, as it is based on a completely different payout system.</p>
<h3>TikTok for Business: Why the ad market determines your CPM</h3>
<p><strong>TikTok ad earnings are not created in isolation, but directly from the TikTok advertising market. Through “TikTok for Business,” companies worldwide book campaigns, define audiences, and compete for ad placements. This competition is where CPMs are formed — and where creators indirectly earn their revenue.</strong></p>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app.png" alt="Tiktok App" width="1345" height="890" class="alignnone size-full wp-image-1018" title="TikTok CPM Calculator: See Ad Earnings 51" srcset="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app.png 1345w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app-300x199.png 300w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app-1024x678.png 1024w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app-768x508.png 768w" sizes="(max-width: 1345px) 100vw, 1345px" /><br />
<span class="disclaimer">Source: <a href="https://getstarted.tiktok.com/gofulltiktok" target="_blank" rel="noopener">TikTok for Business</a></span></p>
<p>The more active advertisers are in a region or niche, the higher the TikTok CPM tends to be. Industries like finance, tech, or e-commerce invest significantly more ad budget than classic entertainment content. This explains why views from high-purchasing-power audiences are often worth many times more. For creators, this means CPM is not just about reach, but about how attractive the audience is to advertisers. The TikTok CPM Calculator reflects this relationship by realistically accounting for countries, content categories, and ad value.</p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Why do TikTok CPM and RPM differ so much?</h3>
<p><strong>TikTok ad earnings are not a fixed number, but the result of multiple variables. The most important drivers are the viewer country, the content category, the ad value of the audience, and seasonal effects. That is why the same creator with identical views can earn completely different amounts across countries or niches.</strong></p>
<p>While entertainment content (UGC/Entertainment) often reaches large audiences, the ad value per view is frequently lower. Business, finance, or tech content usually gets fewer views, but is paid significantly better. These differences are reflected in both CPM and effective RPM.</p>
<h2 class="trenner checkbox">TikTok CPM by country: Price and earnings comparison</h2>
<p><strong>TikTok CPM differs massively by country. Advertisers pay much higher prices in high-purchasing-power markets like the United States, Canada, or the United Kingdom than in countries with lower ad budgets. For creators, this means: viewer country is one of the biggest levers for ad earnings.</strong></p>
<p>The following comparison shows typical average values for TikTok ads per 1,000 monetized views. These numbers are for orientation and represent realistic market ranges — not guarantees.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Country</td>
<td>Currency</td>
<td>Typical CPM</td>
<td><b>Context</b></td>
</tr>
<tr>
<td>United States</td>
<td>USD</td>
<td>$18 – $28</td>
<td>Very high ad value, strong demand</td>
</tr>
<tr>
<td>Canada</td>
<td>CAD</td>
<td>$16 – $24</td>
<td>High CPM for English content</td>
</tr>
<tr>
<td>United Kingdom</td>
<td>GBP</td>
<td>£15 – £22</td>
<td>Strong market, comparable to US/Canada</td>
</tr>
<tr>
<td>Australia</td>
<td>AUD</td>
<td>$15 – $23</td>
<td>High purchasing power, solid advertiser demand</td>
</tr>
<tr>
<td>Eastern Europe (EU)</td>
<td>EUR</td>
<td>€6 – €12</td>
<td>Lower ad budgets, weaker demand</td>
</tr>
</table>
</div>
</div>
<p><i>Important:</i> Even with the same CPM, the effective RPM can vary widely if only a portion of views are monetized.</p>
<h3>Country comparison: Why US views are often worth more</h3>
<p><strong>US audiences are considered highly purchase-driven, which is why advertisers are willing to pay higher prices. On top of that, the English-speaking ad market is significantly larger and more competitive than many smaller regional markets.</strong></p>
<p>For creators, this does not automatically mean “switch to English.” But a higher share of international or US views can lift your effective RPM noticeably — even with the same content.</p>
<h2 class="trenner checkbox">TikTok CPM by niche: Which content pays better?</h2>
<p><strong>Besides country, the content niche is the second biggest factor for TikTok ad earnings. Advertisers pay much higher CPMs for audiences with strong purchase intent than for pure entertainment content.</strong></p>
<p>The table below shows typical CPM ranges by content category. It highlights why creators with fewer views in “expensive” niches often earn more than large entertainment accounts.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Content category</td>
<td>Typical CPM</td>
<td><b>Ad value</b></td>
</tr>
<tr>
<td>Entertainment / UGC</td>
<td>$8 – $15</td>
<td>Low to medium</td>
</tr>
<tr>
<td>Lifestyle / Beauty</td>
<td>$10 – $18</td>
<td>Medium</td>
</tr>
<tr>
<td>Gaming</td>
<td>$9 – $16</td>
<td>Medium</td>
</tr>
<tr>
<td>Tech</td>
<td>$15 – $25</td>
<td>High</td>
</tr>
<tr>
<td>Finance / Business</td>
<td>$20 – $35</td>
<td>Very high</td>
</tr>
</table>
</div>
</div>
<h3>Why two creators with the same views earn differently</h3>
<p><strong>Two accounts with 500,000 views each can generate drastically different earnings. One serves a purchase-driven audience with strong advertiser competition, while the other produces viral content that is less attractive from an advertising perspective.</strong></p>
<p>That is exactly why it is risky to compare earnings based on views alone. Only by combining niche, country, and monetization rate do you get a realistic picture.</p>
<div class="infobox">
<strong>Remember:</strong> Reach is replaceable — ad value is not. Creators with a clear niche, strong watch time, and “expensive” audiences achieve significantly higher RPMs long-term.
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="checkbox">How the TikTok advertising and monetization system works in detail</h2>
<p><strong>The <b>TikTok CPM Calculator</b> is based on TikTok’s actual monetization model. Anyone who wants to estimate TikTok ad earnings realistically must understand how TikTok evaluates views, which views are monetized, and how CPM and RPM are derived. Without this basic understanding, even precise numbers from a TikTok CPM Calculator can seem contradictory.</strong></p>
<p>At its core, the system works in multiple stages: videos generate views → TikTok evaluates which of these views are eligible for ads → ads are displayed → this results in a CPM (cost per 1,000 monetized views). The creator then receives their effective RPM, which the <b>TikTok CPM Calculator</b> shows as revenue per 1,000 total views.</p>
<p>Important: TikTok does not make these decisions manually, but algorithmically. Factors such as watch time, video quality, brand safety, and audience profile influence whether and how strongly your views are monetized. That is why a good <b>TikTok CPM Calculator</b> always shows realistic scenarios — not guarantees.</p>
<h3>Which monetization programs influence the TikTok CPM?</h3>
<p><strong>The <b>TikTok CPM Calculator</b> primarily focuses on classic ad revenue generated through TikTok’s own monetization programs. These programs determine whether ads are served and how high the CPM can be.</strong></p>
<ul class="advantage">
<li><strong>Creator Rewards / Creativity Program:</strong> Compensation based on views and watch time</li>
<li><strong>TikTok Pulse:</strong> Premium ads placed next to high-performing videos</li>
<li><strong>In-Feed Ads (indirect):</strong> Influence overall ad value and CPM range</li>
<li><strong>Live gifts:</strong> Separate system, not included in the TikTok CPM Calculator</li>
</ul>
<p>Not every creator is automatically eligible for these programs. The <b>TikTok CPM Calculator</b> therefore intentionally uses realistic average scenarios that apply to the majority of active creators.</p>
<h2 class="trenner checkbox">Requirements: Who can see TikTok ad earnings?</h2>
<p><strong>For the <b>TikTok CPM Calculator</b> to be relevant to your account at all, certain basic requirements must be met. Without them, even high view counts often result in zero ad revenue.</strong></p>
<p>The most important requirements include:</p>
<ul class="numbers">
<li>Consistent video uploads with stable reach</li>
<li>Sufficient video length (usually at least 60 seconds)</li>
<li>High watch time and low drop-off rate</li>
<li>Advertiser-friendly, brand-safe content</li>
<li>Viewers from countries with active ad markets</li>
</ul>
<p>Only when these criteria are met can TikTok effectively serve ads. The <b>TikTok CPM Calculator</b> then helps classify potential earnings realistically — not to make unrealistic promises.</p>
<h3 class="trenner checkbox">How can TikTok RPM be increased strategically?</h3>
<p><strong>RPM is the most important metric in the <b>TikTok CPM Calculator</b>. It shows how much money you actually earn per 1,000 views. Contrary to popular belief, this value is not random — it can be actively influenced.</strong></p>
<ul class="numbers">
<li><strong>Maximize watch time:</strong> Longer retention increases ad eligibility</li>
<li><strong>Monetizable countries:</strong> US, UK, and Tier-1 audiences boost CPM</li>
<li><strong>Clear content niche:</strong> Finance, tech, or business pay more than pure UGC</li>
<li><strong>Optimize video length:</strong> More room for ad placements</li>
<li><strong>Returning viewers:</strong> Increase trust and ad value</li>
<li><strong>Brand safety:</strong> Controversial content can massively reduce CPM</li>
</ul>
<div class="beispielbox">
<span class="box-headline">Example:</span></p>
<ul>
<li>Initial RPM according to TikTok CPM Calculator: $1.60</li>
<li>Optimization: higher watch time + business-focused audience</li>
<li>New RPM: <span class="positive">$3.20</span></li>
<li>At 500,000 views: <span class="positive">+$800</span> additional monthly revenue</li>
</ul>
</div>
<p>This example shows why the <b>TikTok CPM Calculator</b> should always be used in combination with optimization strategies. Numbers alone are meaningless if you do not understand the levers behind them.</p>
<h2 class="trenner checkbox">Gross vs. net: What does the TikTok CPM Calculator really show?</h2>
<p><strong>The <b>TikTok CPM Calculator</b> works with net estimates based on realistic market data. However, this does not represent your final “after-tax” income, but rather earnings before personal taxation.</strong></p>
<p>In the United States, TikTok ad earnings are considered taxable income. Depending on your situation, federal income tax, state tax, or self-employment tax may apply. TikTok itself does not withhold taxes — the <b>TikTok CPM Calculator</b> therefore intentionally reflects platform logic only, not your individual tax situation.</p>
<div class="infobox">
<strong>Note:</strong> If you generate regular or high earnings, you should seek professional tax advice. The values from the TikTok CPM Calculator are for planning purposes, not tax calculation.
</div>
<h2 class="trenner checkbox">Frequently asked questions about the TikTok CPM Calculator &#038; ad earnings</h2>
<h3>Why does the TikTok CPM Calculator show earnings even though I receive no payout?</h3>
<p>Because the calculator estimates potential earnings based on monetized views. If your account is not yet approved for ad monetization, no payouts will occur despite a theoretical CPM.</p>
<h3>At what point does the TikTok CPM Calculator become useful?</h3>
<p>Meaningful estimates usually start at around 50,000 to 100,000 views per month. Below that, CPM and RPM fluctuate too heavily.</p>
<h3>Are 1,000,000 views automatically “a lot of money”?</h3>
<p>No. According to the TikTok CPM Calculator, 1 million views can generate a few hundred dollars or several thousand, depending on RPM and monetization rate.</p>
<h3>Is the TikTok CPM Calculator more accurate than generic online estimates?</h3>
<p>Yes. Generic estimates ignore monetized views, country differences, and content niches. The TikTok CPM Calculator makes these factors transparent.</p>
<h2 class="trenner checkbox">Conclusion: When the TikTok CPM Calculator is truly useful</h2>
<div class="infobox">
<strong>Conclusion:</strong> The TikTok CPM Calculator is most valuable when used as a planning and comparison tool, not as a promise. Creators with a clear niche, strong watch time, and advertiser-friendly content can systematically increase earnings. Anyone focusing only on views will misinterpret the results of the TikTok CPM Calculator.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Want to earn money on TikTok? Get started today:</h3>
Download our free e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="More information">
Information about this tool:

<ul class="post-info">
<li><strong>Name:</strong> TikTok CPM Calculator: See Ad Earnings</li>
<li><strong>Description:</strong> How much money does TikTok ads pay? CPM is usually $0.50–$2.00. This TikTok CPM Calculator shows your real ad earnings.</li>
</ul>

<ul class="post-info">
<li><strong>Author:</strong> Kevin</li>
<li><strong>Published:</strong> January 11, 2026</li>
<li><strong>Last updated:</strong> 13.01.2026</li>
<li><strong>Category:</strong> Tiktok</li>
<li><strong>Reading time:</strong> 11 min.</li>
</ul>

<strong>About the author:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="TikTok CPM Calculator: See Ad Earnings 52"><strong>Kevin - Founder of Creator Cash</strong>
Kevin is an experienced content creator and SEO expert with a focus on the creator economy, social media monetization, and digital revenue streams. He analyzes platforms such as TikTok, Twitch, and YouTube in detail and shares practical calculations, data, and strategies. Through his experience in marketing and creator consulting, he imparts in-depth knowledge with clear added value for creators and brands.</div>

<div class="share-box">
<strong>Share this post:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TikTok Earnings Calculator: Monthly Profit in Dollar</title>
		<link>https://creator-cash.com/tiktok/tiktok-earnings-calculator/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Fri, 09 Jan 2026 13:50:56 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=898</guid>

					<description><![CDATA[How much money can you earn on TikTok per month? Per 1,000 views, the Creator Program pays around €0.70–€2.00. TikTok Earnings Calculator Monthly Profit in Dollar The TikTok Earnings Calculator explained in detail]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-calculator-1024x1024.jpg" alt="TikTok Earnings Calculator" width="1200" height="1200" class="alignnone size-full" title="TikTok Earnings Calculator: Monthly Profit in Dollar 63"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>TikTok Earnings Calculator: Monthly Profit in Dollar</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>How much money can you earn on TikTok per month? Per 1,000 views, the Creator Program pays around €0.70–€2.00.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-earnings-calculator-mobile.png" alt="TikTok Earnings Calculator" width="394" height="410" class="alignnone size-full wp-image-319" title="TikTok Earnings Calculator: Monthly Profit in Dollar 64"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->TikTok Earnings Calculator<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/tiktok/"><!-- SECTION START -->All Tiktok calculators<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->TikTok Earnings Calculator<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Monthly Profit in Dollar<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
/* quick offsets you provided */
@media (min-width:1024px){.tool-content{height:558px!important}}
@media (max-width:1023px){.ttk-filter-label{display:none}}
	
.ttk-range{margin:10px 0 3px}
.tool-char img{height:595px!important}
.tte-card{padding-bottom:4px!important}
.tt-small-card{background:none!important;padding:0!important;border:none!important;margin-bottom:4px}
.tte, .tte *{  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;}
.ttk-sub{font-size:13px!important}
.dd-list{left:-5px}	
	
	/* base */
.tte{max-width:720px;width:100%;margin:12px auto;overflow:hidden}
.tte-row{gap:12px;margin-top:12px}
.tte-card{padding:10px 14px 12px}
.tte-filters{margin-top:0}

/* --- FILTER LABELS: only Country/Currency absolute (own class) --- */
.tte .ttk-filter{margin-bottom:0;height:37px;position:relative}
.tte .ttk-filter-label{position:static;margin-right:10px;white-space:nowrap;font-weight:600}
.tte .tte-abslabel{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0;pointer-events:none}

/* remove extra native selects on desktop (prevents "second box") */
#tte-country-native,#tte-currency-native,#tte-cat-native{display:none!important}

/* category: ensure ONLY ONE visible element (no second box) */
#tte-cat-label{display:none!important} /* remove left label entirely */
#tte-cat-dd{width:100%}

/* category dd align like others */
.tte-cat-dd .dd-selected{width:225px!important;padding-left:4px;margin-left:-15px}
#tte-cat-dd .dd-list{left:0px}

/* grey cards like inputs */
.tte .tte-card{
  background:#f3f4f6;
  border:1px solid #D1D5DB;
  border-radius:7px;
  box-shadow:none;
}

/* views/rpm */
.tte-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tte-big{font-size:21px;font-weight:900;letter-spacing:.1px;line-height:1}
.tte-right{font-size:14px;font-weight:800}
.tte-right.subtle{opacity:.65}
.tte-title{font-size:14px;font-weight:800}
.tte-inline{display:flex;align-items:center;gap:12px}
.tte-miniinput{
  width:88px;border:1px solid #D1D5DB;border-radius:7px;background:#f3f4f6;
  padding:4px 10px!important;font-size:14px;font-weight:900;outline:none
}
.tte-rpmrange{flex:1}

/* row 2: label above + tight grey boxes */
.tte-midlabel{font-size:13.5px;font-weight:600;margin:0 0 6px 2px}
.tte-midbox{
  height:37px;background:#f3f4f6;border:1px solid #D1D5DB;border-radius:7px;
  display:flex;align-items:center;padding:0 8px
}
.tte-midbox .tte-select{
  width:100%;height:35px;border:0;background:transparent;border-radius:7px;
  padding:0 6px;font-weight:800;font-size:13.5px;outline:none
}
.tte-midbox .tte-inline{width:100%;gap:10px}
.tte-midbox .tte-miniinput{
  height:35px;background:transparent;border:0;padding:0 6px;width:60px;
  font-size:14px;font-weight:900
}
.tte-midbox input[type="range"]{flex:1;margin:0}

/* dark results: smaller numbers */
.tte-darkrow{align-items:stretch}
.tte-dark{
  flex:1;background:#0a0a0a;border:1px solid #000;border-radius:10px;
  padding:14px 16px;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12)
}
.tte-dark-title{font-size:14px;font-weight:700;margin-bottom:4px}
.tte-dark-val{font-size:26px;font-weight:800;line-height:1.1}
.tte-dark-val.green{color:#2BE070}
.tte-dark-sub{margin-top:8px;font-size:13px;font-style:italic;opacity:.75;line-height:1.25}
.tte-fees{margin-top:12px}
.tte .is-disabled{opacity:.45;pointer-events:none}
.tte-yellow{border:1px solid #F2D699!important;background:#FDF5E1;color:#000}
.tte-yellow .tte-dark-val{color:#D5A623}
.tte-yellow .tte-dark-sub{color:#A47C0C}
	
.tte-green{border:1px solid #77D991!important;background:#E8F9EB;color:#000}
.tte-green .tte-dark-val{color:#1FAF56}
.tte-green .tte-dark-sub{color:#127C3A}
	

/* mobile */
@media (max-width:760px){
  #tte-country-dd,#tte-currency-dd,#tte-cat-dd{display:none!important}
  #tte-country-native,#tte-currency-native,#tte-cat-native{
    display:block!important;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:16px
  }
  .tte-row{flex-direction:column}
  .tte-row>.ttk-card{min-width:100%}
  .tte-darkrow{flex-direction:column}
  .tte-darkrow .tte-dark{min-width:100%}
}
</style>

<div id="tte-calc" class="ttk tte">
  <!-- TOP FILTERS -->
  <div class="tool-filters ttk-row ttk-filters tte-filters">
    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tte-abslabel">Country</div>
      <div id="tte-country-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <img alt="" width="20" height="15"><span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select country"></ul>
      </div>
      <select id="tte-country-native" aria-label="Select country"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tte-abslabel">Currency</div>
      <div id="tte-currency-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select currency"></ul>
      </div>
      <select id="tte-currency-native" aria-label="Select currency"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label" id="tte-cat-label">UGC/Entertainment</div>
      <div id="tte-cat-dd" class="dd tte-cat-dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name" id="tte-cat-selected">UGC/Entertainment</span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select category"></ul>
      </div>
      <select id="tte-cat-native" aria-label="Select category"></select>
    </div></div>
  </div>

  <!-- ROW 1 -->
  <div class="ttk-row tte-row">
    <div class="ttk-card tte-card">
      <div class="tte-headline"><div class="tte-big" id="tte-views-label">1,250,000</div><div class="tte-right">Views</div></div>
      <input id="tte-views" type="range" min="0" max="10000000" step="10000" value="1250000" class="ttk-range ttk-range-black">
    </div>

    <div class="ttk-card tte-card">
      <div class="tte-headline"><div><span class="tte-title">RPM (earnings per 1,000 views)</span></div><div class="tte-right subtle">by country</div></div>
      <div class="tte-inline">
        <input id="tte-rpm" class="tte-miniinput" type="number" min="0" max="20" step="0.01" value="1.80" aria-label="RPM">
        <input id="tte-rpm-range" type="range" min="0" max="10" step="0.05" value="1.80" class="ttk-range ttk-range-black tte-rpmrange">
      </div>
    </div>
  </div>

  <!-- ROW 2 -->
  <div class="ttk-row tte-row">
    <div class="ttk-card tte-card tt-small-card">
      <div class="tte-midlabel">Monetization</div>
      <div class="tte-midbox">
        <select id="tte-mode" class="tte-select">
          <option value="cp" selected>Creator Program only</option>
          <option value="cp_deals">Creator + Brand deals</option>
          <option value="cp_live">Creator + Livestreams</option>
          <option value="all">All combined</option>
        </select>
      </div>
    </div>

    <div class="ttk-card tte-card tt-small-card" id="tte-deals-card">
      <div class="tte-midlabel">Brand deals per month</div>
      <div class="tte-midbox">
        <div class="tte-inline">
          <input id="tte-deals" class="tte-miniinput" type="number" min="0" max="10" step="1" value="3" aria-label="Brand deals per month">
          <input id="tte-deals-range" type="range" min="0" max="10" step="1" value="3" class="ttk-range ttk-range-black">
        </div>
      </div>
    </div>

    <div class="ttk-card tte-card tt-small-card" id="tte-live-card">
      <div class="tte-midlabel">Livestreams per month</div>
      <div class="tte-midbox">
        <div class="tte-inline">
          <input id="tte-live" class="tte-miniinput" type="number" min="0" max="30" step="1" value="4" aria-label="Livestreams per month">
          <input id="tte-live-range" type="range" min="0" max="30" step="1" value="4" class="ttk-range ttk-range-black">
        </div>
      </div>
    </div>
  </div>

  <!-- DARK RESULTS -->
  <div class="ttk-row tte-row tte-darkrow">
    <div class="tte-dark tte-yellow">
      <div class="tte-dark-title">Estimated revenue (gross)</div>
      <div class="tte-dark-val" id="tte-gross">$0.00</div>
      <div class="tte-dark-sub" id="tte-gross-sub">Creator: $0.00 · Deductions: $0.00</div>
    </div>
    <div class="tte-dark tte-green">
      <div class="tte-dark-title">Estimated profit (net)</div>
      <div class="tte-dark-val green" id="tte-net">$0.00</div>
      <div class="tte-dark-sub" id="tte-net-sub">Effective RPM: 0.00 / 1k</div>
    </div>
  </div>

  <!-- FEES -->
  <div class="tool-results ttk-row ttk-fees tte-fees">
    <div class="ttk-card"><div class="ttk-sub">Tax deduction</div><div class="ttk-fee" id="tte-tax">-$0.00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Payment fee (PayPal / other)</div><div class="ttk-fee" id="tte-pay">-$0.00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Estimated fixed costs</div><div class="ttk-fee" id="tte-cost">-$0.00</div></div>
  </div>
</div>

<script>
(function(){
  const $=id=>document.getElementById(id),root=$('tte-calc'); if(!root) return;

  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',rpm:1.40,deal:330,live:9.0,tax:30},
    {code:'us',name:'USA',cur:'USD',rpm:1.80,deal:450,live:12.0,tax:25},
    {code:'gb',name:'UK', cur:'GBP',rpm:1.60,deal:360,live:10.0,tax:25},
    {code:'fr',name:'FRA',cur:'EUR',rpm:1.30,deal:300,live:8.0,tax:30},
    {code:'it',name:'ITA',cur:'EUR',rpm:1.20,deal:270,live:7.0,tax:30},
    {code:'es',name:'ESP',cur:'EUR',rpm:1.10,deal:240,live:6.0,tax:28},
    {code:'ca',name:'CAN',cur:'CAD',rpm:1.35,deal:330,live:9.0,tax:25},
    {code:'au',name:'AUS',cur:'AUD',rpm:1.30,deal:315,live:8.0,tax:25},
    {code:'nl',name:'NLD',cur:'EUR',rpm:1.25,deal:285,live:7.5,tax:30},
    {code:'br',name:'BRA',cur:'BRL',rpm:0.70,deal:150,live:4.5,tax:25},
    {code:'mx',name:'MEX',cur:'MXN',rpm:0.75,deal:150,live:4.5,tax:25},
    {code:'ph',name:'PHL',cur:'USD',rpm:0.60,deal:135,live:4.0,tax:25},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));
  const CATEGORIES={
    ugc:{label:'UGC/Entertainment',rpmF:1.00,dealF:1.00,liveF:1.00},
    gaming:{label:'Gaming',rpmF:0.95,dealF:0.90,liveF:1.05},
    lifestyle:{label:'Lifestyle',rpmF:1.00,dealF:1.05,liveF:1.00},
    fitness:{label:'Fitness/Health',rpmF:1.05,dealF:1.10,liveF:0.90},
    edu:{label:'Education/How-to',rpmF:1.10,dealF:1.15,liveF:0.85},
    biz:{label:'Business/Finance',rpmF:1.15,dealF:1.25,liveF:0.80},
    beauty:{label:'Beauty/Fashion',rpmF:1.05,dealF:1.20,liveF:1.00},
    tech:{label:'Tech/Reviews',rpmF:1.10,dealF:1.15,liveF:0.90},
  };
  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];
  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;
  const localeFor=cur=>({EUR:'de-DE',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'en-US';
  const fmt=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};
  const fmtIntEN=n=>(Math.round(n)).toLocaleString('en-US');

  const countryDD=$('tte-country-dd'),cBtn=countryDD.querySelector('.dd-selected'),cImg=cBtn.querySelector('img'),cName=cBtn.querySelector('.dd-name'),cList=countryDD.querySelector('.dd-list'),countryNative=$('tte-country-native');
  const currDD=$('tte-currency-dd'),curBtn=currDD.querySelector('.dd-selected'),curName=currDD.querySelector('.dd-name'),curList=currDD.querySelector('.dd-list'),currencyNative=$('tte-currency-native');
  const catDD=$('tte-cat-dd'),catBtn=catDD.querySelector('.dd-selected'),catList=catDD.querySelector('.dd-list'),catNative=$('tte-cat-native'),catSelected=$('tte-cat-selected');

  function openList(btn,list,open){btn.setAttribute('aria-expanded',open?'true':'false');list.style.display=open?'block':'none';if(open) list.focus();}
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
    if(!catDD.contains(e.target)) openList(catBtn,catList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));
  catBtn.addEventListener('click',()=>openList(catBtn,catList,catList.style.display!=='block'));

  const viewsRange=$('tte-views'),viewsLabel=$('tte-views-label'),rpmInput=$('tte-rpm'),rpmRange=$('tte-rpm-range'),modeSel=$('tte-mode'),
        dealsInput=$('tte-deals'),dealsRange=$('tte-deals-range'),liveInput=$('tte-live'),liveRange=$('tte-live-range');
  const dealsCard=$('tte-deals-card'),liveCard=$('tte-live-card'),grossEl=$('tte-gross'),grossSub=$('tte-gross-sub'),
        netEl=$('tte-net'),netSub=$('tte-net-sub'),taxEl=$('tte-tax'),payEl=$('tte-pay'),costEl=$('tte-cost');

  // EN default: USA + USD
  let state={country:'us',currency:'USD',category:'ugc',currencyOverridden:false};

  function buildCountryList(){
    cList.innerHTML='';countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');li.className='dd-item';li.setAttribute('role','option');li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));cList.appendChild(li);
      const opt=document.createElement('option');opt.value=c.code;opt.textContent=c.name;countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML='';currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');li.className='dd-item';li.setAttribute('role','option');li.dataset.val=code;li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));curList.appendChild(li);
      const opt=document.createElement('option');opt.value=code;opt.textContent=code;currencyNative.appendChild(opt);
    });
  }
  function buildCategoryList(){
    catList.innerHTML='';catNative.innerHTML='';
    Object.entries(CATEGORIES).forEach(([key,cfg])=>{
      const li=document.createElement('li');li.className='dd-item';li.setAttribute('role','option');li.dataset.val=key;li.textContent=cfg.label;
      li.addEventListener('click',()=>selectCategory(key,true));catList.appendChild(li);
      const opt=document.createElement('option');opt.value=key;opt.textContent=cfg.label;catNative.appendChild(opt);
    });
  }

  function updateSliderFill(el){const min=+el.min||0,max=+el.max||1,val=+el.value||0;el.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');}
  function clampInt(el,min,max){let v=parseInt(el.value||'0',10);if(isNaN(v)) v=0;v=Math.max(min,Math.min(max,v));el.value=v;return v;}
  function applyAutoRPM(){
    const c=CTRY[state.country]||CTRY.us,k=CATEGORIES[state.category]||CATEGORIES.ugc;
    const auto=c.rpm*k.rpmF;
    rpmInput.value=auto.toFixed(2);
    rpmRange.value=Math.min(+rpmRange.max,auto);
    updateSliderFill(rpmRange);
  }
  function fixedCostsInCountry(views,countryCur){return ((views/10000)*1)*rate('EUR',countryCur);}
  function applyModeUI(){
    const m=modeSel.value,dealsEnabled=(m==='cp_deals'||m==='all'),liveEnabled=(m==='cp_live'||m==='all');
    dealsCard.classList.toggle('is-disabled',!dealsEnabled);
    liveCard.classList.toggle('is-disabled',!liveEnabled);
    if(!dealsEnabled){dealsInput.value=0;dealsRange.value=0;updateSliderFill(dealsRange)}
    if(!liveEnabled){liveInput.value=0;liveRange.value=0;updateSliderFill(liveRange)}
  }

  function selectCountry(code,closeAfter){
    state.country=code;const c=CTRY[code]||CTRY.us;
    cImg.src=`https://flagcdn.com/w20/${code}.png`;cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cName.textContent=c.name;[...cList.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.code===code?'true':'false'));
    countryNative.value=code;
    applyAutoRPM();
    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(val,closeAfter,markOverride){
    state.currency=val;if(markOverride) state.currencyOverridden=true;
    curName.textContent=val;[...curList.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===val?'true':'false'));
    currencyNative.value=val;
    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }
  function selectCategory(key,closeAfter){
    state.category=key;const cfg=CATEGORIES[key]||CATEGORIES.ugc;
    catSelected.textContent=cfg.label;
    [...catList.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===key?'true':'false'));
    catNative.value=key;
    applyAutoRPM();
    if(closeAfter) openList(catBtn,catList,false);
    calc();
  }

  const PAYMENT_FEE_PCT=3;
  function calc(){
    const c=CTRY[state.country]||CTRY.us,k=CATEGORIES[state.category]||CATEGORIES.ugc;
    const views=+viewsRange.value||0,rpm=Math.max(0,+rpmInput.value||0);
    const fx=rate(c.cur,state.currency);

    const creator=(views/1000)*rpm;
    const dealsCount=clampInt(dealsInput,0,10);
    const livesCount=clampInt(liveInput,0,30);

    const gross=creator + (dealsCount*(c.deal*k.dealF)) + (livesCount*(c.live*k.liveF));
    const tax=gross*(c.tax/100);
    const pay=gross*(PAYMENT_FEE_PCT/100);
    const fix=fixedCostsInCountry(views,c.cur);

    const net=Math.max(0,gross-tax-pay-fix);
    const effRpm=views>0?(net/views)*1000:0;

    grossEl.textContent=fmt(gross*fx,state.currency);
    netEl.textContent=fmt(net*fx,state.currency);
    taxEl.textContent='-'+fmt(tax*fx,state.currency);
    payEl.textContent='-'+fmt(pay*fx,state.currency);
    costEl.textContent='-'+fmt(fix*fx,state.currency);

    grossSub.textContent=`Creator: ${fmt(creator*fx,state.currency)} · Deductions: ${fmt((tax+pay+fix)*fx,state.currency)}`;
    netSub.textContent=`Effective RPM: ${(effRpm*fx).toFixed(2)} / 1k`;
  }

  viewsRange.addEventListener('input',()=>{viewsLabel.textContent=fmtIntEN(+viewsRange.value||0);updateSliderFill(viewsRange);calc()});
  rpmInput.addEventListener('input',()=>{let v=Math.max(0,Math.min(20,+rpmInput.value||0));rpmInput.value=v.toFixed(2);rpmRange.value=Math.min(+rpmRange.max,v);updateSliderFill(rpmRange);calc()});
  rpmRange.addEventListener('input',()=>{rpmInput.value=(+rpmRange.value||0).toFixed(2);updateSliderFill(rpmRange);calc()});
  modeSel.addEventListener('change',()=>{applyModeUI();calc()});
  dealsInput.addEventListener('input',()=>{dealsRange.value=clampInt(dealsInput,0,10);updateSliderFill(dealsRange);calc()});
  dealsRange.addEventListener('input',()=>{dealsInput.value=clampInt(dealsRange,0,10);updateSliderFill(dealsRange);calc()});
  liveInput.addEventListener('input',()=>{liveRange.value=clampInt(liveInput,0,30);updateSliderFill(liveRange);calc()});
  liveRange.addEventListener('input',()=>{liveInput.value=clampInt(liveRange,0,30);updateSliderFill(liveRange);calc()});

  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  catNative.addEventListener('change',()=>selectCategory(catNative.value,false));

  buildCountryList();buildCurrencyList();buildCategoryList();

  state.currencyOverridden=false;
  selectCategory('ugc',false);
  selectCountry('us',false);
  selectCurrency('USD',false,false);

  viewsLabel.textContent=fmtIntEN(+viewsRange.value||0);
  updateSliderFill(viewsRange);updateSliderFill(rpmRange);updateSliderFill(dealsRange);updateSliderFill(liveRange);

  applyModeUI();calc();
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-earnings-calculator-tool.png" alt="TikTok Earnings Calculator" width="396" height="538" class="alignnone size-full" title="TikTok Earnings Calculator: Monthly Profit in Dollar 65"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Be honest: this calculator is brilliant</li><li>Tailored to your feedback</li><li>By creators, for creators</li></ul>
</div></div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Tool Erklärung" width="432" height="310" class="alignnone size-full" title="TikTok Earnings Calculator: Monthly Profit in Dollar 66"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>The TikTok Earnings Calculator explained in detail</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Calculator details</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">More info</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Calculator details">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Information about the TikTok Earnings Calculator:</h3>
<p><strong>The <b>TikTok Earnings Calculator</b> estimates your <b>monthly profit (net)</b> based on views (RPM), currency and content category, including additional monetization such as <b>brand deals</b> and <b>livestreams</b>. It doesn’t just show revenue — it also factors in <b>taxes</b>, <b>payment fees</b> (e.g. PayPal) and <b>fixed costs</b> to give you a realistic monthly number.</strong></p>
<p>Many creators search for “How much money do you make on TikTok per month?” — the problem is that most answers only show broad ranges. The calculator above makes it concrete: you select USD as your currency, choose a content category, enter your monthly views and optionally add brand deals and livestreams. You then see exactly how much comes in <b>gross</b> and what’s left <b>net</b> at the end.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#The_TikTok_Earnings_Calculator_explained_in_detail">The TikTok Earnings Calculator explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#How_much_money_can_you_make_on_TikTok_per_month_Realistic_example">How much money can you make on TikTok per month? (Realistic example)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#TikTok_earnings_per_1000000_views_USD">TikTok earnings per 1,000,000 views (USD)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#Additional_TikTok_income_from_brand_deals_livestreams_monthly">Additional TikTok income from brand deals &#038; livestreams (monthly)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#How_much_do_TikTok_influencers_really_earn_a_realistic_perspective">How much do TikTok influencers really earn? (a realistic perspective)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#TikTok_RPM_explained_why_not_all_markets_pay_the_same">TikTok RPM explained: why not all markets pay the same</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#TikTok_categories_which_niches_earn_the_most">TikTok categories: which niches earn the most?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#Brand_deals_per_month_the_real_income_driver">Brand deals per month: the real income driver</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#Livestreams_per_month_bonus_not_foundation">Livestreams per month: bonus, not foundation</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#Monthly_comparison_views_only_vs_full_monetization">Monthly comparison: views only vs. full monetization</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#The_TikTok_earnings_system_explained_in_detail">The TikTok earnings system explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#How_many_followers_do_you_need_to_make_money_on_TikTok">How many followers do you need to make money on TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#Can_you_make_a_living_from_TikTok">Can you make a living from TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-14" href="https://creator-cash.com/tiktok/tiktok-earnings-calculator/#Frequently_asked_questions_about_TikTok_monthly_earnings">Frequently asked questions about TikTok monthly earnings</a></li></ul></nav></div>

<h2 class="trenner checkbox">How much money can you make on TikTok per month? (Realistic example)</h2>
<p><strong>Example (USD · UGC/Entertainment): With <b>2,000,000 views</b>, an average <b>RPM of $1.60</b>, <b>2 brand deals</b> and <b>3 livestreams</b>, this results in an estimated <span class="positive">net profit of $2,450.40</span> per month. Gross revenue is around <b>$3,840.00</b> — after taxes, payment fees and fixed costs, this is a realistic monthly outcome.</strong></p>
<p>Inside the calculator, your monthly earnings are built from several components. The core block is view-based revenue via RPM (earnings per 1,000 views), which varies depending on audience value and category. On top of that come brand deals and livestream income. Finally, realistic deductions are applied so you see your <b>true monthly profit</b>, not just surface-level revenue.</p>
<div class="beispielbox">
<span class="box-headline">Example calculation (USD):</span></p>
<ul>
<li><b>View revenue:</b> 2,000,000 / 1,000 × $1.60 = <b>$3,200.00</b></li>
<li><b>Brand deals:</b> 2 × $300 = <b>$600.00</b></li>
<li><b>Livestreams:</b> 3 × $15 = <b>$45.00</b></li>
<li><b>Estimated gross revenue:</b> $3,200.00 + $600.00 + $45.00 = <b>$3,845.00</b></li>
<li><b>Deductions:</b> Taxes (~25%) = <span class="negative">− $961.25</span>, Payment fees (~3%) = <span class="negative">− $115.35</span>, Fixed costs = <span class="negative">− $318.00</span></li>
<li><b>Estimated net profit:</b> <b class="positive">$2,450.40</b></li>
</ul>
</div>
<h3>What factors influence your TikTok monthly earnings the most?</h3>
<p><strong>The biggest drivers of your monthly profit are <b>RPM</b>, <b>content category</b> and whether you use additional levers like <b>brand deals</b>. Views alone are often not the main income source — partnerships usually scale much better.</strong></p>
<ul class="advantage">
<li><b>RPM:</b> Strongly depends on audience value and advertiser demand.</li>
<li><b>Category:</b> Business/Finance usually pays higher RPMs than pure entertainment.</li>
<li><b>Brand deals:</b> A few partnerships can outperform millions of extra views.</li>
<li><b>Deductions:</b> Taxes, fees and fixed costs define what stays net.</li>
</ul>
<h2 class="checkbox">TikTok earnings per 1,000,000 views (USD)</h2>
<p><strong>With <b>1,000,000 views per month</b>, earnings vary mainly by category. In UGC/Entertainment, around <b>$1,600 gross</b> is realistic, leaving roughly <span class="positive">~$1,050 net</span>. Higher-value categories can push net earnings significantly higher.</strong></p>
<p>The table below uses typical USD-based RPM values and includes realistic deductions (taxes, payment fees, fixed costs). Assumption: <b>1,000,000 views</b>, <b>no brand deals</b>, <b>no livestreams</b>.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Market</td>
<td>Category</td>
<td>RPM ($ / 1,000)</td>
<td>Gross revenue ($)</td>
<td><b>Net profit ($)</b></td>
</tr>
<tr>
<td>USD</td>
<td>UGC / Entertainment</td>
<td>$1.60</td>
<td>$1,600</td>
<td class="positive">~$1,050</td>
</tr>
<tr>
<td>USD</td>
<td>Gaming</td>
<td>$1.45</td>
<td>$1,450</td>
<td class="positive">~$950</td>
</tr>
<tr>
<td>USD</td>
<td>Business / Finance</td>
<td>$1.95</td>
<td>$1,950</td>
<td class="positive">~$1,350</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Takeaway:</strong> High-intent categories like <b>Business / Finance</b> consistently outperform entertainment niches in earnings per view — even at the same view volume.
</div>
<h3>How TikTok earnings from views are calculated (RPM explained)</h3>
<p><strong>The RPM formula is simple: <b>Earnings = (Views / 1,000) × RPM</b>. The key factor isn’t the math — it’s using a realistic RPM. The TikTok Earnings Calculator shows this instantly for USD-based scenarios.</strong></p>
<p>If you know your monthly views, you can quickly estimate base earnings. But to understand real profit, you need to account for <b>deductions</b> and <b>additional income sources</b>. That’s exactly what the calculator does.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Example:</span></p>
<ul>
<li><b>Formula:</b> Earnings = (Views / 1,000) × RPM</li>
<li><b>1,000,000 views at $1.60 RPM:</b> <b>$1,600 gross</b></li>
<li><b>2,000,000 views at $1.60 RPM:</b> <b>$3,200 gross</b></li>
</ul>
</div>
<h2 class="trenner checkbox">Additional TikTok income from brand deals &#038; livestreams (monthly)</h2>
<p><strong>Creator program payouts alone are rarely enough. <b>Brand deals</b> and <b>livestreams</b> significantly increase monthly earnings — especially brand deals, which usually scale better than simply increasing views.</strong></p>
<p><b>Assumption:</b> 1,000,000 views · USD · UGC/Entertainment · realistic global averages.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead" style="width:100%;border-collapse:collapse">
<tr>
<td>Income source</td>
<td>Amount / month</td>
<td>Avg. value ($)</td>
<td><b>Additional revenue ($)</b></td>
</tr>
<tr>
<td>Brand deals</td>
<td>1</td>
<td>$300</td>
<td class="positive">+ $300</td>
</tr>
<tr>
<td>Brand deals</td>
<td>3</td>
<td>$300</td>
<td class="positive">+ $900</td>
</tr>
<tr>
<td>Livestreams</td>
<td>4</td>
<td>$15</td>
<td class="positive">+ $60</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> These are realistic average assumptions. Actual earnings depend on niche, audience quality, deal structure and posting consistency.</p>
<div class="infobox">
<strong>Remember:</strong> Brand deals usually matter more than views. A small but well-positioned creator can outperform a viral account with no monetization strategy.
</div>
<h2 class="trenner checkbox">How much do TikTok influencers really earn? (a realistic perspective)</h2>
<p><strong>The public perception of TikTok earnings is heavily distorted. Many assume that most creators generate five- or even six-figure annual revenues. Reality is far more sober — and the embedded chart makes this very clear.</strong></p>
<p>A large share of all TikTok influencers earn <b>less than $15,000 per year</b>. This means that for the majority, TikTok remains a side project or an irregular source of extra income. Only a relatively small percentage of creators consistently reach income levels comparable to a traditional full-time job.</p>
<p>What’s interesting is not just the distribution itself, but the reasons behind it. High earnings rarely come from views or the creator program alone. Creators in the upper income brackets almost always combine multiple monetization channels: <b>brand deals, affiliate partnerships, and their own products or services</b>. Views act more as a door opener than as the actual revenue source.</p>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-per-month.jpg" alt="Tiktok Earnings per Month" width="763" height="567" class="aligncenter size-full wp-image-889" title="TikTok Earnings Calculator: Monthly Profit in Dollar 67" srcset="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-per-month.jpg 763w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-per-month-300x223.jpg 300w" sizes="(max-width: 763px) 100vw, 763px" /><span class="disclaimer">Source: <a href="https://explodingtopics.com/blog/tiktok-earning-stats" target="_blank" rel="noopener">TikTok Earning Stats Exploding Topics</a></span></p>
<p>This is exactly where the <b>TikTok Earnings Calculator</b> comes in. Instead of showing unrealistic averages, it helps you assess where you realistically stand and which levers you would need to pull to move into the next income bracket. The difference between “under $15,000 per year” and “$3,000 net per month” is almost never talent — it’s structure and monetization strategy.</p>
<div class="infobox">
<strong>Context:</strong> If you want to earn money with TikTok in the long term, it’s more important to understand <b>why most creators earn little</b> than to focus on the few extreme top performers. Sustainable income is built through predictable monthly models — not viral one-off hits.
</div>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Why do TikTok earnings vary so much?</h3>
<p><strong>Because TikTok earnings are not “fixed.” Your monthly profit depends mainly on <b>RPM</b>, <b>content category</b>, your <b>monetization mix</b> (views vs. brand deals vs. livestreams), and your real <b>deductions</b>. Two creators with the same views can end up with hundreds of dollars difference in net profit.</strong></p>
<p>Many creators only compare views — that’s the classic mistake. What really matters is (1) RPM quality, (2) category value, (3) whether brand deals are used as leverage, and (4) how much is lost to taxes, fees and fixed costs. The <b>TikTok Earnings Calculator</b> reflects this reality instead of showing inflated revenue numbers.</p>
<div class="infobox">
<strong>Note:</strong> When comparing “TikTok earnings per month,” always look at <b>net profit</b>, not just gross revenue. Gross numbers are almost always misleading.
</div>
<h2 class="trenner checkbox">TikTok RPM explained: why not all markets pay the same</h2>
<p><strong>RPM (earnings per 1,000 views) varies significantly depending on audience value, advertiser demand, purchasing power and content intent. Even within USD-based markets, RPM can differ greatly based on who is watching your content.</strong></p>
<p>Inside the calculator, you can immediately see how RPM changes affect your monthly earnings. Important: RPM is never guaranteed — it’s a realistic average. Especially in USD-based scenarios, small RPM changes can have a big impact on final profit.</p>
<h3>RPM &#038; monthly earnings comparison (1,000,000 views)</h3>
<p><strong>The table below shows typical RPM ranges and net earnings using the TikTok Earnings Calculator model. Assumption: <b>1,000,000 monthly views</b>, no brand deals, no livestreams, realistic deductions applied.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Market</td>
<td>Example category</td>
<td>Typical RPM ($ / 1,000)</td>
<td>Gross revenue ($)</td>
<td><b>Net profit ($)</b></td>
</tr>
<tr>
<td>USD</td>
<td>UGC / Entertainment</td>
<td>$1.60</td>
<td>$1,600</td>
<td class="positive">~$1,050</td>
</tr>
<tr>
<td>USD</td>
<td>Gaming</td>
<td>$1.45</td>
<td>$1,450</td>
<td class="positive">~$950</td>
</tr>
<tr>
<td>USD</td>
<td>Business / Finance</td>
<td>$1.95</td>
<td>$1,950</td>
<td class="positive">~$1,350</td>
</tr>
</table>
</div>
</div>
<h2 class="trenner checkbox">TikTok categories: which niches earn the most?</h2>
<p><strong>Not all niches are equal. Categories with high purchase intent and strong advertiser demand (such as <b>Business / Finance</b>) usually achieve higher RPMs than pure entertainment or gaming content.</strong></p>
<p>This is critical for creators: optimizing only for reach often leaves money on the table. Creators who combine entertainment with utility, tools or buying intent increase their value per view. The key insight: <b>your category defines how much each view is worth.</b></p>
<div class="beispielbox">
<span class="box-headline">Example (1,000,000 views · USD):</span></p>
<ul>
<li>UGC / Entertainment: RPM $1.60 → Gross $1,600 → Net ~ <span class="positive">$1,050</span></li>
<li>Gaming: RPM $1.45 → Gross $1,450 → Net ~ <span class="positive">$950</span></li>
<li>Business / Finance: RPM $1.95 → Gross $1,950 → Net ~ <span class="positive">$1,350</span></li>
</ul>
</div>
<h2 class="trenner checkbox">Brand deals per month: the real income driver</h2>
<p><strong>For most creators, <b>brand deals</b> are the strongest revenue lever. The key isn’t landing “one random deal,” but building a repeatable system: <b>number of deals × average deal value = monthly upside</b>. The TikTok Earnings Calculator models this exactly.</strong></p>
<p>Even at moderate deal values, brand partnerships can outperform millions of extra views. This is why monetization structure matters more than raw reach.</p>
<h3>Reference table: typical brand deal values (USD)</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead" style="width:100%;border-collapse:collapse">
<tr>
<td>Creator level</td>
<td>Typical views per video</td>
<td>Collaboration type</td>
<td><b>Avg. deal value</b></td>
</tr>
<tr>
<td>Small</td>
<td>10k – 50k</td>
<td>UGC / single post</td>
<td class="positive">$200 – $400</td>
</tr>
<tr>
<td>Mid</td>
<td>50k – 250k</td>
<td>2 posts + usage rights</td>
<td class="positive">$400 – $1,200</td>
</tr>
<tr>
<td>Large</td>
<td>250k – 1M+</td>
<td>Campaign packages</td>
<td class="positive">$1,200 – $5,000+</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Tip:</strong> One solid brand deal can equal the revenue of 1–2 million extra views.
</div>
<h2 class="trenner checkbox">Livestreams per month: bonus, not foundation</h2>
<p><strong>Livestream income works best as a supplement. It depends heavily on community strength, consistency and gifting behavior. In the calculator, livestreams are treated as a conservative monthly average — not a core income pillar.</strong></p>
<p>Because livestream earnings fluctuate strongly, they should be modeled cautiously. For most creators, livestreams stabilize income rather than scale it.</p>
<div class="beispielbox">
<span class="box-headline">Example:</span></p>
<ul>
<li>Avg. earnings per livestream: <b>$15</b></li>
<li>4 livestreams / month: <b class="positive">$60</b> extra</li>
<li>8 livestreams / month: <b class="positive">$120</b> extra</li>
</ul>
</div>
<h2 class="trenner checkbox">Monthly comparison: views only vs. full monetization</h2>
<p><strong>This is the most important comparison: relying on views alone vs. adding monetization layers. The table below shows how brand deals and livestreams change the outcome.</strong></p>
<p><b>Assumption:</b> 1,000,000 views · USD · UGC/Entertainment.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Scenario</td>
<td>Gross revenue ($)</td>
<td><b>Estimated net profit ($)</b></td>
</tr>
<tr>
<td>Views only</td>
<td>$1,600</td>
<td class="positive">~$1,050</td>
</tr>
<tr>
<td>+ 2 brand deals</td>
<td>$2,200</td>
<td class="positive">~$1,550</td>
</tr>
<tr>
<td>+ 3 brand deals</td>
<td>$2,500</td>
<td class="positive">~$1,850</td>
</tr>
<tr>
<td>Brand deals + livestreams</td>
<td>$2,620</td>
<td class="positive">~$1,950</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Takeaway:</strong> Monetization structure beats reach. Creators who systemize brand deals can build predictable monthly income — even without viral spikes.
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------></p>
<p><!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class=" trenner checkbox">The TikTok earnings system explained in detail</h2>
<p><strong>Your monthly TikTok profit is built in several stages: views → RPM → additional monetization → deductions → net profit. Many creators only focus on the first step (views) and underestimate how strongly taxes, fees and monetization strategy affect real monthly income.</strong></p>
<p>The TikTok Earnings Calculator reflects this entire system. It clearly separates <b>gross revenue</b> from <b>net profit</b> and shows which levers you can actively influence. This makes it useful not just for curiosity (“What if?”), but for realistic monthly planning.</p>
<h3>Who gets what share of your TikTok earnings?</h3>
<p><strong>Several deductions apply to your gross revenue: taxes, payment fees (e.g. PayPal) and recurring fixed costs. While exact numbers vary by country, this structure is universal for creators earning in USD.</strong></p>
<p>Many online calculators ignore this layer completely, which leads creators to massively overestimate earnings. That’s why the net perspective is the only meaningful way to evaluate TikTok income.</p>
<div class="beispielbox">
<span class="box-headline">Typical monthly deductions (USD-based):</span></p>
<ul>
<li><b>Taxes:</b> ~20–30% (average creator setup)</li>
<li><b>Payment fees:</b> ~2–3% (PayPal, payment processors)</li>
<li><b>Fixed costs:</b> tools, software, equipment, subscriptions</li>
</ul>
</div>
<h3 class="trenner checkbox">How much stays net? (realistic monthly examples)</h3>
<p><strong>What matters isn’t how much you earn in revenue, but what’s left at the end of the month. The examples below show realistic net outcomes using the TikTok Earnings Calculator model.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Gross revenue / month</td>
<td>Taxes &#038; fees</td>
<td><b>Net profit</b></td>
</tr>
<tr>
<td>$1,600</td>
<td class="negative">~$550</td>
<td class="positive">~$1,050</td>
</tr>
<tr>
<td>$2,500</td>
<td class="negative">~$650</td>
<td class="positive">~$1,850</td>
</tr>
<tr>
<td>$3,800</td>
<td class="negative">~$1,350</td>
<td class="positive">~$2,450</td>
</tr>
</table>
</div>
</div>
<h3 class="trenner checkbox">When does TikTok actually become financially worth it?</h3>
<p><strong>TikTok becomes financially worthwhile once your monthly profit clearly exceeds the time you invest. Many creators ignore this and compare revenue instead of their effective hourly rate.</strong></p>
<p>The calculator helps you compare monthly profit with time spent. Only then can you decide whether TikTok is a side income, a serious business, or still a hobby.</p>
<div class="beispielbox">
<span class="box-headline">Example (time vs. profit):</span></p>
<ul>
<li>30 hours / month → $1,050 net → ~$35/hour</li>
<li>40 hours / month → $1,850 net → ~$46/hour</li>
<li>70 hours / month → $2,450 net → ~$35/hour</li>
</ul>
</div>
<h2 class="trenner checkbox">How many followers do you need to make money on TikTok?</h2>
<p><strong>Followers are not the deciding factor. What actually matters are <b>views</b>, <b>audience quality</b> and <b>monetization</b>. Small but well-positioned accounts can earn more than large accounts without a strategy.</strong></p>
<p>Followers are mainly a trust signal for brands. Monthly earnings depend on reach per video, consistency and conversion potential. That’s why the TikTok Earnings Calculator is view-based, not follower-based.</p>
<h3>Why followers are overrated</h3>
<ul class="advantage">
<li>Views drive RPM income, not follower count</li>
<li>Brand deals are based on performance, not vanity metrics</li>
<li>Niche audiences often convert better than mass audiences</li>
</ul>
<h2 class="trenner checkbox">Can you make a living from TikTok?</h2>
<p><strong>Yes — but only with a clear monetization strategy. View-based payouts alone are rarely enough to support a stable income. Sustainable TikTok income comes from combining views, brand deals and, optionally, livestreams.</strong></p>
<p>The calculator shows which combinations are realistic. Instead of vague statements (“TikTok pays badly”), you get concrete target numbers to work toward.</p>
<h3>Example: $3,000 net per month — what’s realistic?</h3>
<div class="beispielbox">
<span class="box-headline">Possible combination:</span></p>
<ul>
<li>2–3 million views per month</li>
<li>3–5 brand deals ($300–500 average)</li>
<li>Regular but not daily livestreams</li>
</ul>
</div>
<h2 class="trenner checkbox">Frequently asked questions about TikTok monthly earnings</h2>
<h3>How much does TikTok pay per 1,000 views?</h3>
<p>RPM usually ranges between <b>$1.40 and $2.00</b> depending on category and audience quality. Exact values fluctuate and should be treated as averages.</p>
<h3>How stable are TikTok earnings?</h3>
<p>View-based earnings fluctuate significantly. Brand deals provide stability and predictable monthly income.</p>
<h3>Can TikTok earnings be planned?</h3>
<p>Yes, if you treat it like a business. The TikTok Earnings Calculator helps you simulate scenarios and set realistic monthly goals.</p>
<div class="infobox">
<strong>Conclusion:</strong> TikTok earnings are not luck. Creators who understand their numbers, account for deductions honestly and combine monetization streams can build TikTok into a sustainable monthly income source.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Want to earn money on TikTok? Get started today:</h3>
Download our free e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="More info">
Information about this tool:

<ul class="post-info">
<li><strong>Name:</strong> TikTok Earnings Calculator: Monthly Profit in Dollar</li>
<li><strong>Description:</strong> How much money do you earn with TikTok? Around $0.02–$0.04 per 1,000 views. This TikTok Earnings Calculator shows real earnings.</li>
</ul>

<ul class="post-info">
<li><strong>Author:</strong> Kevin</li>
<li><strong>Published:</strong> January 9, 2026</li>
<li><strong>Last updated:</strong> 13.01.2026</li>
<li><strong>Category:</strong> Tiktok</li>
<li><strong>Reading time:</strong> 11 min.</li>
</ul>

<strong>About the author:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="TikTok Earnings Calculator: Monthly Profit in Dollar 68"><strong>Kevin - Founder of Creator Cash</strong>
Kevin is an experienced content creator and SEO expert with a focus on the creator economy, social media monetization, and digital revenue streams. He analyzes platforms such as TikTok, Twitch, and YouTube in detail and shares practical calculations, data, and strategies. Through his experience in marketing and creator consulting, he imparts in-depth knowledge with clear added value for creators and brands.</div>

<div class="share-box">
<strong>Share this post:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TikTok Coins Calculator: Convert Coins to Dollar</title>
		<link>https://creator-cash.com/tiktok/tiktok-coins-calculator/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Fri, 24 Oct 2025 20:07:56 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=435</guid>

					<description><![CDATA[TikTok Coins Calculator: Convert Coins to Dollars How much are 1,000 TikTok Coins worth? 1,000 Coins are $11.71 gross = $3.40 net. The TikTok Coins Calculator shows your earnings. TikTok Coins Calculator All TikTok calculators The TikTok Coins Calculator Convert Coins to Dollars The Tiktok Coins Calculator explained in detail]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-calculator.jpg" alt="Tiktok Coins Calculator" width="1200" height="1200" class="alignnone size-full wp-image-495" title="TikTok Coins Calculator: Convert Coins to Dollar 94" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-calculator.jpg 1200w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-calculator-300x300.jpg 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-calculator-1024x1024.jpg 1024w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-calculator-150x150.jpg 150w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-calculator-768x768.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>TikTok Coins Calculator:<span> Convert Coins to Dollars</span></h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START --><span>How much are 1,000 TikTok Coins worth?</span> 1,000 Coins are $11.71 gross = $3.40 net. The TikTok Coins Calculator shows your earnings.<!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-coins-calculator-mobile.png" alt="TikTok Coins Calculator" width="394" height="410" class="alignnone size-full wp-image-319" title="TikTok Coins Calculator: Convert Coins to Dollar 95"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->TikTok Coins Calculator<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/tiktok/"><!-- SECTION START -->All TikTok calculators<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START -->The TikTok Coins Calculator<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Convert Coins to Dollars<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><div id="ttk-calc" class="ttk">
  <!-- FILTER -->
  <div class="tool-filters ttk-row ttk-filters">
    <!-- Country -->
    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label">Country</div>

        <!-- Desktop: Custom Dropdown -->
        <div id="country-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <img alt="" width="20" height="15"><span class="dd-emoji" style="display:none"></span><span class="dd-name"></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select country"></ul>
        </div>

        <!-- Mobile: Native Select -->
        <select id="country-native" aria-label="Select country"></select>
      </div>
    </div>

    <!-- Currency -->
    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label">Currency</div>

        <!-- Desktop: Custom Dropdown -->
        <div id="currency-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Select currency"></ul>
        </div>

        <!-- INFO TOOLTIP -->
        <div class="tooltip" data-tip="We use average prices per country to simplify results. Actual prices in your app or on the website may vary in your country.">
          <svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M256 0C114.5 0 0 114.5 0 256s114.5 256 256 256 256-114.5 256-256S397.5 0 256 0zm0 476.3c-121.5 0-220.3-98.8-220.3-220.3S134.5 35.7 256 35.7 476.3 134.5 476.3 256 377.5 476.3 256 476.3z"/><path d="M256 213.4c-15.2 0-25.9 6.4-25.9 15.8v128.4c0 8.1 10.8 16.2 25.9 16.2s26.3-8.1 26.3-16.2V229.2c0-9.4-11.8-15.8-26.3-15.8z"/><path d="M256 134.2c-15.5 0-27.6 11.1-27.6 23.9s12.1 24.3 27.6 24.3 27.3-11.5 27.3-24.3-12.1-23.9-27.3-23.9z"/></svg>
        </div>

        <!-- Mobile: Native Select -->
        <select id="currency-native" aria-label="Select currency"></select>
      </div>
    </div>
  </div>

  <!-- TOP INPUTS -->
  <div class="tool-amounts ttk-row">
    <div class="tool-currency-input ttk-card ttk-top">
      <div class="ttk-topbox">
        <input id="coins" class="tool-currency" type="number" min="0" max="9999999" step="50" value="40000">
        <span class="ttk-badge"><img decoding="async" class="ttk-ico" src="https://creator-cash.com/wp-content/uploads/2025/10/icon-tiktok-coin.png" width="30" height="30" alt="icon tiktok coin" title="TikTok Coins Calculator: Convert Coins to Dollar 96"> TikTok Coins</span>
      </div>
    </div>

    <div class="tool-currency-input ttk-card ttk-top">
      <div class="ttk-topbox">
        <input id="diamonds" class="tool-currency" type="number" min="0" max="9999999" step="50" value="20000">
        <span class="ttk-badge"><img decoding="async" class="ttk-ico" src="https://creator-cash.com/wp-content/uploads/2025/10/icon-diamond.png" width="30" height="30" alt="icon diamond" title="TikTok Coins Calculator: Convert Coins to Dollar 97"> Diamonds</span>
      </div>
    </div>
  </div>

  <!-- SLIDER (bar up to 5,000,000 coins) -->
  <input id="range" type="range" min="0" max="2500000" step="50" value="40000" class="ttk-range ttk-range-black">

  <!-- PRICES -->
  <div class="tool-prices ttk-row">
    <div class="ttk-card">
      <div class="ttk-sub">Purchase price for TikTok user</div>
      <div class="ttk-price" id="price">$0.00</div>
      <div class="tool-rabatt ttk-mini ttk-discount">
        <span class="ttk-mini-label">Discount</span>
        <span class="ttk-spin">
          <input id="discount" type="number" min="0" max="12" step="1" value="0" aria-label="Discount in percent">
          <span class="pct">%</span>
        </span>
      </div>
    </div>

    <div class="ttk-card">
      <div class="ttk-sub">Earnings (creator receives)</div>
      <div class="ttk-earn" id="earn">$0.00</div>
    </div>
  </div>

  <!-- FEES -->
  <div class="tool-results ttk-row ttk-fees">
    <div class="ttk-card"><div class="ttk-sub">Tax deduction (<span id="tax-label">19%</span>)</div><div class="ttk-fee" id="fee-tax">-$0.00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Payment fee (2%)</div><div class="ttk-fee" id="fee-pay">-$0.00</div></div>
    <div class="ttk-card"><div class="ttk-sub">TikTok platform fee (50%)</div><div class="ttk-fee" id="fee-plat">-$0.00</div></div>
  </div>
</div>

<style>
  *{box-sizing:border-box}
  .ttk{max-width:720px;width:100%;overflow:visible}
  .ttk-row{display:flex;gap:12px;flex-wrap:wrap}
  .ttk-card{flex:1}
  .ttk-top{padding:0}
  .dd{position:relative}
  .dd-selected{display:flex;align-items:center;justify-content:space-between}
  .dd-list{position:absolute;right:0;top:100%;display:none;z-index:10;list-style:none;margin:0;padding:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px}
  .dd-item{display:flex;align-items:center;gap:10px;padding:6px 10px;cursor:pointer}
  .dd-item img{display:inline-block}
  .ttk-filter{display:flex;align-items:center;justify-content:space-between; cursor:pointer; gap:12px}
  .ttk-topbox{display:flex;align-items:center;justify-content:space-between}
  .ttk-num-in{width:180px}

  /* Native selects (Mobile) – base style */
  #country-native,#currency-native{
    display:none; /* Desktop default: hidden */
    width:100%;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#fff;
    font-size:16px;
  }

  /* --- Slider: black fill + white thumb --- */
  .ttk-range{width:100%;background:transparent;--pct:0%;cursor:pointer}
  .ttk-range-black{-webkit-appearance:none;appearance:none;height:22px}
  .ttk-range-black::-webkit-slider-runnable-track{
    height:8px;
    background:linear-gradient(to right,#0a0a0a var(--pct), #e5e7eb var(--pct));
    border-radius:8px
  }
  .ttk-range-black::-webkit-slider-thumb{
    -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
    background:#fff;border:2px solid #c7c7c7;box-shadow:0 1px 2px rgba(0,0,0,.15);
    margin-top:-6px
  }
  .ttk-range-black::-moz-range-track{height:8px;background:#e5e7eb;border-radius:8px}
  .ttk-range-black::-moz-range-progress{height:8px;background:#0a0a0a;border-radius:8px}
  .ttk-range-black::-moz-range-thumb{
    width:20px;height:20px;border-radius:50%;
    background:#fff;border:2px solid #c7c7c7;box-shadow:0 1px 2px rgba(0,0,0,.15)
  }

  .ttk-spin{display:inline-flex;align-items:center}

  .tool-results .ttk-card{flex:0 1 calc((100% - 24px)/3);min-width:0}

  @media (max-width:760px){
    .tool-filters{flex-direction:column}
    .tool-filters .tool-filter{min-width:100%}
    .tool-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .ttk-card{min-width:0}
    #country-dd,#currency-dd{display:none}
    #country-native,#currency-native{display:block}
  }
  @media (max-width:520px){
    .tool-amounts{flex-direction:column}
    .tool-amounts .ttk-card{min-width:100%}
    .tool-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  }
</style>

<script>
(function(){
  const $ = id => document.getElementById(id);

  // --- Limits: Inputs vs. Slider-Bar ---
  const INPUT_MAX_COINS = 9_999_999;
  const INPUT_MAX_DIAMONDS = 9_999_999;
  const BAR_MAX_COINS = 2_500_000;     // Slider/Bar limit

  // --- Animation Settings (only for initial anim) ---
  const ANIM_DURATION_MS = 1800;
  const REDUCED_MOTION = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

  const COUNTRIES = [
    {code:'de', name:'DEU',        tax:0.19, currency:'EUR', coinPer10k:107.43},
    {code:'us', name:'USA',        tax:0.00, currency:'USD', coinPer10k:117.10},
    {code:'gb', name:'UK',         tax:0.20, currency:'GBP', coinPer10k:90.24},
    {code:'ca', name:'CAN',        tax:0.10, currency:'CAD', coinPer10k:156.85},
    {code:'au', name:'AUS',        tax:0.10, currency:'AUD', coinPer10k:173.46},
    {code:'es', name:'ESP',        tax:0.21, currency:'EUR', coinPer10k:107.43},
    {code:'pt', name:'PT',         tax:0.23, currency:'EUR', coinPer10k:107.43},
    {code:'fr', name:'FRA',        tax:0.20, currency:'EUR', coinPer10k:107.43},
    {code:'it', name:'IT',         tax:0.22, currency:'EUR', coinPer10k:107.43},
    {code:'nl', name:'NL',         tax:0.21, currency:'EUR', coinPer10k:107.43},
  ];
  const CTRY_BY_CODE = Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));
  const CURRENCIES = ['EUR','USD','GBP','CAD','AUD'];
  const FX = {
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90
  };

  const coinsEl = $('coins'), diaEl = $('diamonds'), rng = $('range'), disc = $('discount');
  const priceEl = $('price'), earnEl = $('earn'), taxLbl = $('tax-label');

  // Country DD refs (custom)
  const countryDD = document.getElementById('country-dd');
  const cBtn = countryDD.querySelector('.dd-selected');
  const cImg = cBtn.querySelector('img');
  const cEmoji= cBtn.querySelector('.dd-emoji');
  const cName = cBtn.querySelector('.dd-name');
  const cList = countryDD.querySelector('.dd-list');

  // Currency DD refs (custom)
  const currDD = document.getElementById('currency-dd');
  const curBtn = currDD.querySelector('.dd-selected');
  const curName= curBtn.querySelector('.dd-name');
  const curList= currDD.querySelector('.dd-list');

  // Native selects (mobile)
  const countryNative = document.getElementById('country-native');
  const currencyNative = document.getElementById('currency-native');

  // Default: USA + USD
  let state = { country:'us', currency:'USD', currencyOverridden:false };

  const localeFor = cur => ({EUR:'de-DE',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU'})[cur]||'en-US';
  const fmt = (v, cur) => v.toLocaleString(localeFor(cur), {style:'currency',currency:cur});
  const rate = (from,to)=> FX[`${from}→${to}`] ?? 1;

  function clampDiscount(){
    let v=+disc.value||0;
    disc.value=Math.max(0,Math.min(12,v));
  }
  const codeToEmoji = cc => cc.toUpperCase().replace(/./g,c=>String.fromCodePoint(127397+c.charCodeAt(0)));

  // --- Slider fill calc & set ---
  function updateSliderFill(){
    const min = +rng.min || 0;
    const max = +rng.max || BAR_MAX_COINS;
    const val = +rng.value || 0;
    const pct = ((val - min) / (max - min)) * 100;
    rng.style.setProperty('--pct', pct + '%');
  }

  // Build lists (custom + native)
  function buildCountryList(){
    cList.innerHTML='';
    countryNative.innerHTML='';
    COUNTRIES.forEach((c)=>{
      // Custom
      const li=document.createElement('li');
      li.className='dd-item';
      li.setAttribute('role','option');
      li.dataset.code=c.code;
      li.innerHTML = `
        <img decoding="async" alt="" width="20" height="15"
             src="https://flagcdn.com/w20/${c.code}.png"
             srcset="https://flagcdn.com/w40/${c.code}.png 2x"
             onerror="this.style.display='none';this.nextElementSibling.style.display='inline-block'">
        <span class="dd-emoji" style="display:none">${codeToEmoji(c.code)}</span>
        <span>${c.name}</span>
      `;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      cList.appendChild(li);
      // Native
      const opt=document.createElement('option');
      opt.value=c.code; opt.textContent=c.name;
      countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML='';
    currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      // Custom
      const li=document.createElement('li');
      li.className='dd-item';
      li.setAttribute('role','option');
      li.dataset.val=code;
      li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      curList.appendChild(li);
      // Native
      const opt=document.createElement('option');
      opt.value=code; opt.textContent=code;
      currencyNative.appendChild(opt);
    });
  }

  // Open/close helpers (custom)
  function openList(btn,list,open){
    btn.setAttribute('aria-expanded', open?'true':'false');
    list.style.display = open?'block':'none';
    if(open) list.focus();
  }
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));

  function makeRowClickable(row){
    const dd = row.querySelector('.dd');
    if(!dd) return;
    const btn = dd.querySelector('.dd-selected');
    const list = dd.querySelector('.dd-list');
    row.setAttribute('tabindex','0');
    row.setAttribute('role','button');
    const lbl = row.querySelector('.ttk-filter-label')?.textContent?.trim() || 'Select';
    row.setAttribute('aria-label', lbl + ' menu');
    row.addEventListener('click', (e)=>{
      if (e.target.closest('select') || e.target.closest('.dd-selected') || e.target.closest('.dd-list')) return;
      openList(btn, list, list.style.display !== 'block');
    });
    row.addEventListener('keydown', (e)=>{
      if (e.key === 'Enter' || e.key === ' ') {
        e.preventDefault();
        openList(btn, list, list.style.display !== 'block');
      }
    });
  }
  document.querySelectorAll('.tool-filters .ttk-filter').forEach(makeRowClickable);

  // Selectors (State <-> UI Sync)
  function selectCountry(code, closeAfter){
    state.country=code;
    const cfg=CTRY_BY_CODE[code];
    // Custom visuals
    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cEmoji.textContent=codeToEmoji(code);
    cName.textContent=cfg.name;
    [...cList.children].forEach(li=>li.setAttribute('aria-selected', li.dataset.code===code ? 'true':'false'));
    // Native sync
    countryNative.value = code;

    taxLbl.textContent=Math.round(cfg.tax*100)+'%';
    if(!state.currencyOverridden){
      selectCurrency(cfg.currency,false,false);
    }
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(val, closeAfter, markOverride){
    state.currency = val;
    if(markOverride) state.currencyOverridden = true;
    // Custom visuals
    curName.textContent = val;
    [...curList.children].forEach(li=>li.setAttribute('aria-selected', li.dataset.val===val ? 'true':'false'));
    // Native sync
    currencyNative.value = val;

    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }

  // --- Clamp inputs ---
  function clampInputsSoft(){
    if(+coinsEl.value > INPUT_MAX_COINS) coinsEl.value = INPUT_MAX_COINS;
    if(+diaEl.value   > INPUT_MAX_DIAMONDS) diaEl.value = INPUT_MAX_DIAMONDS;
    if(+coinsEl.value < 0) coinsEl.value = 0;
    if(+diaEl.value   < 0) diaEl.value   = 0;
  }

  function syncFromCoinsImmediate(){
    clampInputsSoft();
    const c = +coinsEl.value || 0;
    diaEl.value = Math.round(c/2);
    rng.value = Math.min(c, BAR_MAX_COINS);
    updateSliderFill();
    calc();
  }

  function syncFromDiamondsImmediate(){
    clampInputsSoft();
    const d = +diaEl.value || 0;
    const c = d*2;
    coinsEl.value = c;
    rng.value = Math.min(c, BAR_MAX_COINS);
    updateSliderFill();
    calc();
  }

  function syncFromRangeImmediate(){
    const v = +rng.value || 0;
    coinsEl.value = v;
    diaEl.value = Math.round(v/2);
    updateSliderFill();
    calc();
  }

  // Calc (unchanged)
  function calc(){
    clampDiscount();
    const cfg=CTRY_BY_CODE[state.country];
    const coins=+coinsEl.value||0;

    const baseInCountry = coins * (cfg.coinPer10k/10000);
    const priceDisplayInCountry = baseInCountry * (1 - (+disc.value||0)/100);

    const feePlatC=baseInCountry*0.50,
          feePayC =baseInCountry*0.02,
          feeTaxC =baseInCountry*cfg.tax;
    const earnC = Math.max(0, baseInCountry - feePlatC - feePayC - feeTaxC);

    const fx = rate(cfg.currency, state.currency);

    priceEl.textContent = fmt(priceDisplayInCountry*fx, state.currency);
    document.getElementById('fee-plat').textContent = '-' + fmt(feePlatC*fx, state.currency);
    document.getElementById('fee-pay').textContent  = '-' + fmt(feePayC*fx,  state.currency);
    document.getElementById('fee-tax').textContent  = '-' + fmt(feeTaxC*fx,  state.currency);
    earnEl.textContent = fmt(earnC*fx, state.currency);
  }

  // --- Initial animation (once) ---
  const easeOutCubic = t => 1 - Math.pow(1 - t, 3);
  function startInitialAnimation(targetCoins, duration = ANIM_DURATION_MS){
    if(REDUCED_MOTION || duration<=0){
      coinsEl.value = targetCoins;
      diaEl.value   = Math.round(targetCoins/2);
      rng.value     = Math.min(targetCoins, BAR_MAX_COINS);
      updateSliderFill();
      calc();
      return;
    }
    const startCoins = 0;
    const delta = targetCoins - startCoins;
    const startTime = performance.now();

    const step = (now)=>{
      const t = Math.min(1, (now - startTime) / duration);
      const v = startCoins + delta * easeOutCubic(t);
      const snapped = Math.round(v/50)*50;
      const coins = Math.max(0, Math.min(INPUT_MAX_COINS, snapped));

      coinsEl.value = coins;
      diaEl.value   = Math.round(coins/2);
      rng.value     = Math.min(coins, BAR_MAX_COINS);
      updateSliderFill();
      calc();

      if(t < 1){
        requestAnimationFrame(step);
      }
    };
    requestAnimationFrame(step);
  }

  // Events (all without animation)
  ['input','change'].forEach(ev=>{
    coinsEl.addEventListener(ev,    syncFromCoinsImmediate);
    diaEl.addEventListener(ev,      syncFromDiamondsImmediate);
    rng.addEventListener(ev,        syncFromRangeImmediate);
    disc.addEventListener(ev,       calc);
  });

  // Init
  coinsEl.max = String(INPUT_MAX_COINS);
  diaEl.max   = String(INPUT_MAX_DIAMONDS);
  rng.max     = String(BAR_MAX_COINS);

  buildCountryList();
  buildCurrencyList();

  // Default selection: USA + USD
  selectCountry('us',false);
  selectCurrency('USD',false,false);

  // Remember initial amount, set to 0, animate once
  const initialTarget = +coinsEl.value || 0;
  coinsEl.value = 0;
  diaEl.value   = 0;
  rng.value     = 0;
  updateSliderFill();
  calc();
  startInitialAnimation(initialTarget, ANIM_DURATION_MS);
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-coins-calculator-tool.png" alt="TikTok Coins Calculator" width="396" height="538" class="alignnone size-full" title="TikTok Coins Calculator: Convert Coins to Dollar 98"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Be honest: this calculator is brilliant</li><li>Tailored to your feedback</li><li>By creators, for creators</li></ul>
</div></div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Coins Tool Explanation" width="432" height="310" class="alignnone size-full" title="TikTok Coins Calculator: Convert Coins to Dollar 99"></p>
<p><!-- ME: H2 und Tab uebersetzen --></p>
<h2>The Tiktok Coins Calculator explained in detail</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Details about the calculator</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">More information</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Details about the calculator">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Information about the TikTok Coins Calculator:</h3>
<p><strong>The TikTok Coins Calculator converts Coins to dollars, as well as TikTok Diamonds to dollars. This lets you compare different coin amounts, countries, and currencies, and calculate the actual creator earnings.</strong></p>
<p>In addition, the TikTok Coins Calculator shows exactly how many Diamonds you get for your Coins, how fees and platform cuts add up, and how the value changes in dollars. Below you’ll learn everything about the TikTok Coins system and how it works in detail. I compiled everything so you can calculate TikTok earnings from Coins perfectly with the tiktok coins calculator.</p>
<p><!-- 

<div class="infobox">Tipp: Schaue dir auch den X Rechner an, der genau ermittelt, x.</div>

 --></p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#The_Tiktok_Coins_Calculator_explained_in_detail">The Tiktok Coins Calculator explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#How_much_does_a_creator_earn_from_1000_TikTok_Coins">How much does a creator earn from 1,000 TikTok Coins?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#Which_TikTok_gifts_exist_and_how_many_TikTok_Coins_do_you_get_for_them">Which TikTok gifts exist and how many TikTok Coins do you get for them?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#TikTok_Coins_price_comparison_by_country">TikTok Coins price comparison by country</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#What_exactly_is_a_TikTok_Coin">What exactly is a TikTok Coin?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#The_TikTok_Coin_and_Diamond_system_explained_in_detail">The TikTok Coin and Diamond system explained in detail</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#What_do_1000_TikTok_Coins_cost_and_what_is_that_worth_to_creators">What do 1,000 TikTok Coins cost and what is that worth to creators?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#How_can_you_buy_TikTok_Coins">How can you buy TikTok Coins?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#How_much_tax_do_TikTok_creators_have_to_pay">How much tax do TikTok creators have to pay?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/tiktok/tiktok-coins-calculator/#Tips_for_creators_how_to_increase_your_stream_earnings">Tips for creators: how to increase your stream earnings</a></li></ul></nav></div>

<h2 class="trenner checkbox">How much does a creator earn from 1,000 TikTok Coins?</h2>
<p><strong>In the United States, 1,000 Coins equal a gross of $11.71. After a 2% payment fee and a 50% TikTok platform share, the creator’s net is about <span class="positive">$5.62</span>. The formula scales linearly to any coin amount.</strong></p>
<p>Based on $117.10 per 10,000 Coins, 1,000 Coins result in a gross of $11.71. As you can see in the TikTok Coins Calculator, deductions are then applied in sequence: payment fee and the TikTok platform share. The result is the net amount the creator actually receives. </p>
<p>Since <strong>buying more Coins often unlocks a bigger discount</strong>, you can set your purchase discount in the calculator above. In this example we calculate without a discount.</p>
<div class="beispielbox">
<span class="box-headline">Example:</span></p>
<ul>
<li>Gross (1,000 Coins): 1,000 × $117.10/10,000 = <b>$11.71</b></li>
<li>Deductions: Payment 2% = <span class="negative">$0.23</span>, TikTok 50% = <span class="negative">$5.86</span></li>
<li>Net to creator: 11.71 − 0.23 − 5.86 = <b class="positive">$5.62</b></li>
</ul>
</div>
<h3>Overview table: how much creators earn from TikTok Coins</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Coin amount</td>
<td>Gross (purchase price)</td>
<td>Tax (0%)</td>
<td>Payment (2%)</td>
<td>TikTok fee (50%)</td>
<td><b>Creator earnings</b></td>
</tr>
<tr>
<td>1,000</td>
<td>$11.71</td>
<td class="negative">− $0.00</td>
<td class="negative">− $0.23</td>
<td class="negative">− $5.86</td>
<td class="positive">+ $5.62</td>
</tr>
<tr>
<td>5,000</td>
<td>$58.55</td>
<td class="negative">− $0.00</td>
<td class="negative">− $1.17</td>
<td class="negative">− $29.28</td>
<td class="positive">+ $28.10</td>
</tr>
<tr>
<td>20,000</td>
<td>$234.20</td>
<td class="negative">− $0.00</td>
<td class="negative">− $4.68</td>
<td class="negative">− $117.10</td>
<td class="positive">+ $112.42</td>
</tr>
<tr>
<td>80,000</td>
<td>$936.80</td>
<td class="negative">− $0.00</td>
<td class="negative">− $18.74</td>
<td class="negative">− $468.40</td>
<td class="positive">+ $449.66</td>
</tr>
</table>
</div>
</div>
<h3>How do you convert TikTok Coins to dollars?</h3>
<p><strong>According to our <b>TikTok Coins Calculator</b>, one TikTok Coin in the United States is about $0.01171 gross. For creators the net matters after deductions: 2% payment fee and a 50% TikTok share. That gives an effective value of roughly $0.00562 per coin.</strong></p>
<p>The conversion is linear and easy to follow. The baseline is a package price of <b>$117.10</b> for 10,000 Coins. Simply multiply your coin amount by <b>$0.01171</b> to get the gross value. Then subtract the usual deductions to arrive at the real net earnings for your account.</p>
<p>The <strong>TikTok Coins Calculator</strong> clearly shows how many <strong>TikTok Coins in dollars</strong> or <strong>TikTok Diamonds in dollars</strong> are actually worth and how fees affect the final creator payout. If you stream frequently or analyze gifts, the <b>tiktok coins calculator</b> is the best tool to estimate your earnings in advance.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Example:</span></p>
<ul>
<li><b>Formula:</b> Dollars = Coins × ($117.10 / 10,000) = Coins × $0.01171 (gross)</li>
<li><b>Deductions:</b> − 0% tax, − 2% payment, − 50% TikTok share</li>
<li><b>10,000 Coins → Gross:</b> $117.1000 → Net ≈ <span class="positive">$56.2080</span></li>
<li><b>1,000 Coins → Gross:</b> $11.7100 → Net ≈ <span class="positive">$5.6208</span></li>
</ul>
</div>
<h2 class="checkbox">Which TikTok gifts exist and how many TikTok Coins do you get for them?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-live-gifts.png" alt="TikTok Live gifts" width="460" height="506" class="alignright size-full wp-image-263" title="TikTok Coins Calculator: Convert Coins to Dollar 100" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-live-gifts.png 460w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-live-gifts-273x300.png 273w" sizes="(max-width: 460px) 100vw, 460px" /><br />
<strong>Each gift has a fixed coin value. Buyers pay in Coins, creators receive a net payout after deductions. Small gifts add cents, big gifts add up quickly. Below you’ll find example values with transparent deductions that you can also verify with the <b>TikTok Coins Calculator</b>.</strong></p>
<p>Coin values for individual gifts can change and vary by region and promotions. The following table shows typical examples for the United States. The baseline is <b>$117.10 per 10,000 Coins</b> (1 Coin = $0.01171 gross). Amounts under $0.01 are shown with four decimals.</p>
<p>The most valuable and expensive TikTok gift is the <strong>TikTok Universe</strong>, which costs 49,999 Coins and has a purchase price of about $585.49 — you can verify this precisely in the <b>TikTok Coins Calculator</b>.</p>
<h3>How many Coins do you get for which TikTok gifts? (overview table)</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1 td3 td4 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Gift</td>
<td>Coins</td>
<td>Gross (USD)</td>
<td>Tax 0%</td>
<td>Payment 2%</td>
<td>TikTok 50%</td>
<td><b>Net to creator</b></td>
</tr>
<tr>
<td>Rose</td>
<td>1</td>
<td>+ $0.0117</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $0.0002</td>
<td class="negative">− $0.0059</td>
<td class="positive">+ $0.0056</td>
</tr>
<tr>
<td>Finger Heart</td>
<td>5</td>
<td>+ $0.0585</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $0.0012</td>
<td class="negative">− $0.0293</td>
<td class="positive">+ $0.0281</td>
</tr>
<tr>
<td>Perfume</td>
<td>20</td>
<td>+ $0.2342</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $0.0047</td>
<td class="negative">− $0.1171</td>
<td class="positive">+ $0.1124</td>
</tr>
<tr>
<td>Love Balloons</td>
<td>100</td>
<td>+ $1.1710</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $0.0234</td>
<td class="negative">− $0.5855</td>
<td class="positive">+ $0.5621</td>
</tr>
<tr>
<td>Galaxy</td>
<td>1,000</td>
<td>+ $11.7100</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $0.2342</td>
<td class="negative">− $5.8550</td>
<td class="positive">+ $5.6208</td>
</tr>
<tr>
<td>Castle</td>
<td>5,000</td>
<td>+ $58.5500</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $1.1710</td>
<td class="negative">− $29.2750</td>
<td class="positive">+ $28.1040</td>
</tr>
<tr>
<td>Ferris Wheel</td>
<td>10,000</td>
<td>+ $117.1000</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $2.3420</td>
<td class="negative">− $58.5500</td>
<td class="positive">+ $56.2080</td>
</tr>
<tr>
<td>Dragon</td>
<td>20,000</td>
<td>+ $234.2000</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $4.6840</td>
<td class="negative">− $117.1000</td>
<td class="positive">+ $112.4160</td>
</tr>
<tr>
<td>Lion</td>
<td>29,999</td>
<td>+ $351.2883</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $7.0258</td>
<td class="negative">− $175.6441</td>
<td class="positive">+ $168.6184</td>
</tr>
<tr>
<td>Universe</td>
<td>49,999</td>
<td>+ $585.4883</td>
<td class="negative">− $0.0000</td>
<td class="negative">− $11.7098</td>
<td class="negative">− $292.7441</td>
<td class="positive">+ $281.0344</td>
</tr>
</table>
</div>
</div>
<p><i>Note:</i> Examples are for orientation and use standard deductions (US: 0% tax, 2% payment, 50% platform). Promotions, discounts, or regional specifics may vary.</p>
<p><strong>Examples of TikTok gifts and their value in TikTok Coins:</strong><br />
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke.jpg" alt="TikTok gifts" width="1192" height="1034" class="alignnone size-full wp-image-333" title="TikTok Coins Calculator: Convert Coins to Dollar 101" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke.jpg 1192w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke-300x260.jpg 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke-1024x888.jpg 1024w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke-768x666.jpg 768w" sizes="(max-width: 1192px) 100vw, 1192px" /></p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Can TikTok creators get special compensation deals?</h3>
<p><strong>The standard payout on TikTok is the same for all creators. Only partners with exclusive agreements—usually agencies or very large profiles—receive slightly different terms. In most cases, the deductions still hover around a 50% platform share.</strong></p>
<p>Earnings from Coins are fundamentally standardized. TikTok converts Coins to Diamonds based on fixed rules, which you can easily calculate above in the TikTok Coins Calculator. Some creator agencies negotiate individual revenue shares, for example for sponsored events or official live campaigns. These special cases affect only a small portion of accounts.</p>
<div class="infobox">
<strong>Note:</strong> Regardless of individual deals, platform-side deductions are standard. Taxes are separate and depend on your local laws in the United States. Differences typically refer only to the internal share between TikTok and partners.
</div>
<h2 class="trenner checkbox">TikTok Coins price comparison by country</h2>
<p><strong>Prices for TikTok Coins differ significantly by country. In Germany a 10,000-coin package is about €107.43, while in the United States it’s about $117.10 (USD). Reasons include regional taxes, exchange rates, and app store fees.</strong></p>
<p>The price spread between countries can be up to 20%. Euro countries tend to be more stable, while countries with volatile currencies show larger deviations. The comparison below uses average package prices for 10,000 Coins. With the TikTok Coins Calculator you can select country and currency above and calculate the values instantly.</p>
<div class="table-container">
<div class="table-wrapper">
<table style="width:100%;border-collapse:collapse" class="tablehead">
<tr>
<td>Country</td>
<td>Currency</td>
<td>Price for 10,000 Coins</td>
<td><b>Price in USD</b></td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/de.png" srcset="https://flagcdn.com/w40/de.png 2x" alt="DE" title="TikTok Coins Calculator: Convert Coins to Dollar 102"> Germany (DEU)</td>
<td>EUR</td>
<td>€107.43</td>
<td>$117.10</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/us.png" srcset="https://flagcdn.com/w40/us.png 2x" alt="US" title="TikTok Coins Calculator: Convert Coins to Dollar 103"> United States (USA)</td>
<td>USD</td>
<td>$117.10</td>
<td>$117.10</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/gb.png" srcset="https://flagcdn.com/w40/gb.png 2x" alt="UK" title="TikTok Coins Calculator: Convert Coins to Dollar 104"> United Kingdom (UK)</td>
<td>GBP</td>
<td>£90.24</td>
<td>$117.31</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/ca.png" srcset="https://flagcdn.com/w40/ca.png 2x" alt="CA" title="TikTok Coins Calculator: Convert Coins to Dollar 105"> Canada (CAN)</td>
<td>CAD</td>
<td>$156.85</td>
<td>$117.64</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/au.png" srcset="https://flagcdn.com/w40/au.png 2x" alt="AU" title="TikTok Coins Calculator: Convert Coins to Dollar 106"> Australia (AUS)</td>
<td>AUD</td>
<td>$173.46</td>
<td>$116.22</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/es.png" srcset="https://flagcdn.com/w40/es.png 2x" alt="ES" title="TikTok Coins Calculator: Convert Coins to Dollar 107"> Spain (ESP)</td>
<td>EUR</td>
<td>€107.43</td>
<td>$117.10</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/pt.png" srcset="https://flagcdn.com/w40/pt.png 2x" alt="PT" title="TikTok Coins Calculator: Convert Coins to Dollar 108"> Portugal (PT)</td>
<td>EUR</td>
<td>€107.43</td>
<td>$117.10</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/fr.png" srcset="https://flagcdn.com/w40/fr.png 2x" alt="FR" title="TikTok Coins Calculator: Convert Coins to Dollar 109"> France (FRA)</td>
<td>EUR</td>
<td>€107.43</td>
<td>$117.10</td>
</tr>
</table>
</div>
</div>
<h3>Country comparison and reasons for price differences</h3>
<p><strong>Price differences arise from VAT/sales taxes, app store fees (Apple/Google), and regional exchange rates. TikTok adjusts these differences periodically so the real value stays roughly consistent worldwide. With the <b>TikTok Coins Calculator</b> you can compare these price differences directly and see where TikTok Coins are cheaper or more expensive.</strong></p>
<p>In most cases the nominal spread comes from tax rates and platform costs. Because Coins are often purchased via in-app purchases, an additional 30% store commission goes to Apple and Google, which indirectly shows up in the final price. The <b>TikTok Coins Calculator</b> takes these factors into account so you get realistic values in dollars.</p>
<p>If you want to track how prices move globally, use the <b>tiktok coins calculator</b> as a quick comparison source. It shows current conversions and helps you understand the most efficient country prices for TikTok Coins.</p>
<p><!--


<div class="related-tools">


<div class="related-tools-title"><span>Übrigens:</span> Das könnte dich auch interessieren:</div>


&#091;tool_list category="tiktok youtube instagram twitch spotify" label_tool="Tool" label_free="Kostenlos" cols="2"&#093;
</div>

 --></p>
<h2 class="trenner checkbox">What exactly is a TikTok Coin?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-300x233.png" alt="TikTok Coins" width="300" height="233" class="alignright size-medium wp-image-276" title="TikTok Coins Calculator: Convert Coins to Dollar 110" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-300x233.png 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins.png 629w" sizes="(max-width: 300px) 100vw, 300px" /><strong>A TikTok Coin is the platform’s internal currency used to buy virtual gifts in livestreams. Coins don’t have a fixed dollar exchange rate; they’re purchased in bundles whose value depends on country, taxes, and platform fees.</strong></p>
<p>Coins are bought through the app store and then stored in the TikTok account. Viewers use them to send gifts during livestreams. After gifting, TikTok automatically converts these Coins to Diamonds in the creator’s account, which can later be cashed out.</p>
<h3>What exactly is a TikTok Diamond?</h3>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-diamonds-300x233.png" alt="TikTok Diamond" width="300" height="233" class="alignright size-medium wp-image-274" title="TikTok Coins Calculator: Convert Coins to Dollar 111" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-diamonds-300x233.png 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-diamonds.png 629w" sizes="(max-width: 300px) 100vw, 300px" /><strong>A Diamond represents the creator’s value from received Coins. TikTok converts Coins at a fixed ratio (1 Diamond = ½ Coin). Diamonds can then be converted to real money and paid out via PayPal or bank transfer.</strong></p>
<p>The gross value of one Diamond is about $0.01171 × 0.5 = $0.005855, before fees. The actual payout depends on platform deductions (2% payment, 50% TikTok) and any applicable taxes in your location. The system prevents abuse and ensures transparent accounting.</p>
<h3 class="trenner checkbox">How many TikTok Coins do you get per livestream?</h3>
<p><strong>Earnings per livestream vary widely: Smaller creators often receive between 500 and 5,000 Coins, mid-sized creators between 10,000 and 50,000 Coins. Large creators with thousands of viewers can reach 100,000 Coins or more per stream.</strong></p>
<p>The actual coin amount depends on viewer count, stream duration, and engagement. Event themes, challenges, and community activity also matter. The overview below uses typical ranges from US livestreams. Net values use the standard US assumptions in the tiktok coins calculator (0% tax, 2% payment, 50% TikTok).</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead" style="width:100%;border-collapse:collapse">
<tr>
<td>Creator type</td>
<td>Viewers (avg.)</td>
<td>Duration (min)</td>
<td>Coins (avg.)</td>
<td><strong>Net earnings (USD)</strong></td>
</tr>
<tr>
<td>Small creator</td>
<td>50 – 100</td>
<td>60</td>
<td>2,000</td>
<td class="positive">+ $11.24</td>
</tr>
<tr>
<td>Mid-sized creator</td>
<td>300 – 500</td>
<td>90</td>
<td>20,000</td>
<td class="positive">+ $112.42</td>
</tr>
<tr>
<td>Large creator</td>
<td>1,000 +</td>
<td>120</td>
<td>100,000</td>
<td class="positive">+ $562.08</td>
</tr>
</table>
</div>
</div>
<h3>How many Coins per month would you need to make a living?</h3>
<p><strong>With a target net income of $2,500 per month you would need about 444,800 Coins. This is based on a net of $0.00562 per Coin after all deductions in the United States.</strong></p>
<p>The math shows that consistent streaming and strong viewer retention are crucial. Only creators with frequent activity and an engaged fanbase reach this level consistently. Treat the value as a practical benchmark for professional creators.</p>
<div class="beispielbox">
<span class="box-headline">Example:</span></p>
<ul>
<li>Goal: $2,500 net</li>
<li>Net per Coin: $0.00562</li>
<li>Required Coins: $2,500 / $0.00562 ≈ <strong>444,800 Coins / month</strong></li>
<li>≈ 14,800 Coins per day (assuming 30 days)</li>
</ul>
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="checkbox">The TikTok Coin and Diamond system explained in detail</h2>
<p><strong>The flow works in two steps: viewers buy Coins → Coins are spent on gifts → creators receive Diamonds. TikTok automatically takes the platform fee before Diamonds can be converted to real money.</strong></p>
<p>A Coin only has value inside the platform, while Diamonds are the billable value for creators. After each transaction TikTok converts internally at 1 Diamond = 0.5 Coins. Only Diamonds can be cashed out to real currency via the payout interface. In the TikTok Coins Calculator you can calculate the exact value of TikTok Coins in dollars or TikTok Diamonds in dollars and see how fees impact the final amount.</p>
<p>We regularly publish new <a href="https://creator-cash.com/tiktok/">TikTok tools for creators to help you grow your earnings</a>, so check out the other tools. The tiktok coins calculator is updated to reflect current U.S. assumptions.</p>
<h3>Who gets how much from 1,000 TikTok Coins?</h3>
<p><strong>At 1,000 Coins ($11.71 gross) TikTok receives $5.86, the creator $5.62, and the remainder $0.23 goes to payment fees. This means roughly 48% of the gross value ends up with the creator.</strong></p>
<p>This split stays stable regardless of coin amount. It is the baseline for all calculations below and a solid default for estimates in the tiktok coins calculator.</p>
<h3>How much does TikTok itself earn from 1,000 Coins?</h3>
<p><strong>TikTok typically takes around 50% of gross as a platform fee. For 1,000 Coins ($11.71) that’s $5.86. TikTok also indirectly benefits from app store fees and exchange pricing.</strong></p>
<p>This share covers servers, payment processing, refunds, and platform infrastructure. It’s broadly comparable to Twitch or YouTube, which use similar revenue splits.</p>
<h2>What do 1,000 TikTok Coins cost and what is that worth to creators?</h2>
<p><strong>1,000 TikTok Coins cost about $11.71 in the United States. With the <b>TikTok Coins Calculator</b> you can adjust amounts dynamically and instantly see how your coin value changes in dollars and Diamonds. After all deductions, the creator receives around $5.62 net. This scales proportionally at larger amounts and shows the real value per coin, which the <b>tiktok coins calculator</b> displays transparently.</strong></p>
<p>The math uses the standard price of $117.10 per 10,000 Coins. After the payment fee (2%) and the TikTok share (50%), about 48% of gross remains for the creator. That yields the net value actually paid out—this is exactly the formula the <b>TikTok Coins Calculator</b> applies for precise results.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Example:</span></p>
<ul>
<li>10,000 Coins → $117.10 gross → <span class="positive">$56.21 net</span></li>
<li>1,000 Coins → $11.71 gross → <span class="positive">$5.62 net</span></li>
<li>1 Coin → $0.01171 gross → <span class="positive">$0.00562 net</span></li>
</ul>
</div>
<p>If you stream regularly, it’s worth using the <b>TikTok Coins Calculator</b> to estimate monthly earnings and find the best timing for donation drives. Creators who check their earnings with the <b>tiktok coins calculator</b> understand their potential better and can optimize streaming strategy.</p>
<h3 class="checkbox trenner">How can you get TikTok Coins?</h3>
<p><strong>TikTok Coins can be purchased directly in the app or on the TikTok website. Sometimes there are bonus promos where Coins are granted as rewards or partial refunds. External purchases outside TikTok are not possible.</strong></p>
<p>Coins are stored in your TikTok account and can only be used within the platform. After purchase they are available immediately and can be spent on gifts during livestreams.</p>
<h3>How are Coins converted to Diamonds?</h3>
<p><strong>Coins earned via gifts are automatically converted to Diamonds. The conversion ratio is 1 Diamond = 0.5 Coins. Only Diamonds can be paid out as real money.</strong></p>
<p>The conversion happens right after the stream. Creators can see their current Diamond balance in the “Balance” area of the profile. Payout can be made via PayPal or bank transfer once the minimum is reached.</p>
<h3 class="trenner checkbox">Are there TikTok influencers who earn a lot from Coins?</h3>
<p><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-reaction.png" alt="TikTok reaction: earning money with Coins" width="376" height="292" class="alignright size-full" title="TikTok Coins Calculator: Convert Coins to Dollar 112"><strong>Yes. Large creators with several million followers often generate four- to five-figure monthly income from Coins. During events, charity streams, or live battles they can hit peaks above $100,000 per month.</strong></p>
<p>These figures come from big audiences, repeat supporters, and tactics like animations or leaderboards.</p>
<p>TikTok also boosts well-known creators via For You placements or special live events, which further increases coin revenue.</p>
<h2 class="trenner checkbox">How can you buy TikTok Coins?</h2>
<p><strong>Coins are purchased via in-app purchases in the TikTok store. Pricing depends on the selected bundle and your local currency. You can pay by credit card, PayPal, Apple Pay/Google Pay, or app store billing.</strong></p>
<p>You can buy Coins directly in the TikTok app or on the official website <a href="https://www.tiktok.com/coin" rel="dofollow noopener" target="_blank">tiktok.com/coin</a>.<br />
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen.jpg" alt="Buy TikTok Coins" width="1134" height="712" class="alignnone size-full wp-image-253" title="TikTok Coins Calculator: Convert Coins to Dollar 113" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen.jpg 1134w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen-300x188.jpg 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen-1024x643.jpg 1024w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen-768x482.jpg 768w" sizes="(max-width: 1134px) 100vw, 1134px" /></p>
<p>After purchase the Coins appear immediately in the user account. Important: refunds or transfers between accounts aren’t possible. All purchases are tied to the respective TikTok account.</p>
<h3>How do you join a TikTok livestream?</h3>
<p><strong>You can open a livestream directly from the TikTok feed. When a creator is live, a red “LIVE” badge appears at the top left. Tap it to enter the stream and chat or send gifts.</strong></p>
<p>Some creators schedule fixed live times, others go live spontaneously. TikTok surfaces popular live content on the For You page, which increases reach.</p>
<h3>How do you send TikTok gifts?</h3>
<p><strong>During a livestream, tap the gift icon in the chat to select a gift. Each gift shows the required coin amount. After sending, the symbol is animated on stream.</strong></p>
<p>Sent gifts are deducted immediately from your coin balance. Creators see them in real time in their stats. The higher the value, the more visible the animation—especially in large streams this boosts engagement.</p>
<h2 class="trenner checkbox">How much tax do TikTok creators have to pay?</h2>
<p><strong>Income from TikTok Coins is generally self-employment income in the United States and subject to federal and possibly state taxes. Depending on your situation, self-employment tax may also apply.</strong></p>
<p>Creators should document earnings fully. For higher amounts, consider professional bookkeeping and guidance. TikTok does not withhold taxes automatically—the responsibility is on the creator.</p>
<div class="infobox">
<span class="box-headline">Example:</span><br />
A creator nets $500 per month from Coins. At a 25% income tax rate, about $375 remains after tax. Additional self-employment or state taxes may apply depending on thresholds.
</div>
<h2 class="trenner checkbox">Tips for creators: how to increase your stream earnings</h2>
<p><strong>Consistent streaming, active communication, and event timing are crucial. Viewers donate more when they feel emotionally engaged and see visible reactions from the creator.</strong></p>
<ul class="numbers">
<li>Set fixed streaming times and stick to them</li>
<li>Thank viewers visibly for every gift</li>
<li>Use challenges or community goals</li>
<li>Set countdowns and donation milestones</li>
<li>React spontaneously and entertainingly to donations</li>
</ul>
<div class="infobox">
<strong>Conclusion:</strong> With a clear grasp of the coin system and strategic interaction, creators can sustainably increase earnings—even without special deals or agency support. The tiktok coins calculator helps you plan and optimize.
</div>
<h3>How creators use live battles and gamification to earn more from streams:</h3>
<p><strong>Many creators increase earnings with gamified elements like leaderboards, battle challenges, and donation goals. These mechanics motivate viewers to send gifts more often and at higher values.</strong></p>
<p>TikTok live battles are short competitions between two creators where viewers award points by sending gifts. The winner gains visibility and prestige—both sides benefit from increased engagement. Many creators pair battles with countdowns, mini-games, or viewer quests.</p>
<ul class="advantage">
<li>Live battles create suspense and competition</li>
<li>Leaderboards and real-time goals drive spontaneous donations</li>
<li>Community goals (e.g., “5,000 Coins in 5 minutes”) increase participation</li>
<li>Regular events strengthen viewer loyalty</li>
</ul>
<div class="infobox">
<strong>Tip:</strong> Creators who actively use gamification often see up to 30% higher earnings per stream because viewers are more engaged and donate more frequently.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Want to earn money on TikTok? Get started today:</h3>
Download our free e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="More information">
Information about this tool:

<ul class="post-info">
<li><strong>Name:</strong> TikTok Coins Calculator: Convert Coins to Dollar</li>
<li><strong>Description:</strong> How much are 1,000 TikTok Coins worth? 1,000 Coins are $11.71 gross = $3.40 net. The TikTok Coins Calculator shows your earnings.</li>
</ul>

<ul class="post-info">
<li><strong>Author:</strong> Kevin</li>
<li><strong>Published:</strong> October 24, 2025</li>
<li><strong>Last updated:</strong> 13.01.2026</li>
<li><strong>Category:</strong> Tiktok</li>
<li><strong>Reading time:</strong> 14 min.</li>
</ul>

<strong>About the author:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="TikTok Coins Calculator: Convert Coins to Dollar 114"><strong>Kevin - Founder of Creator Cash</strong>
Kevin is an experienced content creator and SEO expert with a focus on the creator economy, social media monetization, and digital revenue streams. He analyzes platforms such as TikTok, Twitch, and YouTube in detail and shares practical calculations, data, and strategies. Through his experience in marketing and creator consulting, he imparts in-depth knowledge with clear added value for creators and brands.</div>

<div class="share-box">
<strong>Share this post:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
