Multi-Vendor + Q#

Azure Quantum

Microsoft's quantum computing platform. Access IonQ, Quantinuum, and Rigetti hardware, develop in Q#, estimate fault-tolerant resources, and track Microsoft's topological qubit research program.

Microsoft's quantum platform and long-term hardware bet

Azure Quantum is Microsoft's cloud quantum computing service, providing access to hardware from IonQ (trapped ion), Quantinuum (trapped ion), and Rigetti (superconducting) through the Azure portal and SDK. Like Amazon Braket, it takes a multi-vendor approach, but Azure Quantum's differentiating focus is on tooling for the fault-tolerant era: the Q# language, the Quantum Development Kit, and the Azure Quantum Resource Estimator.

Q# is a domain-specific quantum programming language developed by Microsoft. Unlike Python-based SDKs that treat quantum circuits as library objects, Q# is a full language with classical control flow, recursion, type safety, and rich built-in operations for quantum arithmetic, phase estimation, and amplitude amplification. The QDK VS Code extension provides an integrated development environment with local simulation, resource estimation, and hardware submission without leaving the editor.

Microsoft's long-term hardware strategy centers on topological qubits. Unlike superconducting or trapped-ion qubits, topological qubits based on Majorana fermions are theorized to be inherently more robust to local noise, potentially requiring far fewer physical qubits per logical qubit for error correction. In February 2025, Microsoft announced Majorana 1, its first topological qubit chip, marking the transition from purely theoretical research to physical demonstration. As of 2026, Majorana 1 is in extended hardware testing. Full programmable topological quantum computing remains a longer-horizon goal.

Systems and specs at a glance

Specification Value
Hardware providers IonQ, Quantinuum, Rigetti (multi-vendor)
Microsoft hardware (research) Majorana 1 (topological qubit chip, announced 2025)
Gate-based systems IonQ Aria, IonQ Forte, Quantinuum H2-1, Rigetti
Primary language Q# (Microsoft's quantum programming language)
SDKs Quantum Development Kit (QDK), azure-quantum Python SDK
Also supports Qiskit via qiskit-azure-quantum, Cirq
Resource Estimator Estimates T gates, logical qubits, and runtime for fault-tolerant algorithms
Free credits $500 Azure Quantum Credits for new accounts
Browser access Q# playground at quantum.microsoft.com, no account needed
Hybrid workflows Integrated with Azure ML; quantum-inspired optimization (QIO)

Where Azure Quantum excels

Run your first Q# program on Azure Quantum

  1. Try Q# in the browser (no account needed)

    Go to quantum.microsoft.com and open the Q# playground. You can write and run Q# programs against a built-in simulator directly in the browser. The Resource Estimator is also available here without signing in.

  2. Install the QDK VS Code extension

    # In VS Code, search the extensions marketplace for:
    # "Azure Quantum Development Kit"
    
    # Or install the Python package for azure-quantum:
    pip install azure-quantum

    The QDK extension adds Q# syntax highlighting, IntelliSense, a built-in simulator, and the Resource Estimator directly in VS Code. Python interop lets you call Q# operations from a Python host program.

  3. Write a Bell state in Q#

    namespace BellState {
        open Microsoft.Quantum.Diagnostics;
    
        @EntryPoint()
        operation MeasureBellPair() : (Result, Result) {
            use (q0, q1) = (Qubit(), Qubit());
            H(q0);
            CNOT(q0, q1);
            let r0 = M(q0);
            let r1 = M(q1);
            Reset(q0);
            Reset(q1);
            return (r0, r1);
        }
    }

    Run this locally with the QDK simulator using dotnet run or the VS Code run button. Results will be either (Zero, Zero) or (One, One), confirming entanglement.

  4. Use the Resource Estimator

    # In Python with the azure-quantum SDK:
    from azure.quantum import Workspace
    from azure.quantum.target.microsoft import MicrosoftEstimator
    
    workspace = Workspace(
        resource_id="/subscriptions/.../resourceGroups/.../providers/...",
        location="eastus"
    )
    
    estimator = MicrosoftEstimator(workspace=workspace)
    # Submit a Q# program and get physical resource counts back

    The Resource Estimator accepts Q# programs and returns detailed physical resource breakdowns: logical qubit count, T factory count, code distance, physical qubit count, and estimated runtime. No hardware is consumed; it is a classical calculation.

  5. Submit to hardware via Qiskit (IonQ example)

    pip install azure-quantum[qiskit]
    
    from azure.quantum.qiskit import AzureQuantumProvider
    from qiskit import QuantumCircuit
    
    provider = AzureQuantumProvider(
        resource_id="YOUR_RESOURCE_ID",
        location="eastus"
    )
    
    backend = provider.get_backend("ionq.simulator")
    
    qc = QuantumCircuit(2)
    qc.h(0)
    qc.cx(0, 1)
    qc.measure_all()
    
    job = backend.run(qc, shots=500)
    print(job.result().get_counts())

    You can use your existing Qiskit circuits on Azure Quantum hardware by installing the azure-quantum Qiskit provider. Change the backend string to target IonQ or Quantinuum hardware.

Access plans and costs

New Azure Quantum accounts receive $500 in free credits. The Q# playground and Resource Estimator are free with no account. Hardware is billed per provider through your Azure subscription.

Tutorials and reference docs