Skip to content

How we calculate your bill

A ranked number is the result of a published plan price and the scenario shown beside it. This page gives the same formulas the calculator uses so the bill can be recomputed without trusting the ranking.

Last updated:

What is being compared

Each listed price belongs to one purchasable plan. A scenario supplies the workload kind, vCPU and RAM per instance, total persistent storage, monthly internet egress, instance count, billable hours, region, public IPv4 need, load-balancer need, and seat count. The default scenario is one always-on container instance with 2 vCPU, 4 GB RAM, no persistent storage, 100 GB monthly egress, any region, public IPv4, no load balancer, and one seat.

Eligibility is checked before price. The workload kind must match the plan boundary, the plan must serve the selected region, and its published vCPU and RAM must meet or exceed the request. An unknown resource allocation fails closed when the scenario asks for that resource. The main table keeps the cheapest complete qualifying plan from each vendor and leaves the rest of that vendor's qualifying ladder on its provider page.

This is a price dataset, not a deployment compatibility database. It knows what a provider charges and performs a narrow boundary check for container, static, or database workloads. It does not know runtime support, deploy method, persistent-disk behavior, background-worker support, cron, WebSockets, private networking, or CPU performance. Captured orderability can remove an unavailable plan from ranking, while uncaptured orderability remains visibly unknown. That is why the first row is called the lowest complete infrastructure bill, never the winner.

How every bill line is calculated

The scenario bill is the rounded sum of every applicable line below. Charges are in US dollars per month. A line is omitted when the scenario does not request it and the plan does not require it. If a mandatory rate is missing, the total stays unknown and cannot rank.

For the transfer line, the egress explanation and worked example shows why included traffic is subtracted before the overage rate is applied.

  • Compute for an always-on monthly plan = monthly plan price x instance count. The monthly rate is used when run time is 730 hours or more.
  • Compute for a plan with an hourly rate = hourly price x monthly run time x instance count.
  • Compute for a monthly plan used less than 730 hours = monthly plan price x instance count. Stopping early does not prorate a monthly subscription.
  • Compute for a paid plan billed on usage credit, such as Railway Hobby or Pro = unknown. Those plans bill the CPU and memory your service actually uses against a monthly minimum, and the scenario does not record that use, so the plan shows its minimum and no total.
  • Platform fee = the mandatory monthly account fee once, not once per instance.
  • Additional seats = seats above the included count x the monthly price for each extra seat.
  • Additional storage = requested persistent storage above the included amount x the monthly price for each extra GB. Only a VPS disk or an attached network volume counts as included: a platform instance's local disk and a Kubernetes worker's disk are not persistent storage, so there the whole request is priced as a persistent volume.
  • Transfer overage = internet transfer above the included allowance x the price for each billable GB. Whether a VPS allowance grows with the number of servers is each provider's own rule, listed in the table below this list: some give every server its own allowance or pool them, others give one allowance per account. A platform's account allowance is applied once. Where the provider states its allowance and rate per GiB (DigitalOcean, Google Cloud), your GB are converted to GiB first (1 GiB is about 1.074 GB). Google Cloud, Microsoft Azure and AWS lower the rate in bands of the month's total transfer, so each band is priced at its own published rate; Azure's egress above 500 TB, which Microsoft quotes on request, leaves the total unknown. Every calculator on this site prices servers that run the whole 730-hour month. For a shorter run, a DigitalOcean Droplet earns its allowance by the hour (all of it after 672 hours); where another provider's allowance belongs to the server and its rule for a shorter run is not published, the total stays unknown.
  • When the provider does not charge transfer by the GB, the transfer line has zero cost only while the request stays inside a known published limit. An unknown limit blocks the total. Above a limit, a throttle, soft limit, or hard stop changes the workload and blocks ranking rather than becoming free transfer.
  • Managed Postgres = a linked managed-database plan and price when the scenario requests it. The current compute plans have no such linkage, so the stateful preset returns an explicit unknown database line and no ranked compute-only total.
  • Public IPv4 = the provider's charge for an address when the workload needs one and the plan does not include it: one address per instance: the published monthly charge x instances, or, where the provider bills by the hour (OVHcloud), the hourly rate x billable hours x instances. A monthly address charge counts the whole month even when the server runs fewer hours, because an address you keep still bills while the server is off.
  • Attached local storage = where a provider bills the disk that comes with an instance separately (OVHcloud b3, c3 and r3), the disk size x the per-GB hourly rate x billable hours x instances. It is charged even when you ask for no extra storage, because the disk comes with the instance.
  • Kubernetes control plane = the published control-plane charge for every Kubernetes plan. Zero cost is accepted only when the provider states that the control plane is free.
  • Load balancer = the monthly price of each load balancer the scenario requests x their number.
  • Mandatory support = the required monthly support charge when the provider makes it compulsory.
  • Complete total = round to cents after summing all applicable known lines. A sum of known lines is shown for diagnosis when another line is unknown, but it is not a total and does not rank.
  • Promotional renewal total = complete first-term total - first-term compute + monthly renewal price x instance count. It is shown separately from the first-term bill.
How each provider's included transfer counts when you run more than one server
ProviderAllowanceWhat its page says
Akamai Connected Cloud Each server adds to one pool Each Linode adds its allowance to the account's network transfer pool (newer regions keep their own pool). techdocs.akamai.com
AWS EC2 One per account EC2's 100 GB of free transfer is one allowance per account, shared across all AWS services and regions. aws.amazon.com
AWS Lightsail Each server adds to one pool Lightsail adds up the allowances of instances on the same plan in the same region. aws.amazon.com
Contabo Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. contabo.com
DigitalOcean Each server adds to one pool Each Droplet adds its allowance to one transfer pool for your team. docs.digitalocean.com
Google Cloud One per account The first GiB of internet transfer each month is free once per account, not per VM. cloud.google.com
GreenCloudVPS Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. greencloudvps.com
Hetzner Each server has its own Each server has its own included traffic. docs.hetzner.com
HostBrr Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. my.hostbrr.com
Hostinger Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. hostinger.com
IBM Cloud Not stated, so counted once IBM's public pages we could read do not say whether its 5 GB is per server or per account, so we count it once. cloud.ibm.com
Kamatera Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. kamatera.com
Leaseweb Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. shop-api.leaseweb.com
Microsoft Azure One per account The first 100 GB a month is a band of the account's monthly transfer, not an allowance per VM. azure.microsoft.com
OneProvider Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. oneprovider.com
Oracle Cloud One per account The first 10 TB a month of outbound transfer is a band of the account's monthly transfer, not an allowance per instance. oracle.com
RareCloud Each server has its own Each plan lists its own monthly transfer, so every server you add brings its own allowance. rarecloud.io
Tencent Cloud Each server has its own Each Lighthouse bundle includes its own monthly data transfer package. tencentcloud.com
Vultr Each server adds to one pool Each instance adds its monthly bandwidth to one pool for the account. Vultr also adds 2 TB free per account, which our bills do not count yet. docs.vultr.com

The four kinds of price

Price state controls whether a plan is allowed into the price order. A complete bill must also have no unknown mandatory line. Passing one test does not bypass the other.

  • Published: the vendor prints the plan price. It may rank after every applicable bill line is known.
  • Derived: every input is public and the plan includes a human-checkable formula and its inputs. It may rank after every applicable bill line is known.
  • Scenario required: the cost depends on usage, requests, seats, credits, or another input the visitor has not supplied. It never ranks. The row names the missing input and asks for it.
  • Quote: no public source exposes a reproducible total. It never ranks. The row points to the vendor's quote path and names what is missing.
  • Ranked rows are sorted by complete scenario total from low to high. Scenario-required, quote, and incomplete rows sit below every ranked row in stable vendor order, never between priced rows.

Where prices come from

Each price cites the provider pricing, product, documentation, or terms page where the fact is printed. A provider homepage is not sufficient evidence for a price. The source link is the page to check, and the checked date says when that page was read.

A non-USD price keeps the source amount, source currency, exchange rate, exchange-rate source, and exchange-rate date. A calculated price keeps its formula and named inputs. Promotional plans show the renewal monthly price, and commitment plans show the commitment length when it is known.

What happens when something is unknown

An unknown is never treated as free. If compute, storage overage, transfer overage, IPv4, Kubernetes control plane, or a requested load balancer lacks a required rate, the total stays unknown. The bill shows the sum of known lines for diagnosis, marks the row incomplete, and removes it from ranking.

Unknown eligibility is stricter. A plan with no published vCPU or RAM is excluded when the scenario requests that resource. A plan with no confirmed regions is excluded from a specific-region scenario. Every exclusion carries a reason.

An unknown included-transfer allowance is never converted to zero. It blocks a positive-transfer total because the calculator cannot prove the request is inside a usable allowance. Published throttles, soft limits, and hard stops also block any scenario that exceeds the stated limit.

What the dates mean

The source-checked time belongs to one plan and says when its cited page was read. A separate availability time says when stock or orderability was checked. The date the facts were combined does not make an older provider check newer.

Prices were first recorded on 25 and 26 July 2026 and have been rechecked since. Every price shows the date we last confirmed it, and the downloadable status file gives the oldest of those dates.

Every page carries a "Prices checked" date. Rankings use the source evidence available on that date; prices and availability are not confirmed live, so confirm the plan on the provider's own page before you buy.

What is not in the headline

The bill does not currently add taxes, optional support, negotiated discounts, migration cost, exit work, backups, team labor, inter-region transfer, request charges that depend on usage you have not entered, storage IOPS, or regional capacity risk. A requested managed Postgres component is material: because compute-to-database linkage is not available, it is an explicit unknown line that prevents a compute-only total from ranking.

Team cost is off by default because it is not a provider charge and the site has no defensible universal salary or operations-hours assumption. A review of eleven tools found that AWS Pricing Calculator, Google Cloud Pricing Calculator, Azure Pricing Calculator, Judoscale, LearnKube, Infracost, S3Compare, CostStorage, and LearnAWS estimate configured provider charges, while Vantage and CloudZero analyze actual provider spend. None adds the buyer's labor to the default provider bill. Team economics belong in a separate opt-in calculation with a rate and hours entered by the buyer, and they must not reorder the infrastructure table.

How corrections are handled

Corrections to a source fact, formula, price state, region, or plan mapping are dated and flow into a newly assembled set. The provider, product family and plan identity are kept together, so a correction changes the intended offer rather than every plan from that provider.

A historical receipt should retain its scenario, provider source, and checked date. If a recalculation disagrees with a displayed number, the displayed number is wrong and should be reported with the page URL, scenario, and provider source.

Find a tool or provider

Compare hosting costsToolVPS price comparisonToolFree VPS hosting offersToolDocker hosting: PaaS, VPS or serverlessToolPaaS pricing calculatorToolKubernetes cost calculatorToolChoose a cloud regionToolBare metal vs cloud cost crossoverToolAI inference routing by workloadToolMCP hosting by trust boundaryToolSupabase vs Neon for managed PostgresToolFree Docker hosting: what each tier allowsToolFree web app hosting: what breaks firstToolStorage-heavy VPS plansGuideWindows VPS hostingGuideHosting for high-egress workloadsGuideCheapest production-ready Docker hostingGuideAPI and backend hostingGuideStatic and front-end hostingGuideDevelopment vs production high-availability costGuideUS, UK and EU hosting regionsGuideHosting alternativesGuideVercel alternativesGuideRailway alternativesGuideRender alternativesGuideAll hosting providersProviderHosting price glossaryTermAkamai Connected CloudProviderAkamai Cloud (Linode)ProviderAlibaba CloudProviderAmazon Web ServicesProviderBack4appProviderCivoProviderClever CloudProviderCloud 66ProviderCloudflare PagesProviderCloudflare WorkersProviderContaboProviderDeno DeployProviderDigitalOceanProviderFirebase HostingProviderFly.ioProviderGitHub PagesProviderGoogle CloudProviderGreenCloudVPSProviderHerokuProviderHetznerProviderHostBrrProviderHostingerProviderIBM CloudProviderIONOSProviderKamateraProviderKoyebProviderLeapcellProviderLeasewebProviderMicrosoft AzureProviderNeonProviderNetcupProviderNetlifyProviderNorthflankProviderOneProviderProviderOracle CloudProviderOVHcloudProviderPlatform.shProviderPorterProviderPythonAnywhereProviderQoveryProviderRailwayProviderRareCloudProviderRenderProviderReplitProviderScalewayProviderSevallaProviderSupabaseProviderTencent CloudProviderUpCloudProviderUpsunProviderVercelProviderVultrProviderZeaburProviderData egressTermData ingressTermInter-AZ transferTermInter-region transferTermIncluded data transferTermPooled data transferTermEgress overageTermUnmetered transferTermShared vCPUTermBurstable vCPUTermDedicated vCPUTermCPU creditsTermControl plane feeTermWorker nodeTermLoad balancer costTermBlock storageTermObject storageTermEphemeral storageTermStorage overageTermPublic IPv4TermScale to zeroTermCold startTermMinimum billable durationTermAlways-on minimumTermPromotional vs renewal pricingTermCommitted use and reserved instancesTermPlatform feeTermPer-seat pricingTermBYOCTermList, calculated, usage-based and quote pricesTermHow we calculate your billAbout