On this page
  1. At a glance
  2. Service types: how each platform models an app
  3. Deploy model: Git, Docker, CLI and infrastructure as code
  4. Databases and persistent storage
  5. Regions and networking
  6. Scaling and sleep behavior
  7. Free tier and trial terms, as published
  8. Pricing structure: what each pricing page says today
  9. Selected limits side by side
  10. Compliance and security claims
  11. CLI and API
  12. Platform risk: the Cyclic shutdown as context
  13. Summary of the documented differences
  14. Sources

Render and Railway are both hosted platforms that build and run web apps, APIs, workers, scheduled jobs and databases from a Git repository or a container image, without the user managing servers. They solve the same broad problem, but the documentation shows different choices in how services are modelled, how databases are offered, which regions exist and, most of all, how the bill is put together. Render charges a flat workspace plan plus a fixed monthly price per compute instance. Railway charges a plan minimum that is credited against usage, then bills CPU, memory, storage and egress by the second.

This comparison is built only from the official Render and Railway pricing pages, documentation and trust pages, all read on 10 November 2026. Prices, limits and plan names change often on both platforms, so every figure below links to the page it comes from. For the directory profiles, see Render on iThub and Railway on iThub.

At a glance

Render Railway
Service model Six service types: web service, static site, private service, background worker, cron job, workflow Services are containers deployed from an image; persistent services or scheduled jobs (cron)
Deploy sources GitHub, GitLab or Bitbucket repo; public Git URL; Dockerfile; prebuilt image from a registry GitHub repo; local directory via CLI; Dockerfile; public image from Docker Hub, GHCR, Quay.io, GitLab or Microsoft registries
Build without Docker Native runtimes for Node.js, Python, Ruby, Go, Rust and Elixir Railpack: Node, Python, Go, PHP, HTML/Staticfile, Java, Ruby, Deno, Rust, Elixir, shell scripts
Infrastructure as code Blueprints (render.yaml) Infrastructure as Code (.railway/railway.ts, Python and Go in beta); Config as Code deprecated
Managed data Render Postgres, Render Key Value (Redis-compatible), persistent disks Templates for PostgreSQL, MySQL, Redis, MongoDB (plus HA variants), volumes, object storage buckets
Regions Oregon, Ohio, Virginia, Frankfurt, Singapore California, Virginia, Amsterdam, Singapore
Scaling Manual instances; autoscaling on Pro and higher Vertical autoscaling to plan limits; manual replicas, including multi-region replicas
Plans Hobby $0, Pro $25, Scale $499, Enterprise custom, each plus compute Free $0, Hobby $5 minimum usage, Pro $20 minimum usage, Enterprise custom
Free option Free instances for web services, Postgres and Key Value; static sites free 30-day trial with $5 one-time credit, then Free plan with $1 credit per month
API REST API with OpenAPI 3.0 spec GraphQL public API
Compliance listed SOC 2 Type 2, ISO 27001, GDPR DPA, HIPAA, EU-US DPF SOC 2 Type II, SOC 3, HIPAA, GDPR DPA, EU-US DPF, Swiss-US DPF

Service types: how each platform models an app

Render: six service types plus datastores

Render's service types documentation says that "Render provides six different service types for running code". A web service gets a public onrender.com subdomain for HTTP traffic. A static site is served over a global CDN. A private service has no public URL but exposes an internal hostname on the private network. A background worker runs continuously, often to process jobs from a queue. A cron job runs and then exits on a schedule. A workflow runs collections of long-running tasks across distributed compute, aimed at agents, ETL pipelines and on-demand background jobs.

Datastores are separate managed resources: Render Postgres and Render Key Value, which the docs describe as compatible with virtually all Redis clients. Render also supports attaching a persistent disk to web services, private services and background workers.

Railway: one service primitive

Railway's services documentation defines a service as "a deployment target" and states that "services are containers deployed from an image". It describes two kinds: persistent services that are always running (web apps, APIs, message queues, databases) and scheduled jobs, run to completion on a crontab schedule. A database on Railway is itself a service, usually created from a template, with a volume attached.

Projects group services on a visual canvas, and changes are staged for review before deploy.

As documented, Render has you pick a service type at creation, which determines whether the service gets a public URL, an internal hostname or neither. Railway uses one service object and lets networking, domains and schedules be configured on it.

Deploy model: Git, Docker, CLI and infrastructure as code

Deploying from GitHub and other Git providers

On Render, you link a branch of a Git provider repo when you create a service, and by default Render rebuilds and redeploys on every push or merge to that branch. The deploy page documents GitHub, GitLab and Bitbucket. Auto-deploy can be set to On Commit, After CI Checks Pass or Off. Services built from a prebuilt Docker image or a public Git repository URL must be deployed manually, through the dashboard, the CLI, a deploy hook URL or the API.

On Railway, you connect a GitHub repository and Railway builds and deploys each new commit on the linked branch. The GitHub autodeploys page adds two conditions: autodeploy needs at least one project member with a connected GitHub account and contributor access to the repo, and a Wait for CI option holds deployments in a WAITING state until GitHub Actions workflows on the commit finish. Railway documents GitHub as its repository source; services can also come from a local directory pushed with railway up or from a Docker image.

Docker images and Dockerfiles

Render's Docker page lists two methods: pull a prebuilt image from a registry such as Docker Hub, or build from the Dockerfile in the repo using BuildKit. It recommends Docker when a project uses a language without a native runtime, giving PHP and JVM languages such as Java, Kotlin or Scala as examples.

Railway automatically uses a Dockerfile named Dockerfile at the root of the source; a custom path can be set with the RAILWAY_DOCKERFILE_PATH variable. Railway can deploy public images from Docker Hub, GitHub Container Registry, Quay.io, GitLab Container Registry and Microsoft Container Registry. The same page states: "Private Docker registry deployments require the Pro plan."

Builds without a Dockerfile

Render offers native runtimes for Node.js, Python, Ruby, Go, Rust and Elixir, which let you set ordinary build and start commands such as npm install and npm start.

Railway uses Railpack, which detects the language and framework, installs dependencies and produces a container image. Supported languages are listed in the At a glance table.

Blueprints versus Railway Infrastructure as Code and templates

Render's infrastructure-as-code model is Blueprints: a render.yaml file in the repo that defines services, databases and environment groups. Pushes that modify the file trigger deploys of added or modified resources. One safeguard is documented explicitly: removing a resource from the file does not delete it, with the exception of Postgres read replicas.

Railway's Infrastructure as Code uses a .railway/railway.ts file (generally available), with Python and Go authoring in beta. The CLI evaluates the file, shows a plan and applies it after confirmation, through railway config plan and railway config apply. The older per-service Config as Code files (railway.json or railway.toml) are deprecated, and the documentation states that existing files stop being read on 2026-12-01.

Railway also runs a template marketplace. A template packages one or more services for reuse.

Preview environments

Render preview environments require a Pro workspace or higher and copy services, datastores and environment groups (without data) for each pull request. Railway PR environments are enabled in project settings. On both platforms the environment is removed when the pull request is merged or closed.

Databases and persistent storage

Render Postgres and Render Key Value

Render runs databases as managed services. According to the service types page, Render continually backs up all paid Render Postgres instances to provide point-in-time recovery, and larger instances support read replicas and high availability. The Postgres docs also cover connection pooling and extensions such as pgvector and PostGIS.

Render Key Value is an in-memory key-value store, Redis-compatible, positioned for job queues and caches. Paid Key Value instances write to disk to persist data across restarts.

For other databases, Render's docs point to persistent disks: SSDs encrypted at rest with automatic daily snapshots. A disk is accessible by a single instance only, so a service with a disk cannot scale to multiple instances, and adding a disk prevents zero-downtime deploys.

Railway database templates and volumes

Railway's databases page lists templates it maintains for PostgreSQL, MySQL, Redis and MongoDB, each with a high-availability variant, plus a PgBouncer connection pooling template. Railway provisions them and ships security patches for their images. Backups, point-in-time recovery (PostgreSQL and MySQL), high availability and connection pooling are turned on by the user from the dashboard. The page also states that Railway "does not publish an uptime SLA today" for databases, and that any other database can run from a Docker image.

Persistent data on Railway lives in volumes. Default sizes are 0.5 GB on Free and Trial, 5 GB on Hobby and 50 GB on Pro, and Pro users can self-serve up to 1 TB. Volumes have 3,000 read and 3,000 write IOPS on every plan. Documented caveats: each service can have only one volume, replicas cannot be used with volumes, and redeploying a service with a volume causes a short downtime.

Regions and networking

Render lists five regions: Oregon, Ohio and Virginia in the USA, Frankfurt in Germany, and Singapore. Static sites are served from a global CDN and have no region. The docs state that Render "doesn't currently support changing the region for an existing service or database", so moving region means creating a new service and migrating. Each region has its own private network.

Railway lists four regions: US West (California), US East (Virginia), EU West (Amsterdam) and Southeast Asia (Singapore), each labelled "Metal". A service's region can be changed at any time without changing its domain or private networking. There is no downtime unless a volume is attached, in which case the volume has to be migrated and the service is down during that time.

Scaling and sleep behavior

Render supports manual scaling and autoscaling for web services, private services and background workers. Free instances cannot scale. Paid plans with at most 8 CPU and 32 GB RAM can run up to 100 instances; larger plans are limited to 5. Autoscaling, available on Pro workspaces and higher, adjusts the instance count between a minimum and maximum using CPU and memory utilization targets, scales up immediately and waits a few minutes before scaling down. Each instance is billed on the same compute plan.

Railway applies vertical autoscaling by default: a service can use resources up to the vCPU and memory limits of the plan. Horizontal scaling is done by setting a replica count, and multi-region replicas place replicas in different regions, with public traffic routed to the nearest region and distributed randomly between its replicas. The docs state that Railway does not support sticky sessions.

The two platforms also handle idle services differently. Render spins down a Free web service after 15 minutes without inbound traffic, and spinning back up takes about one minute; the docs list this among the limitations of Free web services. Railway offers an opt-in Serverless setting, formerly called App Sleeping, which sleeps a service once it stops sending outbound packets for 5 minutes (in practice between 5 and 10 minutes). The first request after sleep may see a cold boot delay or a 502 response.

Free tier and trial terms, as published

Render free instances

The Render Deploy for Free page says free instances exist for web services, Render Postgres and Render Key Value, and that static sites are free to deploy. It also says: "Do not use them for production applications." The main documented limits:

  • Each workspace gets 750 free instance hours per calendar month. If they run out, Render suspends all free web services until the next month.
  • Free web services spin down after 15 minutes without inbound traffic, have an ephemeral filesystem, cannot attach a persistent disk and cannot scale beyond one instance.
  • A free Postgres database has 1 GB of storage, has no backups and expires 30 days after creation, followed by a 14-day grace period to upgrade before deletion. Only one can be active per workspace.
  • A free Key Value instance is in-memory only and loses its data on restart.

Railway trial and Free plan

Railway's Free Trial page says new users get "a one-time grant of $5" and access for up to 30 days. "After 30 days passes or $5 is spent, the free trial reverts to the Free plan, which provides $1 of free credit per month." The pricing page puts it as "Start with a 30-day free trial with $5 credits, then $1 per month", with no credit card required.

The trial has two levels. Connecting a GitHub account that Railway can verify gives the Full Trial. Otherwise the account is on the Limited Trial, where services have restricted outbound network access and only a limited set of ports. On the pricing page the Free plan allows up to 1 vCPU and 0.5 GB RAM per service, 0.5 GB of volume storage, 1 project and 3 services per project after the trial. Railway deletes volumes created by trial accounts 30 days after the credits expire.

Advertisements

Pricing structure: what each pricing page says today

Both pages were read on 10 November 2026. The prices below are quoted as published, in US dollars.

Render: workspace plan plus compute

Render's pricing FAQ states: "Render charges for three things: your workspace plan (flat subscription), metered features like bandwidth (usage-based), and compute for your applications (usage-based)." Compute is set per service and "billing is prorated to the second".

Render workspace plan Price Selected inclusions from the pricing page
Hobby $0/mo + compute Up to 25 services, 1 seat, 5 GB bandwidth, 500 build pipeline minutes, 7-day log retention
Pro $25/mo + compute Unlimited seats and services, 25 GB bandwidth, 1K pipeline minutes, horizontal autoscaling, full-stack previews, 14-day logs
Scale $499/mo + compute Multiple workspaces, 1 TB bandwidth, 5K pipeline minutes, SAML SSO and SCIM, HIPAA-compliant workspaces, 30-day logs
Enterprise Custom Contractual uptime SLAs, dedicated technical account team, support response SLAs

Compute is a menu of fixed instance sizes. For web services, private services and background workers the table starts with a Free instance (512 MB RAM), then $7/month for less than 1 CPU and 512 MB RAM, $25/month for 1 CPU and 2 GB, and $85/month for 2 CPU and 4 GB, up to $1,500/month for 12 CPU and 96 GB. Render Postgres starts at $6/month (256 MB RAM) after the free tier and goes up to $11,000/month for 128 CPU and 1024 GB RAM, with expandable storage at $0.30 per GB. Key Value starts at $10/month for 256 MB. Persistent disks cost $0.25 per GB per month. Extra bandwidth is $0.15 per GB after the plan allowance, extra pipeline minutes are $5 per 1,000, and custom domains beyond the plan allowance are $0.25 per domain per month.

The pricing page also notes that a Pro or Scale workspace with no services and no activity in a month has that month's subscription fee waived.

Railway: plan minimum plus per-second usage

Railway's pricing page is headed "Pay only for what your app uses, by the second". Its plans documentation explains that each account needs a subscription, and "The subscription fee goes towards your usage-costs on the platform."

Railway plan Price Selected limits from the pricing page
Free $0 per month 30-day trial with $5 credits, then $1 per month; up to 1 vCPU / 0.5 GB RAM per service; 0.5 GB volume
Hobby $5 minimum usage Includes $5 of usage credits; up to 48 vCPU / 48 GB RAM per service; up to 5 GB storage; 7-day log history
Pro $20 minimum usage Includes $20 of usage credits; up to 1,000 vCPU / 1 TB RAM per service; up to 1 TB storage; unlimited seats; 30-day log history
Enterprise Custom SSO, RBAC, HIPAA BAAs, dedicated VMs, bring your own cloud, 90-day log history

Usage is metered by the second. The pricing page lists memory at $0.00000386 per GB per second, CPU at $0.00000772 per vCPU per second, volumes at $0.00000006 per GB per second, egress at $0.05 per GB and object storage at $0.015 per GB-month. The plans documentation gives the same rates per month: $10 per GB of RAM, $20 per vCPU, $0.15 per GB of volume storage. It also states that "Service builds are free."

The included usage works like a floor. In the plans documentation's own example, $3 of usage on Hobby produces a $5 bill and $7 of usage produces a $7 bill. Included usage resets each billing cycle and does not accumulate. The FAQ answers "Is the hobby plan free?" with "No." Railway also lists committed-spend add-ons: HIPAA BAAs from $1,000 per month, SSO, RBAC and audit logs from $2,000, enterprise support from $5,000 and dedicated VMs from $10,000.

The Railway pricing page contains one inconsistency: the Hobby plan card lists up to 5 replicas, while the feature table on the same page and the plans documentation list up to 6 replicas per service for Hobby.

Selected limits side by side

Limit Render (pricing page and docs) Railway (pricing page and docs)
Largest service size Up to 12 CPU and 96 GB RAM per instance Up to 1,000 vCPU / 1 TB RAM per service on Pro; 2,400 vCPU / 2.4 TB on Enterprise
Horizontal scale Up to 100 instances (plans up to 8 CPU / 32 GB) Up to 42 replicas on Pro, 50 on Enterprise
Services 25 on Hobby, unlimited on Pro and above 50 per project on Hobby, 100 on Pro
Build limits 500 / 1K / 5K pipeline minutes per month (Hobby / Pro / Scale) Build timeout 40 min on Hobby, 90 min on Pro
Persistent storage Disk per service, single instance only One volume per service, no replicas with volumes

Compliance and security claims

Render's Security and Trust page lists ISO 27001, SOC 2 Type 2, a GDPR DPA, HIPAA and certification under the EU-US Data Privacy Framework including the UK extension and Swiss-US DPF; reports are available on request. Its HIPAA documentation says HIPAA-enabled workspaces require a Scale or Enterprise plan, and the pricing page lists a 20% compute premium for enabled workspaces.

Railway's compliance page states that "Railway is SOC 2 Type II certified and SOC 3 certified", and that a HIPAA BAA is an add-on with a monthly spend threshold. The Railway Trust Center lists SOC 2 Type 2, SOC 3, HIPAA, GDPR, EU-US DPF and Swiss-US DPF, with documents such as a SOC 2 report and a pentest report available through access requests. Railway also provides a Data Processing Agreement for GDPR.

CLI and API

The Render CLI (version 2.36.0 at the time of reading) installs through Homebrew, WinGet, curl, a direct download or a source build. It manages services and deploys, opens psql sessions, streams logs, validates render.yaml files and runs non-interactively in CI/CD. The Render API is a REST API that "supports almost all of the same functionality available in the Render Dashboard", authenticated with API keys and described by an OpenAPI 3.0 spec.

The Railway CLI installs with a shell script, Homebrew, npm or Scoop (on Windows the docs refer to WSL for the script install). Commands include railway up to deploy the current directory, plus database, variable, environment, scaling, usage and IaC config commands. CI pipelines authenticate with RAILWAY_TOKEN (project) or RAILWAY_API_TOKEN (account or workspace). The Railway public API is GraphQL, "the same API that powers the Railway dashboard", at https://backboard.railway.com/graphql/v2, with account, workspace and project tokens plus OAuth.

Platform risk: the Cyclic shutdown as context

Cyclic, an app hosting service also listed in the iThub directory, announced on 26 April 2024 in its official notice (archived copy of cyclic.sh) that it was shutting down. The notice stated that signups were turned off immediately, that free tier usage would begin to be turned off on 10 May 2024 and all usage on 31 May 2024, and that the company "were not able to sell enough to make it self sustaining."

Summary of the documented differences

Both platforms document Git-based deploys, Docker support, databases, private networking, cron jobs and preview environments. Render separates code into named service types, offers its own managed Postgres and Key Value services, runs in five regions and prices fixed instance sizes on top of a workspace plan. Railway treats everything as a container service, provides database templates on volumes, runs in four regions with movable services and multi-region replicas, and bills metered usage against a plan minimum. For related reading, see the iThub articles on Render hosting services, limits and costs and Railway deployments, environments and pricing, the Railway vs Render comparison page, and the PaaS and app deployment category.

Sources

All pages accessed on 10 November 2026.

Frequently asked questions

Does Render have a free tier?

Yes. Render's Deploy for Free page lists free instances for web services, Render Postgres and Render Key Value, and static sites are free to deploy. Each workspace gets 750 free instance hours per month, free web services spin down after 15 minutes without inbound traffic, and a free Postgres database has 1 GB of storage and expires 30 days after creation. Render says free instances should not be used for production.

Does Railway have a free plan?

Railway starts new users on a free trial with a one-time $5 credit for up to 30 days. According to its Free Trial page, after 30 days or once the $5 is spent, the account reverts to the Free plan, which provides $1 of free credit per month. The pricing page lists up to 1 vCPU and 0.5 GB RAM per service and 0.5 GB of volume storage on the Free plan.

How is Railway pricing structured compared with Render pricing?

Render charges a workspace plan (Hobby $0, Pro $25, Scale $499 per month, Enterprise custom) plus a fixed monthly price per compute instance, prorated by the second, plus metered items such as extra bandwidth. Railway charges a plan minimum (Hobby $5, Pro $20) that is credited against usage, then bills CPU, memory, volume storage and egress by the second. Railway's plans documentation states that builds are not billed. Figures were read on 10 November 2026.

Can Render and Railway both deploy from GitHub and Docker?

Yes. Render deploys from GitHub, GitLab or Bitbucket repositories with auto-deploys on each push, builds from a Dockerfile, or pulls a prebuilt image from a registry. Railway deploys from a connected GitHub repository, from a local directory with the railway up CLI command, from a Dockerfile it detects automatically, or from a public image on Docker Hub, GitHub Container Registry, Quay.io, GitLab or Microsoft registries. Private registry images on Railway require the Pro plan.

Which databases do Render and Railway offer?

Render offers managed Render Postgres, with point-in-time recovery on paid instances and read replicas and high availability on larger ones, and Render Key Value, which is Redis-compatible. Railway provides maintained templates for PostgreSQL, MySQL, Redis and MongoDB, each with a high-availability variant, running on volumes; backups, point-in-time recovery and pooling are turned on by the user. Both platforms can also run other databases from Docker images.

Which regions do Render and Railway run in?

Render's regions page lists Oregon, Ohio and Virginia in the USA, Frankfurt in Germany, and Singapore, and an existing service cannot change region. Railway's regions page lists California and Virginia in the USA, Amsterdam in the Netherlands, and Singapore. A Railway service can change region at any time, with downtime only when a volume is attached and has to be migrated.

Facts link to their official sources. Product details can change after publication: report an error or read the editorial methodology.