Deep-dive on the Next Gen Platform. Join the Webinar!

Skip Navigation
Show nav
Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Visit the Heroku Blog

    Find news and updates from Heroku in the blog.

    Visit Blog
  • Log inorSign up
Hide categories

Categories

  • Heroku Architecture
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Developer Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Working with Node.js
      • Troubleshooting Node.js Apps
      • Node.js Behavior in Heroku
    • Ruby
      • Rails Support
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Working with AI
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Heroku Architecture
  • Compute (Dynos)
  • Dyno Concepts
  • Eco Dyno Hours

Eco Dyno Hours

English — 日本語に切り替える

Last updated October 16, 2024

Table of Contents

  • Plan Info
  • Subscribing to the Eco Dynos Plan
  • Dyno Sleeping
  • Remaining Eco Dyno Hours
  • Unsubscribe from the Eco Dynos Plan
  • Managing Your Eco Dyno Usage

Eco dynos are an economical way to run apps in your account. The Eco dynos plan provides a monthly pool of Eco dyno hours. This pool is shared by all Eco dynos in your account, so it’s possible to run multiple apps for a $5 monthly flat fee. Eco dynos sleep automatically after a period of inactivity to conserve your dyno hours.

Only personal apps can use Eco dynos. Personal apps are apps that aren’t a part of a Heroku Team or Enterprise Team.

Plan Info

The Eco dynos plan provides 1000 dyno hours for $5 per month. This dyno hours pool is shared by all Eco dynos in your account.

The Eco dynos plan always renews on the first day of each month.

If you subscribe to Eco after the first day, you are still charged the full $5 for that month. You can unsubscribe from the plan at any time.

Subscribing to the Eco Dynos Plan

You must subscribe to the Eco dynos plan to scale up Eco dynos. You can subscribe on your account’s Billing page.

Subscribe to Eco on Billing page

Eco Dyno Hour Pool

The app owner must subscribe to the Eco dynos plan before you can scale up its Eco dynos. Subscribing to the plan immediately gives you 1000 dyno hours for the current month.

An app actively consumes Eco dyno hours if the app is set to use eco dynos and any of the following are true:

  • It has an Eco web dyno that can receive traffic (not sleeping).
  • It has an Eco worker dyno running.
  • It has a one-off Eco dyno running. For example, one started with the CLI or the Heroku Scheduler.

Eco dyno hours are non-transferable. If you transfer an application to a different account, the usage while the app was on your account remains until it resets the following month.

Personal apps and pipelines that you own and use Eco dynos consume dyno hours. Any Eco dynos used in your review apps, Heroku CI or other parts of your pipeline count towards your Eco dyno hours usage.

For example, you run one Eco dyno in a review app for 5 seconds, and another Eco dyno for your staging app for 7 minutes this month. You have 999 hours, 52 minutes, and 55 seconds remaining in your dyno hour pool for the month.

If you’re a collaborator on someone else’s app or pipeline, Heroku counts the dyno usage against the app owner’s Eco dyno hours, not yours. You don’t have to subscribe to Eco as a collaborator before you can scale up Eco dynos on that app, but the app owner does.

Dyno Sleeping

If an app has an Eco web dyno, and that dyno receives no web traffic in a 30-minute period, it sleeps. In addition to the web dyno sleeping, if you have a worker Eco dyno, it also sleeps.

Eco web dynos do not consume Eco dyno hours while sleeping.

If a sleeping web dyno receives web traffic, and your account has dyno hours available, the dyno becomes active again after a short delay.

Apps that only use an Eco worker dyno don’t sleep, because they don’t respond to web requests. Be mindful of this as they may run 24/7 and consume from your pool of hours.

Occasionally, monitoring services such as Pingdom or New Relic monitoring can prevent a web dyno from sleeping. Run heroku logs -t to view your app’s logs to see if this is the case and turn off these services if it’s happening.

Remaining Eco Dyno Hours

When you use all your Eco dyno hours for a given month, all Eco dynos on your account are forced to sleep for the rest of the month. You can’t purchase additional dyno hours. If you need your apps to be up and running, you can upgrade to the Basic dyno ($0.01/hr).

You can view the amount of Eco dyno hours remaining in your account by using the CLI. Run heroku ps on one of your apps using Eco dynos.

$ heroku ps -a example-app

650 eco dyno hours (65%) used
350 hours remaining

=== web (Eco): bundle exec puma -C config/puma.rb (1)
web.1: idle 2022/11/28 15:51:45 -0700 (~ 22h ago)

Alternatively, you can also view your remaining hours on the Billing page of your dashboard. The stats are refreshed daily.

Eco Dyno Hours on Billing page

Notifications

When you exceed 80% of your Eco dyno quota, you receive an email notification warning you of your account usage, giving you time to adjust Eco dyno usage across your apps.

A second notification is sent when you reach 100% of your account quota, at which point your application’s dynos are put to sleep for the remainder of that month. As a result, any apps using Eco dynos won’t be accessible for the remainder of the month.

Unsubscribe from the Eco Dynos Plan

You can unsubscribe from the Eco dynos plan from the Billing page of your dashboard.

When you cancel your plan:

  • You can still use your remaining pool of hours until the end of the current month.
  • If you run out of hours, all Eco dynos sleep for the rest of the month.
  • Next month, all Eco dynos scale to 0 unless you subscribe to the Eco dynos plan again.
  • If you resubscribe to Eco in the same month that you unsubscribed, your previous usage is preserved and you won’t be charged again until the next month.

Managing Your Eco Dyno Usage

  • Scale down apps that you don’t use, and ensure that one-off dynos don’t stay running
  • Upgrade any apps that are critical to Basic dynos
  • Turn off any pinger or monitoring, such as New Relic or Pingdom, as they may unintentionally keep your app awake

Keep reading

  • Dyno Concepts

Feedback

Log in to submit feedback.

One-Off Dynos Guidance for Choosing a Dyno

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices