Martin Macek

Netlify alternative: what 300 credits actually buys

If you came here looking for Netlify's build-minute cost, there isn't one any more. Netlify's docs say it outright: build minutes are "no longer calculated." Accounts opened on or after 4 September 2025 are billed in credits, and on the Free plan you get 300 credits a month, marked as a hard limit. A production deploy costs 15 credits, bandwidth costs 20 credits per GB, and web requests cost 2 credits per 10,000. That is 20 deploys, or 15 GB of traffic, or some mix - and when the balance hits zero, Netlify pauses every project on the team and visitors get a Site not available page. All checked August 2026.

So the first question isn't which host is cheaper. It's which meter you're actually on.

Check which plan you're on before you read anything else

There are two Netlify billing systems running side by side, and almost every guide you'll find conflates them.

  • Legacy plans - team accounts opened before 4 September 2025. These still have 100 GB of bandwidth and 300 build minutes a month on Free and Starter, 1 TB and 25,000 minutes on Legacy Pro. Nothing was migrated; existing customers "stay on your current legacy plan and price with no forced changes."
  • Credit-based plans - everything opened since, plus anyone who opted in.

The arithmetic: 34 credits per 1,000 page views

Credits are only useful if you can convert them into something you recognise. Take a fairly ordinary static build: about 20 HTTP requests and 1.5 MB transferred per page view - the same unit I used to work out what a static page view costs on Vercel, so the two pages compare.

Per 1,000 page views:

  • 1.5 GB of bandwidth × 20 credits = 30 credits
  • 20,000 web requests at 2 per 10,000 = 4 credits
  • 34 credits per 1,000 page views

Add 8 pushes to main in a month - a modest rate for a site anyone is actually working on - at 15 credits each, and 120 credits are gone before a single visitor arrives.

PlanPriceCredits/moAll bandwidthAll deploysPage views after 8 deploys
Legacy Free (pre-4 Sep 2025)$0100 GB300 build min~67,000
Free$0300, hard limit15 GB20~5,300
Personal$9/mo1,00050 GB66~25,900
Pro$20/mo3,000150 GB200~84,700

Prices and rates checked August 2026; page-view columns are my arithmetic, not Netlify's.

Two things fall out of that table. The current Free plan is roughly an order of magnitude smaller than the legacy one it replaced, for a site that serves traffic. But Pro at $20/month is genuinely competitive: 3,000 credits covers about 85,000 page views, and past that you buy credit packs at 1,500 for $10 - $0.23 per 1,000 page views, cheaper than Vercel's $0.26-$0.39 for the same traffic. On Personal, packs are 500 for $5, so the same traffic costs $0.34 per 1,000. If your site is busy, staying is rational, and Pro's unlimited members make it the cheaper of the two big platforms for a team.

Free is where the shape hurts, because you can't buy your way out of it. The billing FAQ is clear: Free has no option to purchase additional credits - you wait for the next billing cycle or you upgrade. Paused, not throttled.

Deploys are the meter nobody budgets for

Bandwidth scales with success, so people expect it. The 15-credit production deploy is the one that surprises, because it scales with work.

A production deploy is any successful deploy to your primary domain. Deploy Previews and branch deploys cost zero - Netlify's docs describe them as "free deployments for previewing, experimenting, and creating versions of your site/app," which is a genuinely good deal and I'll come back to it. But every typo fix that lands on main is 15 credits, whether the build took nine seconds or nine minutes. Duration is no longer priced at all; the event is.

Put a number on it. At credit-pack rates one production deploy costs about $0.10 on Pro, $0.15 on Personal. Now price the same build somewhere that still meters time: GitHub Actions is free and unlimited on public repositories, and GitHub Free includes 2,000 minutes a month for private ones. A two-minute Vite build is free until you've done a thousand of them, then $0.012 at $0.006/minute for a Linux 2-core runner.

That's an eight-fold difference per deploy on a private repo, and infinite on a public one. Small money either way - but it's why a site that deploys on every commit behaves differently under the two systems. Netlify charges you for shipping; a CI runner charges you for compute, and a static build barely uses any. (If you stay: concurrent builds are an add-on at $40 each on Personal and Pro, with Pro starting at "3+".)

What changed in April 2026, and which direction

Netlify re-rated the meter on 14 April 2026, and the changes went both ways:

MetricBeforeAfter
Bandwidth10 credits/GB20 credits/GB
Compute5 credits/GB-hour10 credits/GB-hour
Web requests3 per 10,0002 per 10,000
Form submissions1 credit eachFree on all credit plans
Pro seats$20 per seatUnlimited, included

Bandwidth doubling is the line that matters here, because bandwidth is 88% of what a static site spends. The same 300 free credits bought 30 GB before that date and buy 15 GB now; against Legacy Free's 100 GB, the effective free allowance for serving a site has fallen by roughly 85% since September 2025. Netlify's CEO framed the seat change honestly enough - "seat pricing made sense for us when software was written by a handful of developers." If you run a team, or a form-heavy site, April 2026 made Netlify cheaper for you. If you run one static site with traffic and no colleagues, it made it more expensive.

If you leave: three Netlify-specific things that stop working

The build output is portable. The Netlify-flavoured bits around it are not, and two of them fail silently.

_redirects / netlify.toml rewrites. The SPA catch-all everyone has - /* /index.html 200 - is a Netlify server directive. Copy your dist/ to any other host and that file is inert: deep links 404 because there's no about.html on disk. This is the single most common "it worked on Netlify" bug. The fix isn't to re-implement the rewrite; it's to stop needing one by pre-rendering each route to a real HTML file, which is also what makes the page indexable without JavaScript.

Netlify Forms. Your <form> has a netlify or data-netlify="true" attribute on it. Netlify's build system strips that attribute and injects a hidden form-name input; nothing else in the web platform does. Off Netlify, the form renders, submits, and goes nowhere. There's no error. Point it at a form endpoint - or, if you're landing on WordPress, at a form plugin - before you cut over, not after.

netlify.toml build config. [build] command and publish are where your real build settings live. Whatever you move to needs those two values.

That last part is the bit I built Parkstatic for. It's a WordPress plugin plus a GitHub Action: the Action builds your repo on GitHub's runners, pre-renders every route to static HTML with headless Chromium, and uploads the result to the WordPress hosting you're already paying for, with version history and one-click rollback. Your netlify.toml values map straight across - command becomes build-command, publish becomes output-dir, and both are optional because the Action auto-detects them:

- uses: ParkStatic/action@main
  with:
    parkstatic-secret: ${{ secrets.PARKSTATIC_SECRET }}
    # only if auto-detection guesses wrong
    output-dir: dist

Pre-rendering is on by default, which is what replaces the _redirects rule. If you deploy on every commit, the Bolt guide walks the same wiring for a project that started life in a browser-based builder - Bolt hands you a Netlify integration by default, so it's a common route out.

Stay on Netlify if…

  • You use Deploy Previews

    Zero credits, unlimited, on every plan including Free. That is a real product, I have nothing like it, and for anyone reviewing work with another human it is worth more than the subscription.

  • You use Netlify Forms

    Free and unlimited on all credit plans since April 2026. Losing that to save $20 a month is a bad trade.

  • You use Functions, Netlify Database, Blob storage, or Agent Runners

    Anything that runs at request time is outside what a pre-rendered build can do. I ship files.

  • You built on Netlify Identity

    After the Auth0 announcement, Netlify reversed course - Identity is staying, confirmed 19 February 2026. If your auth depends on it, it's supported, and migrating it is a real project.

  • Your traffic is global

    Netlify answers from a CDN near your visitor. A shared WordPress host is one origin in one datacentre unless you put a CDN in front of it yourself.

  • You're on a Legacy Free plan

    100 GB and 300 build minutes, and you can never get it back once you leave. Don't move for the sake of moving.

Where the trade does work: one static site, credit-based Free, no forms and no functions, and a WordPress host you're already paying for. That's $0-until-it-pauses versus $108-240 a year versus one flat licence - $29.99 a year or $89.99 once, per site (checked August 2026). The full case for serving a build from WordPress hosting is the long version, and the alternatives hub puts all four hosts side by side, including the two I'd send you to before selling you anything.