
Render Deployment, Regions & Data Residency 2026
Render runs five service regions, Frankfurt the only EU option, plus a global CDN for static sites. A service's region is set at creation and can't be changed.
Render Deployment & Regions verdict
Render runs five service regions.
Oregon as the default, plus Ohio, Virginia, Frankfurt, Singapore. Static sites skip region choice and ride a global Cloudflare CDN.
Pick the region nearest your users and database before you create the service, because you cannot move it later. Use Frankfurt for EU residency. For multi-region, stand up duplicate services per region and secure the cross-region traffic yourself, since private networking does not cross regions. Lean on the global CDN by serving static assets as static sites, which have no region at all.
- A service's region is permanent. Changing it means recreating the service and its datastores.
- Private networking is region-scoped, so cross-region services talk over the public internet you secure. There are only five regions, with Frankfurt the single EU option and nothing in South America, the Middle East or Oceania.
- Static sites have no region and are always served from the global Cloudflare CDN.
- Service regions
- 5
- EU region
- Frankfurt
- Region change
- Not supported
- Private network
- Region-scoped
- Static sites
- Global CDN
This page covers where Render deploys and how residency works. Performance and pricing live on their own pages.
Pick your Render region and deployment
5 regions across 3 continents · nearest failover ohio · residency: frankfurt
Pin a service to oregon in render.yaml; the region is permanent once the service is created.
services:
- type: web
name: my-web-service
runtime: node
plan: standard
region: oregon
buildCommand: npm install
startCommand: npm startA Render service's region is set at creation and cannot be changed; private networking is region-scoped, so cross-region services communicate over the public internet. The nearest region above is a placement hint, not automatic failover.
Real Render regions and deployment commands. Confirm residency guarantees against your contract.
Deploy Render: render.yaml, CLI and API
Commit render.yaml (a Blueprint) to your repo. type is web/worker/cron/static/keyvalue; region pins the service (default oregon, immutable after create); scaling sets autoscaling min/max instances and CPU/memory targets (Pro plan); envVars supports generated and database-sourced secrets; disk attaches persistent storage (which disables multi-instance scaling).
services:
- type: web
name: my-web-service
runtime: node
plan: standard # free | starter | standard | pro | pro plus | pro max | pro ultra
region: frankfurt # oregon | ohio | virginia | frankfurt | singapore
repo: https://github.com/my-org/my-repo
branch: main
buildCommand: npm install
startCommand: npm start
healthCheckPath: /health
maxShutdownDelaySeconds: 30
scaling: # autoscaling needs a Pro plan or higher
minInstances: 1
maxInstances: 5
targetCPUPercent: 60
targetMemoryPercent: 60
envVars:
- key: API_BASE_URL
value: https://api.example.com
- key: APP_SECRET
generateValue: true
- key: DATABASE_URL
fromDatabase:
name: mydatabase
property: connectionStringInstall and authenticate the CLI, then validate the Blueprint and trigger deploys. In CI, authenticate with a RENDER_API_KEY env var and pass --output json --confirm for non-interactive runs; --wait blocks until the deploy finishes.
# Install and authenticate
brew update && brew install render
render login
# Validate the Blueprint before deploying
render blueprints validate render.yaml
# Trigger a deploy and wait for completion (CI-friendly)
render deploys create $SERVICE_ID --output json --confirm --wait
# Deploy a specific commit or Docker image
render deploys create $SERVICE_ID --commit $SHA
render deploys create $SERVICE_ID --image registry.example.com/app:1.2.3
# CI: authenticate via API key env var
export RENDER_API_KEY=rnd_xxx
render services --output json --confirmRender exposes a public REST API at api.render.com/v1 with a Bearer token. It covers services, deploys, env groups, blueprints, metrics, custom domains and one-off jobs; the full OpenAPI spec is published. List services, then POST to /services/{id}/deploys to ship.
# List services
curl --request GET \
--url 'https://api.render.com/v1/services?limit=20' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer $RENDER_API_KEY'
# Trigger a new deploy for a service
curl --request POST \
--url 'https://api.render.com/v1/services/SERVICE_ID/deploys' \
--header 'Authorization: Bearer $RENDER_API_KEY'
# OpenAPI spec: https://api-docs.render.com/openapi/render-public-api-1.jsonDeployment regions
| Region | Location | Scope | Default |
|---|---|---|---|
| oregon | Oregon, USA | Services + datastores | Yes |
| ohio | Ohio, USA | Services + datastores | No |
| virginia | Virginia, USA | Services + datastores | No |
| frankfurt | Frankfurt, Germany | Services + datastores (EU) | No |
| singapore | Singapore | Services + datastores | No |
| global CDN | Global (Cloudflare) | Static sites only | n/a |
Render region selection and networking
| Aspect | Behavior | Notes |
|---|---|---|
| Region choice | At creation, immutable | No region change for an existing service or database |
| Default region | oregon | Used if region is omitted in render.yaml |
| Private networking | Region-scoped | Services in different regions can't use the private network |
| Multi-region | Separate services | Deploy a new service in each region you need |
| Static sites | Global, no region | Served from the global Cloudflare CDN |
| Cross-region comms | Public internet | Must be secured by you for traversal |
Render data residency and compliance
| Control | Option | Notes |
|---|---|---|
| EU data residency | Frankfurt region | Pin services and datastores to Frankfurt |
| Core infrastructure | AWS + GCP (US) | Cloudflare for CDN and DDoS |
| Compliance audits | SOC 2 Type 2, ISO 27001 | GDPR DPA available |
| Transfer framework | EU-US DPF + UK + Swiss | Certified for transatlantic transfer |
| HIPAA | Scale plan and above | 20% compute premium for enabled workspaces |
What to verify before you commit to Render
- A service's region is fixed at creation and cannot be changed; moving regions means recreating the service and its datastores
- Private networking does not span regions, so a multi-region architecture must secure cross-region traffic over the public internet itself
- There are only five regions and a single EU option (Frankfurt), with no South American, Middle Eastern or Oceania compute region
- Contractual uptime SLAs are Enterprise-only, so region availability carries no guarantee on lower plans
Render Deployment & Regions FAQ
Which regions does Render support?
Five service regions: Oregon as the default, plus Ohio, Virginia, Frankfurt in Germany, Singapore. Services and datastores deploy to one of them. Static sites are the exception, with no region, served from a global Cloudflare CDN. In render.yaml the region values are oregon, ohio, virginia, frankfurt, singapore.
Can I change a Render service's region after creating it?
No. You choose a region during service or datastore creation, and Render does not currently support changing the region of an existing service or database. To move regions you recreate the service and migrate its datastores. Plan placement up front, based on where your users and database live.
How does multi-region work on Render?
There is no single-service multi-region feature. Each region has its own separate private network, so services in different regions cannot talk over the private network. To run in several regions you create separate services in each and secure the cross-region communication over the public internet yourself.
Does Render support EU data residency?
Yes, via the Frankfurt region, where you pin services and datastores for EU residency. Render is SOC 2 Type 2 and ISO 27001 certified, provides a GDPR DPA, and is certified under the EU-US Data Privacy Framework, with the UK extension and Swiss-US DPF. HIPAA is available on the Scale plan and above for a 20% compute premium.
How do I pin a region and deploy on Render?
Set region in render.yaml, for example region: frankfurt, where the default is oregon. Validate it with render blueprints validate render.yaml, then deploy via the CLI, render deploys create $SERVICE_ID --confirm --wait, or the REST API, POST https://api.render.com/v1/services/{id}/deploys with a Bearer token.
Sources & verification
| Source | What was checked | Last checked |
|---|---|---|
| Render Official | Official product page | July 10, 2026 |
| Render Api | API reference | July 10, 2026 |
| Render Blueprint Spec | Blueprint Spec | July 10, 2026 |
| Render Cli | CLI | July 10, 2026 |
| Render Pricing | Pricing and plans | July 10, 2026 |
| Render Regions | Regions and residency | July 10, 2026 |
| Render Security | Security and compliance | July 10, 2026 |
Every fact on this Render page is tied to a named source and a verification date. Freshness-sensitive figures trace to the sources above; verify against the vendor before relying on them.
Explore Render
Every page on Render in one place, you are on regions & deployment.
Snapshot, score and verdict
You are here
Latency, throughput, uptime and behaviour under scale
Every tier and the entry price
Compared and ranked vs peers
Price and feature change history
Browse the full Cloud Hosting category
