Skip to content
inetGeek

Heroku vs Railway

SEPT 2026 audit

A comparison of Heroku and Railway built from values read directly from each provider's own documentation, with the source recorded against every figure.

Reviewed by Palash BagchiUpdated 35 criteria comparedSources last checked

The short answer

Choose Heroku if…

Teams that want to deploy by pushing to Git and let the platform handle the runtime, with Postgres, a scheduler and Docker deploys available on the same platform.

Editorial · Palash Bagchi · approved

Choose Railway if…

Teams that want a plan fee which doubles as usage credit, and deploy services straight from a Dockerfile without managing servers. The $5 Hobby fee comes back as $5 of resource usage.

Editorial · Palash Bagchi · approved

Consider something else if…

  • Heroku: The dyno filesystem is ephemeral, and a web process must respond within 30 seconds of receiving a request.
  • Railway: You need to run in a region outside California, Virginia, Amsterdam or Singapore.

Neither quite fits? Every other option, ranked by iScore: Heroku alternatives · Railway alternatives

13 sourced criteria separate them — see where, with sources, below.

No affiliate links, sponsored placements or paid rankings appear on this site. Ordering follows the sourced data and the stated criteria.

01.

At a glance.

CriterionHerokuRailway
Pricing
Entry paid plan
$5 per month (Eco dynos plan, 1000 dyno hours shared across the account)
$5 / month (Hobby)
Pricing modelUsage-based on wall-clock time, prorated to the secondA base subscription fee that goes towards usage, with the plan's own credit included; anything beyond the credit is billed as resource usage.
When you exceed a capService sleeps: on the Eco plan ($5/month for a 1000 dyno-hour pool, the cheapest paid tier) exhausting the pool forces every Eco dyno on the account to sleep for the rest of the month, and extra hours cannot be boughtBilled automatically: on the Hobby plan ($5/month, includes $5 of resource usage) usage above the included amount is charged as a delta on top of the subscription — no throttling or suspension is documented
Limits
Memory (entry plan)0.5 GB RAM on the Eco dyno ($5 flat/month, the cheapest paid dyno) and 0.5 GB on Basic.48 GB on Hobby ($5/month) — but that is a ceiling, not an allocation. Railway's table states the figure is a maximum including replica multiplication, so it is 8 GB across each of up to 6 replicas, and memory is billed at $10 per GB per month on top of the $5 fee. Recorded without a magnitude because a cap you pay for is not comparable with an allowance you are given.
Sites or apps included
100 apps per account, platform-wide on all plans (Heroku Team 100, Enterprise Team 200)
50 projects and 50 services per project on Hobby; Pro raises both to 100 and Enterprise is unlimited.
Max request duration
30 seconds (initial window for the web process to return response data)
15 minutes while data keeps transferring; closed after 5 minutes with no data transferred. Websocket connections are exempt and can stay open indefinitely.
Execution
Streaming response limitPlatform-wide (router): 30 seconds to send the first byte, then a rolling 55-second idle window — if no data is sent for 55 seconds the connection is terminatedPlatform-wide: an HTTP request may run up to 15 minutes while data keeps transferring, and is closed after 5 minutes with none. Idle HTTP/1.1 connections close after 60 seconds between requests. WebSocket connections are exempt. Railway documents the connection's duration here, not how the response is delivered.
Managed connection pooling
Limited
Supported
Deployment
Git deploymentSupportedSupported
Docker deploymentSupportedSupported
Scheduled jobsSupportedSupported
Infrastructure
Persistent processesSupportedSupported
Persistent storage
Not supported
Supported
Managed databases
Supported
Limited
Scales to zeroLimitedLimited — Serverless sleeps an idle service, but a slept service still holds a slot and is de-prioritised.
AutoscalingLimitedLimited
Regions
2 regions on the Common Runtime, which is what a standard dyno runs in: eu (Europe) and us (United States). A further 10 — Dublin, Frankfurt, London, Montreal, Mumbai, Oregon, Singapore, Sydney, Tokyo and Virginia — exist only in Private Spaces, an Enterprise product.
4 regions: California, Virginia, Amsterdam, Singapore
Support
Support on entry paid plan
Ticket-based support to technical or billing staff for all customers. Heroku Enterprise adds Salesforce Success Plans — Standard, Premier and Signature — which are what buy a named contact and a committed response.
Community support on Trial and on Hobby, the entry paid plan. Pro gets "Railway support"; Enterprise adds support SLOs.
Compliance
SOC 2SOC 1 and SOC 2/SSAE 16/ISAE 3402 (Previously SAS 70 Type II)SOC 2 Type 2 and SOC 3, both listed under Compliance, with SOC 2 and SOC 3 reports among the documents. The reports are gated rather than public: the Trust Center asks visitors to request access and frames the whole page as starting a security review.

Only criteria both providers publish appear here; a tinted cell marks a real difference. Criteria only one of them documents are listed below, and an absence there means we found no source — not that the feature is missing. How we source this.

The small bar above a value is inetGeek's own lean toward that side — computed from the same facts shown, never a number the provider published. See the picker below "The short answer" to weigh only the criteria you care about.

02.

Where they differ.

Entry paid plan

Heroku
$5 per month (Eco dynos plan, 1000 dyno hours shared across the account)
Railway
$5 / month (Hobby)
Sources (2) →

Pricing model

Heroku
Usage-based on wall-clock time, prorated to the second
Railway
A base subscription fee that goes towards usage, with the plan's own credit included; anything beyond the credit is billed as resource usage.
Sources (2) →
  • Usage & Billing | Heroku Dev Center ↗

    “Heroku computes usage from wall-clock time, not CPU time. Any dynos scaled above 0 accrue usage, regardless of traffic or activity. Heroku prorates all costs to the second.”

    Read 2026-09-05 · official docs · Report a correction

  • Plans — Railway Docs ↗

    “We charge a base subscription price, which goes towards your resources and usage. [...] The subscription fee goes towards your usage-costs on the platform. Plan Price Free $0 / month Hobby $5 / month Pro $20 / month Enterprise Custom”

    Read 2026-09-13 · official pricing · Report a correction

When you exceed a cap

Heroku
Service sleeps: on the Eco plan ($5/month for a 1000 dyno-hour pool, the cheapest paid tier) exhausting the pool forces every Eco dyno on the account to sleep for the rest of the month, and extra hours cannot be bought
Railway
Billed automatically: on the Hobby plan ($5/month, includes $5 of resource usage) usage above the included amount is charged as a delta on top of the subscription — no throttling or suspension is documented
Sources (2) →

Memory (entry plan)

Heroku
0.5 GB RAM on the Eco dyno ($5 flat/month, the cheapest paid dyno) and 0.5 GB on Basic.
Railway
48 GB on Hobby ($5/month) — but that is a ceiling, not an allocation. Railway's table states the figure is a maximum including replica multiplication, so it is 8 GB across each of up to 6 replicas, and memory is billed at $10 per GB per month on top of the $5 fee. Recorded without a magnitude because a cap you pay for is not comparable with an allowance you are given.
Sources (2) →
  • Dyno Types — Heroku Dev Center ↗

    “Runtime Plan Memory (RAM) CPU Share Compute $/Month Dyno Units Consumed Dedicated Sleeps Eco 0.5 GB 1x 1x-4x $5 flat* N/A No”

    Read 2026-09-14 · official docs · Report a correction

  • Plans — Railway Docs ↗

    “Plan Replicas RAM CPU Ephemeral Storage Volume Storage Image Size [...] Hobby 6 48 GB 48 vCPU 100 GB 5 GB 100 GB [...] Note that these are maximum values and include replica multiplication. [...] RAM $10 / GB / month”

    Read 2026-09-07 · official pricing · Report a correction

Sites or apps included

Heroku

100 apps per account, platform-wide on all plans (Heroku Team 100, Enterprise Team 200)

Railway

50 projects and 50 services per project on Hobby; Pro raises both to 100 and Enterprise is unlimited.

Sources (2) →

Max request duration

Heroku

30 seconds (initial window for the web process to return response data)

Railway

15 minutes while data keeps transferring; closed after 5 minutes with no data transferred. Websocket connections are exempt and can stay open indefinitely.

Sources (2) →
  • Limits | Heroku Dev Center ↗

    “HTTP requests have an initial 30 second window for the web process to return response data. It can be either the completed response or some amount of response data to indicate that the process is active. Processes that fail to send response data within the initial 30-second window see an H12 error in their logs.”

    Read 2026-09-05 · official docs · Report a correction

  • Specs & Limits — Railway Docs ↗

    “HTTP requests can run for up to 15 minutes if data keeps transferring (for example, keep-alive heartbeats), and are otherwise closed after 5 minutes with no data transferred. [...] Websocket connections are exempt from these duration and inactivity limits, and can stay open indefinitely, even while idle.”

    Read 2026-09-05 · official docs · Report a correction

Streaming response limit

Heroku
Platform-wide (router): 30 seconds to send the first byte, then a rolling 55-second idle window — if no data is sent for 55 seconds the connection is terminated
Railway
Platform-wide: an HTTP request may run up to 15 minutes while data keeps transferring, and is closed after 5 minutes with none. Idle HTTP/1.1 connections close after 60 seconds between requests. WebSocket connections are exempt. Railway documents the connection's duration here, not how the response is delivered.
Sources (2) →
  • Request Timeout | Heroku Dev Center ↗

    “Heroku supports HTTP features such as long-polling and streaming responses. An application has an initial 30 second window to respond with a single byte back to the client. However, each byte transmitted thereafter (either received from the client or sent by your application) resets a rolling 55 second window. If no data is sent during the 55 second window, the connection will be terminated.”

    Read 2026-09-05 · official docs · Report a correction

  • Specs & Limits ↗

    “HTTP requests can run for up to 15 minutes if data keeps transferring (for example, keep-alive heartbeats), and are otherwise closed after 5 minutes with no data transferred. [...] Websocket connections are exempt from these duration and inactivity limits, and can stay open indefinitely, even while idle.”

    Read 2026-09-05 · official docs · Report a correction

Managed connection pooling

Heroku
Limited
Railway
Supported
Sources (2) →

Persistent storage

Heroku
Not supported
Railway
Supported
Sources (2) →
  • Dynos (App Containers) | Heroku Dev Center ↗

    “Each dyno gets its own ephemeral filesystem, with a fresh copy of the most recently deployed code. During the dyno's lifetime, its running processes can use the filesystem as a temporary scratchpad, but no files that are written are visible to processes in any other dyno.”

    Read 2026-09-05 · official docs · Report a correction

  • Volumes | Railway Docs ↗

    “Volumes are a feature that enables persistent data for services on Railway. [...] When mounting a volume to a service, a volume is made available to the service on the specified mount path.”

    Read 2026-09-05 · official docs · Report a correction

Managed databases

Heroku
Supported
Railway
Limited
Sources (2) →
  • Heroku Postgres | Heroku Dev Center ↗

    “Heroku Postgres is a managed SQL database service provided directly by Heroku. You can access a Heroku Postgres database from any language with a PostgreSQL driver, including all languages Heroku officially supports.”

    Read 2026-09-05 · official docs · Report a correction

  • Databases — Railway Docs ↗

    “Railway enables you to deploy and manage databases alongside your applications. [...] The fastest way to deploy a database is through Railway's database templates [...] These templates are maintained by Railway and come pre-configured with sensible defaults.”

    Read 2026-09-05 · official docs · Report a correction

Regions

Heroku

2 regions on the Common Runtime, which is what a standard dyno runs in: eu (Europe) and us (United States). A further 10 — Dublin, Frankfurt, London, Montreal, Mumbai, Oregon, Singapore, Sydney, Tokyo and Virginia — exist only in Private Spaces, an Enterprise product.

Railway

4 regions: California, Virginia, Amsterdam, Singapore

Sources (2) →
  • Regions | Heroku Dev Center ↗

    “eu Europe Common Runtime us United States Common Runtime dublin Dublin, Ireland Private Spaces frankfurt Frankfurt, Germany Private Spaces london London, United Kingdom Private Spaces montreal Montreal, Canada Private Spaces mumbai Mumbai, India Private Spaces oregon Oregon, United States Private Spaces singapore Singapore Private Spaces sydney Sydney, Australia Private Spaces tokyo Tokyo, Japan Private Spaces virginia Virginia, United States Private Spaces”

    Read 2026-09-05 · official docs · Report a correction

  • Regions — Railway Docs ↗

    “Name Location Region Identifier US West Metal California, USA us-west2 US East Metal Virginia, USA us-east4-eqdc4a EU West Metal Amsterdam, Netherlands europe-west4-drams3a Southeast Asia Metal Singapore asia-southeast1-eqsg3a”

    Read 2026-09-13 · official docs · Report a correction

Support on entry paid plan

Heroku
Ticket-based support to technical or billing staff for all customers. Heroku Enterprise adds Salesforce Success Plans — Standard, Premier and Signature — which are what buy a named contact and a committed response.
Railway
Community support on Trial and on Hobby, the entry paid plan. Pro gets "Railway support"; Enterprise adds support SLOs.
Sources (2) →
  • Heroku Support ↗

    “Heroku Enterprise customers have access to a range of Salesforce Success Plans that offer additional guidance and support. All Customers Standard Success SELF-GUIDED RESOURCES Premier Success EXPERT GUIDANCE Signature Success PROACTIVE, PERSONALIZED PARTNERSHIP”

    Read 2026-09-14 · official site · Report a correction

  • Railway Pricing ↗

    “up to 5 GB storage single developer workspace Community support 99.9% availability target [...] unlimited workspace seats included Railway support 99.99% availability target”

    Read 2026-09-14 · official pricing · Report a correction

SOC 2

Heroku
SOC 1 and SOC 2/SSAE 16/ISAE 3402 (Previously SAS 70 Type II)
Railway
SOC 2 Type 2 and SOC 3, both listed under Compliance, with SOC 2 and SOC 3 reports among the documents. The reports are gated rather than public: the Trust Center asks visitors to request access and frames the whole page as starting a security review.
Sources (2) →
  • Heroku Security Policy ↗

    “SOC 1 and SOC 2/SSAE 16/ISAE 3402 (Previously SAS 70 Type II)”

    Read 2026-09-21 · official site · Report a correction

  • Railway Trust Center ↗

    “Use this Trust Center to learn about our security posture and request access to our security documentation. Compliance SOC 2 Type 2 SOC 3 HIPAA GDPR EU-US DPF Swiss-US DPF Documents All Public Private Get access Bulk download REPORTS HIPAA Report REPORTS Pentest Report REPORTS SOC 2 Report REPORTS SOC 3 Report”

    Read 2026-09-14 · official site · Report a correction

When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.

Confirm by email; unsubscribe from any issue. Your address goes to Kit and nowhere else — what we do with it.

03.

Documented by only one.

These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing — except where we say we read the other provider's own page on a given date and it does not state it. Those rows lean, and the provider can correct them with a link.

Free tierRailway: Yes
Kind of free offerRailway: Free tier
What the free plan includesRailway: A $0 plan alongside Hobby at $5 and Pro at $20. Deployment images on the free and trial tier are retained 24 hours, against 72 on Hobby.
Egress over allowanceRailway: $0.05 / GB
Storage (entry plan)Railway: 0.5 GB of volume storage on Free and up to 5 GB on Hobby ($5/month) — a ceiling, not an allocation, and volume storage is billed on usage rather than included. Recorded without a magnitude for the same reason as this record's memory figure: a cap you pay for is not comparable with an allowance you are given.
Monthly visits capRailway: No monthly visit or bandwidth cap is published. Rate limits are platform-wide: about 11,000 HTTP requests per second to a domain, and 10,000 concurrent connections.
File, inode or volume limitHeroku: 1000 MB maximum compressed slug size, platform-wide on all plans; raisable via support ticket
Concurrent buildsHeroku: 10 concurrent builds for verified users without an established payment history; 300 for verified users with one (platform-wide, all plans)
ContainersHeroku: Supported
Edge networkRailway: Supported
Uptime SLARailway: Published as availability targets rather than a contractual SLA: 99.9% on Hobby, 99.99% on Pro, 99.999% on Enterprise, which also adds support SLOs.
Audit logsRailway: Audit Logging is listed under Product Security, and Data Access Logging under Access Control. Neither is described further and no retention period is given.Heroku: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Heroku.
Response time commitmentHeroku: Best effort for a business-stopping issue on the plans any customer can buy. Heroku Enterprise Success Plans commit to 2 days in business hours, 1 hour, or 15 and 30 minute updates. Business hours are Monday to Friday, 9am-9pm Eastern.
HIPAARailway: HIPAA is listed under Compliance and a HIPAA report is among the documents, behind the same access request as the rest. The Trust Center does not mention a business associate agreement.Heroku: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Heroku.
GDPR / data residencyRailway: GDPR is listed under Compliance, alongside the EU-US and Swiss-US Data Privacy Frameworks. No region is named and no residency commitment is made anywhere on the page — the listing is about the regime, not about where data sits.Heroku: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Heroku.
Encryption at restRailway: Encryption-at-rest is listed under Data Security, beside Data Backups and Data Erasure. The Trust Center names the feature and gives no algorithm, scope or key-management detail; disk encryption appears separately under Endpoint Security, which is about staff devices rather than customer data.Heroku: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Heroku.
04.

Questions this comparison answers.

Entry paid plan: Heroku or Railway?

Heroku: $5 per month (Eco dynos plan, 1000 dyno hours shared across the account)

Railway: $5 / month (Hobby)

When you exceed a cap: Heroku or Railway?

Heroku: Service sleeps: on the Eco plan ($5/month for a 1000 dyno-hour pool, the cheapest paid tier) exhausting the pool forces every Eco dyno on the account to sleep for the rest of the month, and extra hours cannot be bought

Railway: Billed automatically: on the Hobby plan ($5/month, includes $5 of resource usage) usage above the included amount is charged as a delta on top of the subscription — no throttling or suspension is documented

Should I choose Heroku or Railway?

Pick Heroku if Teams that want to deploy by pushing to Git and let the platform handle the runtime, with Postgres, a scheduler and Docker deploys available on the same platform.

Pick Railway if Teams that want a plan fee which doubles as usage credit, and deploy services straight from a Dockerfile without managing servers. The $5 Hobby fee comes back as $5 of resource usage.

Provider pages

Related comparisons

Comments

Every page here is sourced and dated.