Katabarwa Labs
← Blog

Find and delete orphaned Azure resources that are still costing you money

Azure cost management · August 26, 2026 · 6 min read

Deleting a virtual machine in Azure does not always delete everything attached to it. Managed disks, network interfaces, and public IP addresses can be left behind, and they keep billing every month whether or not anything uses them. Over a year across a busy subscription, these orphans quietly add up. This is exactly the pain behind the long-running, heavily-voted "delete a VM with all its associated resources" request on the Azure feedback forum.

What counts as an orphaned resource

The DIY approach: Resource Graph queries

Azure Resource Graph is the fastest way to find these across every subscription at once. A couple of starting points:

Unattached managed disks:

Public IPs with nothing associated:

Azure Advisor also surfaces some idle and unattached resources under its cost recommendations, and the portal now cleans up disks and NICs at VM-delete time if you opt in. But none of this gives you a standing, all-up report of what is still billing after the fact, with an estimate of the monthly cost, which is what you actually want for a recurring FinOps review.

Delete carefully. An unattached disk can still hold data you want, and a public IP may be referenced in DNS or a firewall rule. Always review before deleting, and prefer a report you can sign off on over a script that deletes on sight.

A ready-made option: Orphan Cleanup

Our tool for this: Orphan Cleanup on the Azure Marketplace. It runs as a managed application inside your own subscription, so nothing leaves your tenant.

Orphan Cleanup runs a daily scan and lists every unattached disk, unassociated public IP, orphaned NIC, and empty App Service plan, each with its estimated monthly cost, so you get a standing report of what is still costing you after a delete. It is read-only by default, and any resource you tag orphan-cleanup-exempt=true is never touched. It runs entirely in your own subscription under a managed identity you control.

Key facts

Related reading: how to put a hard spending cap on Azure.


Written by the team at Katabarwa Labs. We build small, single-purpose Azure tools that run entirely inside your own tenant. Questions: abaho@llmgraph.ai.