Deploy guide
How to deploy Hugo to Vercel
The settings to enter and where to find them: Hugo on Vercel, built on every push.
Checked 16 October 2026
In short
The settings
- Framework Preset
Usually picked for you on import.
- Build Command
- Output Directory
- Variable HUGO_VERSION
Vercel's default Hugo is older than most themes expect.
Step by step
Set it up
- 1
Put the project in a Git repository
Push it to GitHub, GitLab or Bitbucket. Vercel builds from the repository, so the build folder (public) doesn't need to be committed.
- 2
Import it in Vercel
Start a new project from the repository and give Vercel access to it when it asks.
Add New…→Project→Import a Git repository
- 3
Check the build settings
Vercel usually recognises Hugo and fills these in. Make sure they read:
- Framework Preset
Usually picked for you on import.
- Build Command
- Output Directory
- Variable HUGO_VERSION
Vercel's default Hugo is older than most themes expect.
Add the variable under Settings → Environment Variables, or in the Environment variables section while importing.
- 4
Deploy
Start the deploy. When the build finishes, the site is at https://YOUR-PROJECT.vercel.app. Each push to the main branch deploys again, and other branches and pull requests get preview links.
To change the settings later: Settings → Build and Deployment → Framework Settings.
Good to know
Common snags
- Hugo's own Vercel guide uses a small build script that downloads Hugo (and Dart Sass, if you use it) instead. Use that if your theme needs Dart Sass.
- If your theme is a git submodule, it's fetched with the repository: each host here checks out submodules when it builds.
- Don't commit the
publicfolder: each host builds it fresh. - Node.js version: Pick it under Settings → Build and Deployment → Node.js Version, or set "engines" in package.json.
Stuck? The usual problems, solved
Questions
Before you start
Is Vercel free for this?
A free Hobby plan for personal, non-commercial projects. Paid plans for commercial use and teams.
How do I use my own domain?
Add it in Vercel's domain settings, then add the DNS records at your registrar. Our custom domain guides have the exact records for Vercel at each registrar.
The build works on my computer but fails here. Why?
Most often a different Node.js version, or a package that's installed on your computer but missing from package.json. Pick it under Settings → Build and Deployment → Node.js Version, or set "engines" in package.json.
Next step: connect your own domain to Vercel.
Rather skip git and build settings?
Build on your computer with hugo, then drop the public folder (or a zip of it) on 99helpers. It's online at its own address in seconds, with no repository, workflow or base path to set up. Passwords, analytics, your own domain and AI editing are built in.
Or skip the setup
Drop it in. It's online in seconds.
A file, a folder or a whole site: 99helpers puts it online at its own address, with no git, no build settings and no DNS to start with. Add your own domain whenever you're ready.