Your Vercel bill for your first project is zero. For your first commercial project with a three-person team, it's already $60 a month for seats alone, before anyone counts data transfer, function invocations, and CPU time. That's why the question "Next.js on Vercel or on your own server" comes up in every company whose app has started making money.
In this guide, we compare both options honestly: what exactly you pay on Vercel, what works the same way on your own server, what to expect after migration, and when it's better to stay where you are.
Table of contents
- How much does Vercel really cost in 2026?
- What does Next.js on your own server mean?
- Do all Next.js features work outside Vercel?
- Cost comparison: teams of 1, 3, and 5 people
- When should you stay on Vercel?
- How to migrate Next.js from Vercel step by step
- Summary
- FAQ
How Much Does Vercel Really Cost in 2026?
Vercel has three plans. According to the price list on vercel.com (as of October 2026, prices in net dollars):
| Plan | Price | What it includes | Beyond the limit |
|---|---|---|---|
| Hobby | 0 USD | 100 GB of bandwidth, 1 million CDN requests, 1 million function invocations, 4 hours of active CPU time per month | No overage charges, the project is paused |
| Pro | 20 USD per developer seat / month | 1 TB of bandwidth, 10 million CDN requests, usage credit | From 0.15 USD per GB of bandwidth, from 2 USD for each additional 1 million requests, from 0.60 USD per 1 million function invocations, from 0.128 USD per CPU hour |
| Enterprise | Custom quote | SLA, support, security | Negotiable |
There are two things that are easy to miss.
The Hobby plan is for private projects. Vercel's terms do not allow commercial use. Under its terms, a company website, an online store, or an app for a client requires the Pro plan, even if traffic stays within the free limits.
Pro grows with both your team and your traffic. Each person who deploys code adds another 20 USD. On top of that comes usage: bandwidth, requests, and serverless function execution time. For a website with lots of images or an app that does a lot of server-side rendering, the bill can change from month to month. This unpredictability is the most common reason for switching, not the base price itself.
What Does Running Next.js on Your Own Server Involve?
Next.js is an open-source framework. Vercel develops it, but you can run the application anywhere Node.js works. The setup is straightforward:
npm run buildbuilds the application,npm start(that is,next start) runs the Node server on the selected port,- the web server (usually nginx) handles traffic from your domain, terminates SSL, and forwards requests to the Node process,
- a process manager (supervisor, systemd, or pm2) makes sure the application comes back up after a failure and after the machine restarts.
With a regular VPS, you configure all of this yourself: install Node, write the nginx configuration, obtain a Let's Encrypt certificate, set up automatic renewal, and write a deployment script. That's a few hours of work up front and ongoing monitoring later.
With Saplo, the whole setup is ready to go. The Next.js recipe in the App catalog does exactly what we described above: installs dependencies, builds the application, runs npm start under supervisor with automatic restarts, and configures nginx with an SSL certificate for your domain. Every Box is a separate container, so your application does not share processes with other sites.
Do all Next.js features work outside Vercel?
Most of them do. This is the most common concern, and it's worth breaking it down.
Works exactly the same via next start:
- server-side rendering (SSR) and server components in the App Router,
- static pages and ISR, meaning that static pages are refreshed in the background (the cache is stored on the server's disk),
- Route Handlers and API Routes, meaning custom endpoints in the application,
- Server Actions,
- middleware,
- image optimization via
next/image(in newer versions of Next.js, thesharplibrary installs automatically).
Requires a replacement or remains on Vercel:
- Vercel's data storage services (Blob, Edge Config, marketplace databases) need to be replaced with something else, for example, a PostgreSQL database or an S3-compatible file storage service,
- you replace Vercel Analytics and Speed Insights with a different analytics tool,
- preview deployments for every branch and pull request are a convenient Vercel feature that isn't available in this form on a typical server,
- functions running in multiple regions of the world simultaneously. On your own server, the application runs in a single location.
In practice, a typical business site, blog, headless store, or client panel can be migrated without any code changes. If your application relies heavily on Vercel's data storage services, the migration also means changing those integrations.
Cost comparison: 1, 3 and 5 people on a team
Below is the bill for a Next.js application with moderate traffic that fits within the Pro limits. We convert Vercel prices at a rate of about $9 per dollar and show them on an annual scale, because this is how Saplo bills.
| Team | Vercel Pro (same number of seats) | Saplo Box M | Saplo Box L |
|---|---|---|---|
| 1 person | approx. $217 / year | $69 / year | $149 / year |
| 3 people | approx. $649 / year | $69 / year | $149 / year |
| 5 people | approx. $1083 / year | $69 / year | $149 / year |
On Vercel, these amounts do not include usage over the plan limit. At Saplo, the Box price does not depend on the number of people on your team or the number of deployments. You pay for resources: memory, disk space and CPU. The price for the first term is the same as the renewal price.
Which Box should you choose? A Next.js setup requires a minimum of 512 MB of memory and 2 GB of disk space, but in practice:
- Box S ($29 / year, 1 GB RAM, 15 GB SSD) is enough for a small company website or landing page. Access is through the panel and SFTP, without SSH.
- Box M ($69 / year, 2 GB RAM, 30 GB SSD) is a sensible starting point for an application with SSR. It comes with SSH access using a key and full sudo.
- Box L ($149 / year, 6 GB RAM, 60 GB SSD) gives you room for several applications in a single Box, for example a Next.js front end plus an API and a database, as well as backups with 7-day retention.
The larger Box XL and Box XXL plans have longer backup histories of 14 and 30 days and more memory. Current specifications are in the price list.
Fair warning: building Next.js (npm run build) consumes a lot of memory. For a large application with many pages, 1 GB may not be enough for the build alone, even if the running application fits comfortably within it. In that case, Box M is the better choice.
When to stay on Vercel?
Migrating does not always make sense. Stay on Vercel if:
- the project is private and fits within the free Hobby plan,
- your team relies heavily on preview deployments for every pull request, and this is the core of your review process,
- the app serves users across several continents and needs features that run close to each of them,
- the app is tightly integrated with Blob, Edge Config, and other Vercel services, and rewriting the integrations would cost more than the annual savings.
Move if:
- you pay for Pro seats and your bill grows with every new team member,
- you do not know upfront how much you will pay in a given month,
- alongside Next.js, you want to run a database, an API built with Django or Node, n8n, or WordPress, and pay for it all once,
- your users are mainly in Poland and Europe, so a single server in Europe is enough.
How to move Next.js from Vercel step by step?
Step 1. Check what you use from Vercel
Review package.json and the code. Look for packages @vercel/blob, @vercel/kv, @vercel/edge-config, @vercel/analytics. Each one is an integration to replace. Also check the vercel.json file: move redirects and headers to next.config.js (sections redirects and headers), because they work independently of the hosting provider.
Step 2. List the environment variables
In the Vercel dashboard, under the project settings, you'll find a list of environment variables. Copy the production values. On Saplo, set them for your app in the dashboard (the environment variables and secrets tab) or through Saplo CLI.
Step 3. Set up a Next.js application on Saplo
In the panel, select Next.js from the App catalog and choose a Box. The application immediately gets an address on the saploapp.pl domain with an SSL certificate, so you can test it before making any DNS changes.
Step 4. Connect the GitHub repository
In the application details, click “Connect GitHub” and install the Saplo Deploy application for the selected repository. The repository root must contain a saplo.yaml file with the build configuration. The easiest way to generate it is with the saplo init command from Saplo CLI, then approve and push it.
From now on, every git push to the production branch (by default main) triggers a build and deployment. The entire cycle usually takes one to three minutes, and the status appears next to the commit on GitHub as a green or red dot. Pushes to other branches are ignored, so you can work on branches without the risk of an accidental deployment. The same mechanism works for every JavaScript application. We described it in our guide to Node.js hosting with Git deployment.
Step 5. Test on a temporary address
Go through the most important paths: homepage, forms, login, dynamic pages, images. Pay attention to everything that relied on Vercel services in step 1.
Step 6. Connect your domain
Add your own domain to the application in the dashboard and update the DNS records at your registrar according to the instructions in the dashboard. An SSL certificate will be issued automatically. Before changing the DNS, lower the TTL of the records to a few minutes, and after the switch leave the project on Vercel for another day or two until all visitors start reaching the new server.
Step 7. Disable the project on Vercel
Once all traffic has moved to Saplo, remove the domain from the Vercel project and downgrade the plan or reduce the number of team seats. Only this step will actually lower the bill.
If you prefer not to do this yourself, Saplo moves projects as part of the free migration. Just describe what needs to be migrated.
Summary
Vercel is great for getting started and for teams that need previews for every branch and a global network of functions. However, it becomes more expensive as the team and traffic grow, and the bill is difficult to predict.
Next.js on your own server gives you the same core features: SSR, ISR, API, Server Actions, middleware, and image optimization. On Saplo, you don't have to set up nginx, Node, and certificates yourself. The Next.js recipe does it for you, deployments go through git push, and the price depends on the resources, not the number of people. For a three-person team, that's a difference of over $500 a year in practice. Plan details are in the price list.
FAQ
Does Next.js work without Vercel?
Yes. Next.js is an open-source framework and runs on any server with Node.js. After building the application with the npm run build command, you run it using npm start. SSR, ISR, API Routes, Server Actions, and middleware work the same way.
Can I use the free Vercel Hobby plan for a company website?
No. The Hobby plan is intended for private, non-commercial projects. A company website, online store, or client project requires the Pro plan, which costs $20 per month for each developer seat, plus usage beyond the limit.
How much memory does Next.js need on a server?
A running application typically fits in 512 MB to 1 GB of memory. Building the application requires more (npm run build), especially for large projects. Therefore, for applications with server-side rendering, a sensible starting point on Saplo is Box M with 2 GB RAM.
Will I lose my Google rankings after moving from Vercel?
No, as long as the page URLs remain the same and the domain points to the new server without any downtime. Move the redirects from vercel.json to next.config.js before changing DNS, and after the switch check whether all important URLs return a 200 status code.
Can I host a database and backend alongside Next.js on Saplo?
Yes. In a single Box, you can run multiple applications, for example a frontend in Next.js, an API in Node.js or Django, and a database in a container. You pay for the Box, not for each application separately.
- #Next.js
- #Vercel
- #Hosting Node.js
- #Migration
- #Comparison
