I can tell you that the answer isn’t a simple “yes” or “no.” In the world of Microsoft Azure, there is a massive technical and financial difference between a Virtual Machine (VM) that is Stopped and one that is Deallocated.
If you want to manage your cloud budget efficiently and avoid “bill shock,” you need to understand the details about how Azure handles compute, storage, and networking costs when you hit that power button.
Table of Contents
Does Azure Charge For Stopped VM
To give you the short answer: Yes, Azure usually still charges you if the VM is just “Stopped,” but it stops charging for compute if the VM is “Deallocated.”
To understand why, we have to look under the hood of how Microsoft manages its data centers in regions like US East or US West. When you stop a VM from within the operating system (like clicking “Shut Down” in Windows), Azure still keeps the physical hardware “reserved” for you. Because that hardware can’t be sold to anyone else, Microsoft continues to charge you for the compute power.
The “Stopped” vs. “Deallocated” Distinction
In my experience, this is where 90% of the confusion lies. Let’s break down the two states:
- Stopped (Allocated): You shut down the VM from the guest OS (Windows or Linux). The Azure Portal will show the status as “Stopped.” In this state, the hardware stays tied to your account. You are still paying for compute.
- Stopped (Deallocated): You shut down the VM via the Azure Portal, Azure CLI, or PowerShell. The status will explicitly say “Stopped (Deallocated).” In this state, Azure releases the hardware resources. You stop paying for compute.
Breaking Down the Costs: What You Pay For
Even when a VM is Deallocated and the compute charges hit $0, your bill won’t completely disappear. Azure is a modular system. When you “turn off” a server, you are only turning off the “brain” (CPU and RAM). The “limbs” and “memory” still exist.
1. Compute Costs (The “Brain”)
This is the hourly rate for the VM size (e.g., a D2s_v3).
- Stopped: Charged.
- Deallocated: NOT Charged.
2. Disk Storage (The “Memory”)
Your VM has a virtual hard drive (OS Disk) and potentially data disks. Even if the server is off, that data is still sitting on a physical disk in a Microsoft data center.
- Stopped: Charged.
- Deallocated: Charged.
- Pro Tip: If you have a Premium SSD, you pay the full monthly price regardless of whether the VM is on or off.
3. Static Public IP Addresses
If you have reserved a specific static IP address for your web server so your clients in Los Angeles can always find you, Azure will charge a small nominal fee to keep that IP reserved while the VM is deallocated.
- Stopped: Usually charged (depending on the IP type).
- Deallocated: Charged.
4. Software Licensing
If you are running a VM with a specific license (like SQL Server or certain Marketplace images), those costs often follow the compute. If the VM is deallocated, you generally stop paying the per-hour licensing fee, provided you aren’t using “Bring Your Own License” (BYOL).
Comparison Table: Charges by VM State
| Resource Component | Running | Stopped (Allocated) | Stopped (Deallocated) |
| CPU / RAM (Compute) | Yes | Yes | No |
| OS Disk Storage | Yes | Yes | Yes |
| Data Disk Storage | Yes | Yes | Yes |
| Static Public IP | Yes | Yes | Yes |
| Standard License (SQL) | Yes | Yes | No |
Why “Deallocated” is the Secret to Saving Money
If you are running a development environment for a team in Silicon Valley that only works 9-to-5, leaving those VMs in a “Stopped” state overnight is essentially throwing money away.
By ensuring the VMs are Deallocated, you can save upwards of 60-70% on your monthly bill. In my architectural designs, I always implement “Auto-Shutdown” schedules.
How I Automate Savings
I use these two native Azure features:
- Auto-Shutdown: Within the Azure Portal, every VM has an “Auto-shutdown” blade. I set this to 6:00 PM local time for all non-production assets. This automatically triggers a deallocation.
- Azure Automation Tasks: For more complex environments, I use “Start/Stop VMs during off-hours” solutions. This allows me to wake up the servers at 8:00 AM before the team starts their morning coffee in New York.
Common Pitfalls to Avoid
- The RDP/SSH Shutdown: If you log into your Windows VM via Remote Desktop and click “Shut Down,” you have only Stopped it. You are still being billed. You must use the Portal or a script to Deallocate.
- Abandoned Disks: Sometimes people delete the VM but forget to delete the associated disks. I once found a client in Chicago paying $500 a month for disks attached to nothing!
- Reserved Instances (RI): If you have purchased a 1-year or 3-year “Reserved Instance” to save money, you have already paid for the compute. Deallocating the VM won’t save you more money because you’ve already committed to that capacity.
Conclusion
Understanding that Azure charges for compute in a “Stopped” state but not in a “Deallocated” state is the first step toward cloud financial journey. Whether you’re an independent developer or an IT Director, managing these states is the lowest trick for cost optimization.
You may also like the following articles:
- Start/Stop VM Using Azure CLI
- How to Create Azure VM (Virtual Machine)
- How to access Azure VM (Virtual Machine)
- How to SSH into Azure VM

I am Rajkishore, and I am a Microsoft Certified IT Consultant. I have over 14 years of experience in Microsoft Azure and AWS, with good experience in Azure Functions, Storage, Virtual Machines, Logic Apps, PowerShell Commands, CLI Commands, Machine Learning, AI, Azure Cognitive Services, DevOps, etc. Not only that, I do have good real-time experience in designing and developing cloud-native data integrations on Azure or AWS, etc. I hope you will learn from these practical Azure tutorials. Read more.
