Azure Storage Tiers: Hot, Cool, Cold, and Archive
Azure Blob Storage lets you assign each blob to an access tier — hot, cool, cold, or archive — that controls the balance between storage cost and access cost. Moving data to a colder tier costs less per gigabyte per month but more to read. Getting this balance right can cut your storage bill significantly for data you don’t access often.
Why tiers exist
Not all data gets accessed at the same rate. A user’s profile photo gets loaded on every login. A backup from three years ago might never be accessed unless something goes wrong. Charging the same rate for both is wasteful.
Azure solves this with access tiers. You pay less per gigabyte to store data in colder tiers, but pay more per operation (read, write, retrieve) when you access it. This mirrors real-world storage: cheap tape archives are slower and harder to access than fast spinning disks.
The four tiers explained
Hot tier
Hot is the default tier for new storage accounts. It has the highest storage cost per gigabyte but the lowest access cost. Use hot for data you read or write frequently — active application data, assets served to users, or any data where reads happen daily.
Cool tier
Cool costs less to store than hot, but more to access. Data in cool tier must be stored for at least 30 days — if you delete or move a blob before 30 days, you still pay for 30 days of cool storage. Use cool for data you access infrequently but need to access quickly when you do — monthly reports, short-term backups, data awaiting processing.
Cold tier
Cold was added in 2023 and sits between cool and archive. It’s cheaper to store than cool, more expensive to access, and has a minimum storage duration of 90 days. Use cold for data you access rarely — quarterly or less — but still need to retrieve without a long wait. Long-term backups and compliance archives that you occasionally need to inspect are good fits.
Archive tier
Archive is the cheapest storage tier by far, but blobs in archive are completely offline. You cannot read them directly. To access an archived blob, you must first rehydrate it to hot or cool tier — a process that can take up to 15 hours for standard priority rehydration. Archive has a minimum storage duration of 180 days.
Use archive for data you’re legally required to keep but genuinely never expect to need — compliance records, raw data after it’s been processed, or old backups retained for disaster recovery purposes.
Real cost comparison (East US, as of early 2026)
Prices vary by region. These approximate figures for East US illustrate the trade-off structure:
| Tier | Storage (per GB/month) | Read operations (per 10K) | Retrieval (per GB) | Min. storage days |
|---|---|---|---|---|
| Hot | ~$0.018 | ~$0.004 | $0 | None |
| Cool | ~$0.01 | ~$0.01 | ~$0.01/GB | 30 days |
| Cold | ~$0.0045 | ~$0.05 | ~$0.03/GB | 90 days |
| Archive | ~$0.00099 | ~$5.50 | ~$0.02/GB | 180 days |
A concrete example: if you store 10 TB of data that you read once a year (like annual tax records), archive tier costs about $10/month. Hot tier for the same 10 TB costs about $180/month. That’s $1,680 per year saved for data you access once.
Always check the Azure pricing page for current rates in your region — prices change and vary by region.
Setting and changing tiers with Azure CLI
# Set the default access tier on a storage account (hot or cool only)
az storage account update \
--name mystorageaccount123 \
--resource-group my-storage-rg \
--access-tier Cool
# Set a single blob to cool tier
az storage blob set-tier \
--account-name mystorageaccount123 \
--container-name backups \
--name 2026-01-31-backup.tar.gz \
--tier Cool \
--auth-mode login
# Set a blob to archive tier
az storage blob set-tier \
--account-name mystorageaccount123 \
--container-name backups \
--name 2024-01-31-backup.tar.gz \
--tier Archive \
--auth-mode login
# Rehydrate a blob from archive to hot (standard priority)
az storage blob set-tier \
--account-name mystorageaccount123 \
--container-name backups \
--name 2024-01-31-backup.tar.gz \
--tier Hot \
--rehydrate-priority Standard \
--auth-mode login
# Rehydrate with high priority (faster, costs more)
az storage blob set-tier \
--account-name mystorageaccount123 \
--container-name backups \
--name 2024-01-31-backup.tar.gz \
--tier Hot \
--rehydrate-priority High \
--auth-mode login
# Check rehydration status
az storage blob show \
--account-name mystorageaccount123 \
--container-name backups \
--name 2024-01-31-backup.tar.gz \
--auth-mode login \
--query "properties.rehydrationStatus"When a blob is rehydrating from archive, the rehydrationStatus property shows rehydrate-pending-to-hot or rehydrate-pending-to-cool. Once complete, it disappears and the blob is accessible.
Account-level tier vs. blob-level tier
There are two places to set a tier:
- Account-level default — set to hot or cool. This is the tier applied to any new blob that doesn’t have its own tier set.
- Blob-level override — set on individual blobs using
az storage blob set-tier. This overrides the account default for that specific blob.
Archive is only available at the blob level. You cannot set an entire account to archive tier. To move many blobs to archive automatically over time, use lifecycle management policies (covered in the next page).
If a blob has no explicit tier set, it inherits the account’s default tier. When you change the account’s default tier, blobs without an explicit tier setting change too — which could increase retrieval costs if you switch from hot to cool for a container full of actively accessed files. Always check before changing account-level defaults.
Choosing the right tier for your data
Here’s a practical decision framework:
- Accessed daily or weekly: Hot
- Accessed monthly, short-term backup (under 90 days): Cool
- Accessed rarely, longer-term backup (90 days to 1 year): Cold
- Retained for compliance, almost never accessed (over 180 days): Archive
If you’re unsure about access patterns, start with hot and let lifecycle management (described in the next page) automatically move data to colder tiers as it ages. This approach is safer than guessing upfront and finding that archive blobs get accessed more than expected.
Common mistakes
- Archiving data you’ll need to restore quickly. Archive rehydration takes up to 15 hours on standard priority. If you’re archiving backup files that you’d need to restore urgently during an incident, you’ll be waiting for hours at exactly the worst time. Use cold or cool for backups that are part of your recovery plan.
- Ignoring the minimum storage duration penalties. Moving a blob to cool after 10 days and then deleting it after day 20 means you pay for 30 days of cool storage total — even though the blob was stored for only 20. Account for these penalties when calculating cost savings.
- Setting the account default to cool and forgetting about it. If all your blobs inherit cool tier because you set the account default to cool, frequently accessed blobs become expensive to read. Set account defaults to hot and use lifecycle policies or explicit blob-level tiers for cold data.
- Not monitoring rehydration progress. Rehydration from archive is an async operation. If your application tries to read the blob before it’s ready, it gets a 409 Conflict error. Poll the blob properties or set up an Event Grid notification to know when rehydration completes.
Summary
- Azure Blob Storage has four access tiers: hot (frequent access), cool (infrequent, 30-day minimum), cold (rare, 90-day minimum), and archive (offline, 180-day minimum).
- Colder tiers cost less to store but more to access — the trade-off is between monthly storage cost and per-read retrieval cost.
- Archive blobs must be rehydrated before you can read them, which takes up to 15 hours on standard priority.
- Set a sensible account-level default and use blob-level overrides or lifecycle policies to automatically move data to colder tiers as it ages.
Frequently asked questions
Can I change a blob's access tier after uploading?
Yes. You can change a block blob's tier at any time with az storage blob set-tier or through the Azure Portal. Moving from hot to cool or archive is immediate. Rehydrating from archive takes hours.
What happens if I access a blob in archive tier?
Archive blobs are offline. To read one, you must first rehydrate it to hot or cool tier. Standard rehydration takes up to 15 hours. High-priority rehydration is available for urgent access and typically completes in under 1 hour for blobs under 10 GB, but costs more.
Does the access tier setting on the storage account matter?
Yes. The account-level setting (hot or cool) is the default tier applied to new blobs that don't have a blob-level tier set. You can override it on a per-blob basis. Archive is only available at the blob level — you cannot set an entire account to archive.