Project Configuration

Project Configuration

Last updated November 13, 2025

Vercel automatically detects your framework and sets sensible defaults for builds, deployments, and routing. Project configuration lets you override these defaults to control builds, routing rules, function behavior, scheduled tasks, image optimization, and more.

In addition to configuring your project through the dashboard, you have the following options:

Each method lets you control different aspects of your project.

File-based configuration lives in your repository and gets version-controlled with your code. You can use either for static configuration or for programmatic configuration that runs at build time. Both support the same properties, but lets you generate configuration dynamically using environment variables, API calls, or other build-time logic. You can only use one configuration file per project.

The table below shows all available configuration properties:

Propertyvercel.jsonvercel.tsDescription
$schemaViewViewEnable IDE autocomplete and validation
buildCommandViewViewOverride the build command for your project
bunVersionViewViewSpecify which Bun version to use
cleanUrlsViewViewRemove extensions from URLs
cronsViewViewSchedule functions to run at specific times
devCommandViewViewOverride the development command
fluidViewViewEnable fluid compute for functions
frameworkViewViewSpecify the framework preset
functionsViewViewConfigure function memory, duration, and runtime
headersViewViewAdd custom HTTP headers to responses
ignoreCommandViewViewSkip builds based on custom logic
imagesViewViewConfigure image optimization
installCommandViewViewOverride the package install command
outputDirectoryViewViewSpecify the build output directory
publicViewViewMake deployment logs and source publicly accessible
redirectsViewViewRedirect requests to different URLs
bulkRedirectsPathViewViewPoint to a file with bulk redirects
regionsViewViewDeploy functions to specific regions
functionFailoverRegionsViewViewSet failover regions for functions
rewritesViewViewRoute requests to different paths or external URLs
trailingSlashViewViewAdd or remove trailing slashes from URLs

Global Configuration affects how Vercel CLI behaves on your machine. These settings are stored in your user directory and apply across all projects.

For detailed information about specific configuration areas, see:

  • General Settings - Project name, Node.js version, build settings, and Vercel Toolbar
  • Project Settings - Overview of all project settings in the dashboard
  • Git Configuration - Configure Git through vercel.json and vercel.ts
  • Git Settings - Manage Git connection, LFS, and build step settings
  • Security settings - Attack Challenge Mode, logs protection, fork protection, OIDC, and retention policies

Was this helpful?

supported.