Heroku says "Application Error". How do I fix it?

Also searched as: Heroku application error · Application error heroku logs · An error occurred in the application and your page could not be served · Heroku application error for a successfully deployed React app

Updated 3 October 2026

Short answer

"Application Error" is Heroku's generic page for "your app isn't answering". The reason is in your logs as an error code. Run heroku logs --tail, load the site, and look for the code: H10 means the app crashed, R10 means it didn't start listening on its port within 60 seconds, H14 means no web process is running, and R14 means it ran out of memory. Each has its own fix.

What's the problem

The deploy finished, Heroku said it succeeded, and the site shows "Application error: An error occurred in the application and your page could not be served." It may have worked yesterday.

Why it happens

A successful deploy only means the code was built. Whether it then starts and stays up is a separate question, and Heroku shows the same page whatever the answer is.

  • H10, app crashed. The app started and died, or never finished starting. The lines just above the H10 in the log usually show the real error: a missing environment variable, a missing package, or a database it can't reach.
  • R10, boot timeout. Heroku assigns your app a port in the PORT environment variable and waits 60 seconds for it to start listening there. An app hard-wired to port 3000 never does.
  • H14, no web process. Only a process declared as web in the Procfile receives traffic. If there's no web line, or it's scaled to zero, there's nothing to answer.
  • R14, memory quota exceeded. The app uses more memory than the dyno has.
  • A frontend deployed as if it were a server. A React app is a set of files, not a running server. Pushed to Heroku without something to serve those files, it has nothing listening, and you get this page.

How to fix it

  1. Read the logs: heroku logs --tail, then reload the site in your browser and watch the error appear.
  2. H10: scroll up from the H10 line to the first real error and fix that. Usually a setting in Settings → Config Vars or a missing dependency.
  3. R10: make the server listen on process.env.PORT (or your language's equivalent), not a fixed number.
  4. H14: check the Procfile has a web: line, then run heroku ps:scale web=1.
  5. R14: reduce memory use, or move to a dyno with more memory.
  6. Frontend-only apps: serve the built files with a small static server, or host the frontend on a static host instead.

When to call Preventionlabs

If the log names one missing setting, fix it and you're live. Call us when the app depends on old buildpacks, a Heroku setup nobody documented, or add-ons that no longer exist, or when you want it off Heroku altogether. A resurrection gets it running in your own hosting account, on infrastructure that scales through configuration, and hands it back with notes on how to run and deploy it.

Submit your project for a free assessment

Free assessment. $10,000 AUD flat to get it live, only if we take it on and you go ahead.

Sources

  1. Heroku: Logginghosting platform docsTo fetch your app’s most recent logs, use the heroku logs command:
  2. Heroku: Heroku Error Codes: H10 App crashedhosting platform docsA crashed web dyno or a boot timeout on the web dyno will present this error.
  3. Heroku: Heroku Error Codes: R10 Boot timeouthosting platform docsError R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
  4. Heroku: The Procfilehosting platform docsA Heroku app’s web process type is special: it’s the only process type that can receive external HTTP traffic from Heroku’s routers.
  5. Heroku: Heroku Error Codes: H14 No web dynos runninghosting platform docs$ heroku ps:scale web=1
← All of Live but broken