> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrating from win-64 to win-arm64 architecture

A growing number of Windows machines now use `win-arm64` processor architecture. This is a different processor architecture than `win-64` processor architecture, which has been the standard platform architecture in most Windows PCs for decades. Because these two architectures use different instruction sets, software compiled for one is not compatible with the other.

Anaconda now publishes `win-arm64` packages built specifically for Arm processors on Windows. Because `win-arm64` Windows supports both architectures with a built-in compatibility layer, you can run `win-64` applications on a `win-arm64` device with minimal configuration.

This guide covers the pros and cons of your architecture choices, how to install packages for each processor type, and how to make changes to your environments when needed.

## Choosing an architecture setup

If you have a Windows on Arm (`win-arm64`) device, you need to choose which Miniconda installer to use. You can install the `win-arm64` version to match your hardware, install the `win-64` version to keep full access to the existing package library, or install `win-arm64` and create specific environments for `win-64` packages as needed. The following table compares these options:

Miniconda Install Architecture

Pros

Cons

`win-arm64` installation

Best performance with no translation overhead

Fewer packages currently available than for `win-64`

`win-64` installation under emulation

Full `win-64` package coverage

Noticeably slower, especially for computation-heavy workloads like NumPy and BLAS

`win-arm64` installation with specific `win-64` environments

`win-arm64` performance for most work, with full `win-64` coverage available where needed

Requires managing environments across two architectures

> [!NOTE]
>
> Anaconda currently only publishes `win-arm64` installers for Miniconda. Anaconda Distribution installers are not yet available for `win-arm64`.

### How to decide

Check whether the packages your projects are using are available for `win-arm64`. Run the following command for each package:

```sh theme={null}
conda search <PACKAGE_NAME> --platform win-arm64
```

Comments

Replace \<PACKAGE\_NAME> with the name of the package you want to check.

You can also browse the [win-arm64 package listing](https://repo.anaconda.com/pkgs/main/win-arm64/) on repo.anaconda.com.

> [!TIP]
>
> `win-arm64` environments require Python 3.12 or later.

* If everything you need is available, install `win-arm64` Miniconda and use `win-arm64` packages for the best speed and performance.

* If your projects are using packages that require `win-64`, you do not have to migrate to `win-arm64`. Install a `win-64` (x86-64) version of Miniconda and use Anaconda's full library of `win-64` packages.

  > [!NOTE]
  >
  > The `win-64` package architecture is not being deprecated. It remains a fully supported platform architecture with no end of service date. You are not required to migrate to `win-arm64`.

* If some projects have packages that are available for `win-arm64` and others do not, install the `win-arm64` Miniconda and create `--platform win-64` environments for the projects that need them.

## Creating a `win-64` environment on a `win-arm64` installation

If you have installed `win-arm64` Miniconda but need to create an environment that uses `win-64` packages, use the `--platform` flag with `conda create`:

```sh theme={null}
conda create --platform win-64 --name <ENV_NAME> python=<PYTHON_VERSION> <PACKAGES>
```

Comments

Replace \<ENV\_NAME> with a name for your environment.\\

Replace \<PYTHON\_VERSION> with the Python version you need (for example, `3.14`).\\

Replace \<PACKAGES> with any additional packages to install, separated by spaces.

Conda records the target platform in the environment's configuration, so any future `conda install` commands in that environment will continue to pull `win-64` packages without needing to use the `--platform` flag again.

> [!WARNING]
>
> An environment's platform can only be configured when it is created.

## Migrating environments to `win-arm64`

To migrate your project environments to use `win-arm64` packages, you must export your existing environments, uninstall your current Miniconda installation, reinstall with the `win-arm64` installer, and recreate your environments.

**1. Export your environments from the `win-64` installation**

```sh theme={null}
conda env export --name <ENV_NAME> --file environment.yml
```

Comments

Replace \<ENV\_NAME> with the name of the environment you want to export.

Repeat this step for every environment you want to migrate.

> [!TIP]
>
> For long-lasting reproducibility, export your environment to a conda [lockfile](https://anaconda.com/docs/getting-started/working-with-conda/environments.md#locking-an-environment).

**2. Uninstall your current Miniconda installation**

Follow the [uninstallation instructions for Miniconda](https://anaconda.com/docs/getting-started/miniconda/uninstall.md).

**3. Install Miniconda for win-arm64**

Download and install the `win-arm64` Miniconda installer from [anaconda.com/download](https://www.anaconda.com/download). For architecture-specific instructions, see [Installing Miniconda](https://anaconda.com/docs/getting-started/miniconda/install/windows-gui-install.md).

**4. Recreate your environments on the new installation**

**Environment file**

```sh theme={null}
conda env create --file environment.yml
```

**Lockfile**

```sh theme={null}
conda create --name <ENV-NAME> --file conda-lock.yaml
```

Comments

Replace \<ENV-NAME> with the name of the environment you want to create.

Repeat this step for every environment you want to recreate.

If environment install fails, see [Windows Arm64 environment fails to recreate](#windows-arm64-environment-fails-to-recreate).

Troubleshoot

### Windows Arm64 environment fails to recreate

***

<details>
  <summary>Cause</summary>

  When recreating a `win-arm64` environment on a `win-arm64` installation, conda fails with an "unsatisfiable dependencies" or "package-not-found" error. This can happen for two reasons:

  * The environment pins a Python version earlier than 3.12. `win-arm64` packages are built for Python 3.12 and later.
  * The environment contains packages that do not have a `win-arm64` build.
</details>

***

<details>
  <summary>Solution</summary>

  If the environment pins Python earlier than 3.12, edit your `environment.yml` to update the Python version to 3.12 or later, then try again.\
  \\

  If the environment contains packages with no `win-arm64` build, recreate the environment with `--platform win-64` instead:

  ```sh theme={null}
  conda env create --file environment.yml --platform win-64
  ```

  This creates the environment under `win-64` emulation, where the full `win-64` package set is available.
</details>

## Related resources

* [Platform support policy](https://anaconda.com/docs/reference/policies-practices/platform-support.md) for supported platforms, Windows version dates, and architecture availability
* [Environments](https://anaconda.com/docs/getting-started/working-with-conda/environments.md) for general environment management
* [Installing Miniconda](https://anaconda.com/docs/getting-started/miniconda/install/windows-gui-install.md) for Windows installation steps
