Table of Contents [expand]
Last updated October 15, 2026
This article describes the method for changing the plan of an Apache Kafka on Heroku cluster. See Choosing the Right Apache Kafka on Heroku Plan for a list of Apache Kafka on Heroku plans.
Change the plan of your Apache Kafka on Heroku add-on with the heroku addons:upgrade CLI command. Use this command to:
- Upgrade or downgrade between multi-tenant Kafka Basic plans.
- Upgrade or downgrade between dedicated cluster plans.
You can’t use this command to:
- Upgrade or downgrade between a multi-tenant plan and a dedicated plan.
- Upgrade or downgrade between Common Runtime plans and Private or Shield-tier plans.
These cases require a migration between your source and target Apache Kafka on Heroku add-ons.
You can’t downgrade to a smaller plan if your cluster’s data size is over the limit of the plan you’re downgrading to.
Find Your Cluster Resource Name
To change your Apache Kafka on Heroku plan, find the resource name of the Kafka cluster to upgrade or downgrade. The resource name is a globally unique name of the cluster across all of your apps and add-ons:
$ heroku kafka:info -a example-app
=== kafka-animated-39618
Plan: heroku-kafka:standard-0
Status: available
Version: 3.7.1
Created: 2026-06-01 16:28:54 +0000
Topics: 84 topics, see heroku kafka:topics
Partitions: [··········] 417 / 12000 partition replicas (partitions × replication factor)
Messages: 5 message/s
Traffic: 32 byte/s in / 166 byte/s out
Data Size: [··········] 68.38 MB / 150.00 GB (0.04%)
Add-on: kafka-animated-39618
Upgrade Plan
This example upgrades kafka-animated-39618 from a standard-0 plan to a extended-1 plan.
$ heroku addons:upgrade kafka-animated-39618 extended-1 -a example-app
Changing kafka-animated-39618 on ⬢ example-app from heroku-kafka:standard-0 to heroku-kafka:extended-1... done, ~$6.944/hour (max $5000/month)
Kafka cluster is being upgraded, and will be ready shortly.
Please use `heroku kafka:wait` to monitor the status of your upgrade.
Heroku performs Apache Kafka on Heroku plan upgrades and downgrades in-place and doesn’t require cluster downtime.
Heroku rebalances the partition between brokers if the plan change requires adding new brokers or removing existing ones. For example, when changing between standard and extended plan tiers, which differ in broker count.
You must migrate the data when moving between multi-tenant and dedicated plans, or between Common Runtime and Private or Shield Spaces. See Apache Kafka on Heroku Add-on Migration for more information.
Check Upgrade Status
Follow the plan upgrade process with the heroku kafka:wait CLI command:
$ heroku kafka:wait -a example-app
Waiting for cluster kafka-animated-39618... ⡿ upgrading
Alternatively, you can also use heroku kafka:info to check the status of your add-on:
$ heroku kafka:info kafka-convex-12345 -a example-app
=== kafka-animated-39618
Plan: heroku-kafka:extended-1
Status: upgrading
Version: 3.7.1
Created: 2026-06-01 16:28:54 +0000
Topics: 84 topics, see heroku kafka:topics
Partitions: [··········] 417 / 12000 partition replicas (partitions × replication factor)
Messages: 5 message/s
Traffic: 32 byte/s in / 166 byte/s out
Data Size: [··········] 68.38 MB / 150.00 GB (0.04%)
Add-on: kafka-animated-39618
The time it takes to complete an upgrade depends on the difference of the plans and the size of the stream volume. If the upgrade or downgrade is between levels of the same tier, for example, standard-0 to standard-1, the upgrade is almost immediate. If the upgrade or downgrade is between different tiers, for example, standard to extended, we create or remove the extra brokers that each plan offers and rebalance partitions between the final number of brokers. There’s no downtime in this process, but the upgrade takes time to complete depending on the size of the cluster.