Pricing and billing

Markup vs margin calculator

Turn a cost into a price or a price into a cost, and see markup and margin as the two different numbers they are.

Free, no accountIn your browser

Pick whichever number you already have.

What this costs you, before any markup.

How much to add on top of cost, as a percentage of cost.

Try

Result

$10.00 cost · $15.00 price · 33.3% margin

A profit of $5.00 on a $15.00 price.

  • Info

    50.0% markup is a 33.3% margin

    Markup and margin divide the same profit of $5.00 by two different numbers. Markup is profit ÷ cost: $5.00 ÷ $10.00 = 50.0%. Margin is profit ÷ price: $5.00 ÷ $15.00 = 33.3%. The two are only ever equal at 0%.

This sale

Cost
$10.00
Price
$15.00
Profit
$5.00
Markup
50.0%
Margin
33.3%

Price list at $10.00 cost

MarkupPriceMargin
25.0%$12.5020.0%
50.0%$15.0033.3%
100.0%$20.0050.0%

Every row uses the same cost and only changes the markup.

  • This is arithmetic on the numbers entered. It has no idea what a sale actually costs to fulfil, what a competitor charges, or what a customer will pay.

What this is

This markup vs margin calculator starts from whichever number a reseller actually has - a cost, or the price already being charged - and shows both the formula for markup and the formula for margin, because the two percentages describe the same sale and are still never the same number.

Markup is profit divided by cost: it answers "how much did I add on top of what this cost me". Margin is profit divided by price: it answers "what share of what the customer paid is profit". Both describe one sale, but they divide the same profit by two different numbers, so they move apart as the markup gets bigger.

A price list is the same formula run once per chosen markup, all starting from one cost: how a flat percentage policy ("we mark everything up 50%") turns into an actual price a customer sees for every tier being offered.

How to read the result

The headline is the one sale: its cost, its price, its profit, and both percentages next to each other so the gap between markup and margin is visible rather than implied.

The price list table holds the cost fixed and runs through every markup chosen, so the table answers "what would I charge, and what margin would that leave me, at each policy I am considering".

Common mistakes

What goes wrong most often, and how to tell.

  • Using markup and margin interchangeablyA "50% markup" and a "50% margin" are different prices for the same cost: a 50% markup on a $10 cost is a $15 price with a 33.3% margin, while a 50% margin on that same cost needs a $20 price. Confusing the two under- or over-prices every sale by a predictable amount.
  • Thinking margin can reach 100%Margin is profit divided by price, and profit can never exceed the price itself unless the cost is negative, so margin approaches 100% only as cost approaches zero and never actually reaches it for a real product.
  • Building a price list off the price instead of the costA price list should hold the cost fixed and vary the markup, because the point is comparing policies against the one number that does not change. Varying the price instead compares nothing meaningful.
  • Rounding percentages before the moneyRounding a markup percentage first and then computing a price from the rounded figure compounds a small error into every price on the list; this works the other way, rounding cents once the full calculation is done.

Questions

What people ask about this tool.

  • Markup divides profit by cost; margin divides the same profit by price. They describe the same sale from two different starting points and are equal only when there is no profit at all - a 100% markup is always a 50% margin, never a 100% margin.
  • Margin equals markup divided by one plus markup, both as fractions: a 100% markup (1.00) becomes 1.00 ÷ 2.00, which is 50%. The reverse conversion is markup equals margin divided by one minus margin.
  • A margin at or above 100% would mean profit equal to or greater than the price itself, which forces the cost to zero or below - a state no real sale can be in, so the field is capped just under it.
  • Yes. Choose every markup percentage you want in the price list field and the table recalculates all of them from the same cost, which is the fastest way to compare a set of pricing tiers against each other.

Use it from the API

The same check, as one request.

Request
curl -X POST https://resellerhq.com/api/tools/markup-margin-calculator \
  -H "Content-Type: application/json" \
  -d '{"direction":"cost-to-price","cost":10,"markupPercent":50}'
Response
{
  "tool": "markup-margin-calculator",
  "input": {
    "direction": "cost-to-price",
    "cost": 10,
    "markupPercent": 50,
    "price": 15,
    "marginPercent": 33.3,
    "markups": [
      "25",
      "50",
      "100"
    ]
  },
  "result": {
    "verdict": {
      "tone": "success",
      "headline": "$10.00 cost · $15.00 price · 33.3% margin",
      "summary": "A profit of $5.00 on a $15.00 price."
    },
    "findings": [
      {
        "id": "markup-vs-margin",
        "severity": "info",
        "title": "50.0% markup is a 33.3% margin",
        "detail": "Markup and margin divide the same profit of $5.00 by two different numbers. Markup is profit ÷ cost: $5.00 ÷ $10.00 = 50.0%. Margin is profit ÷ price: $5.00 ÷ $15.00 = 33.3%. The two are only ever equal at 0%."
      }
    ],
    "parts": [
      {
        "kind": "facts",
        "title": "This sale",
        "rows": [
          [
            "Cost",
            "$10.00"
          ],
          [
            "Price",
            "$15.00"
          ],
          [
            "Profit",
            "$5.00"
          ],
          [
            "Markup",
            "50.0%"
          ],
          [
            "Margin",
            "33.3%"
          ]
        ]
      },
      {
        "kind": "table",
        "title": "Price list at $10.00 cost",
        "columns": [
          "Markup",
          "Price",
          "Margin"
        ],
        "rows": [
          [
            "25.0%",
            "$12.50",
            "20.0%"
          ],
          [
            "50.0%",
            "$15.00",
            "33.3%"
          ],
          [
            "100.0%",
            "$20.00",
            "50.0%"
          ]
        ],
        "mono": [
          1
        ],
        "note": "Every row uses the same cost and only changes the markup."
      }
    ],
    "limits": [
      "This is arithmetic on the numbers entered. It has no idea what a sale actually costs to fulfil, what a competitor charges, or what a customer will pay."
    ]
  }
}

See the same wholesale prices this calculator works from, in your own dashboard.

Get started

Company names and logos are trademarks of their owners, shown only to identify each service.