Topaz brings the full Azure resource and service model to your local machine — no cloud subscription, no network latency, no billing surprises.
Emulated at both control-plane and data-plane level so your ARM deployments and SDK calls both work out of the box.
Topaz integrates with the tools you already use — no custom SDKs or wrappers needed.
Designed to reduce developer friction at every step of the inner loop.
Topaz speaks the same REST and AMQP protocols as Azure. Your existing Azure SDK code works against Topaz without any modifications.
Replace Azurite, the Service Bus emulator, Event Hub emulator and others with a single binary or container — one process, one config.
Deploy your Infrastructure-as-Code templates locally. Topaz evaluates ARM and Bicep files and provisions the described resources.
Trust relationships, RBAC role assignments, managed identities and Entra ID token issuance — all emulated without cloud credentials.
macOS, Linux, Windows. Self-contained single binary or Docker container. No cloud subscription or internet access required.
Subscriptions, resource groups and resources mirror the real ARM hierarchy so SDK and Azure CLI commands feel identical.
A built-in web UI inspired by the Azure Portal. Visualise and manage everything running inside the emulator without touching the CLI or REST APIs.
Browse all emulated subscriptions and resource groups, inspect tags and navigate the full ARM resource hierarchy.
View the status and details of every ARM template or Bicep deployment and the resources it provisioned.
Inspect role definitions and review or modify role assignments across subscriptions and resource groups.
Manage users, groups, applications and service principals directly from the browser — no API calls needed.
Point your tools and SDKs at the Topaz endpoint — nothing else changes.
# 1. Start Topaz
topaz start --tenant-id <your-entra-tenant-id> \
--default-subscription 36a28ebb-9370-46d8-981c-84efe02048ae
# 2. Register Topaz as a cloud environment (one-time setup)
az cloud register -n Topaz --cloud-config @"cloud.json"
# 3. Log in (disable instance discovery for the local tenant)
export AZURE_CORE_INSTANCE_DISCOVERY=false
az login
# 4. Use Azure CLI commands exactly as in production
az group create \
--name my-rg \
--location eastus
az storage account create \
--name mystorageaccount \
--resource-group my-rg \
--sku Standard_LRS
az keyvault create \
--name my-vault \
--resource-group my-rg \
--location eastus
Topaz is free and open-source. Get up and running in minutes.