---
title: fake_provider (v1.2)
description: API reference for qiskit.providers.fake_provider in qiskit v1.2
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.2/providers_fake_provider
---

# Fake Provider

`qiskit.providers.fake_provider`

## Overview

The fake provider module in Qiskit contains fake (simulated) backend classes useful for testing the transpiler and other backend-facing functionality.

### Example Usage

Here is an example of using a simulated backend for transpilation and running.

```python
from qiskit import QuantumCircuit, transpile
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.visualization import plot_histogram

# Generate a 5-qubit simulated backend
backend = GenericBackendV2(num_qubits=5)

# Create a simple circuit
circuit = QuantumCircuit(3)
circuit.h(0)
circuit.cx(0,1)
circuit.cx(0,2)
circuit.measure_all()
circuit.draw('mpl')

# Transpile the ideal circuit to a circuit that can be directly executed by the backend
transpiled_circuit = transpile(circuit, backend)
transpiled_circuit.draw('mpl')

# Run the transpiled circuit using the simulated backend
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
plot_histogram(counts)
```

![../\_images/providers\_fake\_provider-1\_00.png](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/1.2/providers_fake_provider-1_00.avif)

![../\_images/providers\_fake\_provider-1\_01.png](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/1.2/providers_fake_provider-1_01.avif)

![../\_images/providers\_fake\_provider-1\_02.png](https://eu-de.quantum.cloud.ibm.com/docs/images/api/qiskit/1.2/providers_fake_provider-1_02.avif)

## V2 Simulated Backends

|                                                                                                                                                                                 |                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`GenericBackendV2`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2")(num\_qubits\[, basis\_gates, ...]) | Generic [`BackendV2`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") implementation with a configurable constructor. |

## V1 Fake Backends (Legacy interface)

|                                                                                                                                             |                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [`FakeOpenPulse2Q`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.FakeOpenPulse2Q "qiskit.providers.fake_provider.FakeOpenPulse2Q")() | A fake 2 qubit backend for pulse test.                       |
| [`FakeOpenPulse3Q`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.FakeOpenPulse3Q "qiskit.providers.fake_provider.FakeOpenPulse3Q")() | Trivial extension of the FakeOpenPulse2Q.                    |
| [`Fake1Q`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.Fake1Q "qiskit.providers.fake_provider.Fake1Q")()                            | A fake 1Q backend.                                           |
| [`Fake5QV1`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.Fake5QV1 "qiskit.providers.fake_provider.Fake5QV1")()                      | A fake backend with the following characteristics:           |
| [`Fake20QV1`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.Fake20QV1 "qiskit.providers.fake_provider.Fake20QV1")()                   | A fake backend with the following characteristics:           |
| [`Fake7QPulseV1`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.Fake7QPulseV1 "qiskit.providers.fake_provider.Fake7QPulseV1")()       | A fake **pulse** backend with the following characteristics: |
| [`Fake27QPulseV1`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.Fake27QPulseV1 "qiskit.providers.fake_provider.Fake27QPulseV1")()    | A fake **pulse** backend with the following characteristics: |
| [`Fake127QPulseV1`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.Fake127QPulseV1 "qiskit.providers.fake_provider.Fake127QPulseV1")() | A fake **pulse** backend with the following characteristics: |

## Fake Backend Base Classes

The V1 fake backends are based on a set of base classes:

### FakeBackend

*class* `qiskit.providers.fake_provider.FakeBackend(configuration, time_alive=10)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/providers/fake_provider/fake_backend.py#L39-L165)

This is a dummy backend just for testing purposes.

FakeBackend initializer.

> **Deprecated since version 1.2**
>
> The class `qiskit.providers.fake_provider.fake_backend.FakeBackend` is deprecated as of qiskit 1.2. It will be removed in the 2.0 release. Fake backends using BackendV1 are deprecated in favor of [`GenericBackendV2`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2"). You can convert BackendV1 to [`BackendV2`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") with [`BackendV2Converter`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter").

**Parameters**

- **configuration** ([*BackendConfiguration*](/docs/api/qiskit/1.2/qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")) – backend configuration
- **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int)) – time to wait before returning result

### FakeQasmBackend

*class* `qiskit.providers.fake_provider.FakeQasmBackend`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/providers/fake_provider/fake_qasm_backend.py#L32-L77)

A fake OpenQASM backend.

FakeBackend initializer.

> **Deprecated since version 1.2**
>
> The class `qiskit.providers.fake_provider.fake_backend.FakeBackend` is deprecated as of qiskit 1.2. It will be removed in the 2.0 release. Fake backends using BackendV1 are deprecated in favor of [`GenericBackendV2`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2"). You can convert BackendV1 to [`BackendV2`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") with [`BackendV2Converter`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter").

**Parameters**

- **configuration** ([*BackendConfiguration*](/docs/api/qiskit/1.2/qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")) – backend configuration
- **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int)) – time to wait before returning result

### FakePulseBackend

*class* `qiskit.providers.fake_provider.FakePulseBackend`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/providers/fake_provider/fake_pulse_backend.py#L25-L44)

A fake pulse backend.

FakeBackend initializer.

> **Deprecated since version 1.2**
>
> The class `qiskit.providers.fake_provider.fake_backend.FakeBackend` is deprecated as of qiskit 1.2. It will be removed in the 2.0 release. Fake backends using BackendV1 are deprecated in favor of [`GenericBackendV2`](/docs/api/qiskit/1.2/qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2"). You can convert BackendV1 to [`BackendV2`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") with [`BackendV2Converter`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter").

**Parameters**

- **configuration** ([*BackendConfiguration*](/docs/api/qiskit/1.2/qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")) – backend configuration
- **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int)) – time to wait before returning result
