diff --git a/emsdk.py b/emsdk.py
index 17b8506..ffd1748 100644
--- a/emsdk.py
+++ b/emsdk.py
@@ -141,12 +141,17 @@
 elif machine.endswith('86'):
   ARCH = 'x86'
 elif machine.startswith('aarch64') or machine.lower().startswith('arm64'):
-  ARCH = 'aarch64'
+  if WINDOWS:
+    errlog('No support for Windows on Arm, fallback to x64')
+    ARCH = 'x86_64'
+  else:
+    ARCH = 'arm64'
 elif machine.startswith('arm'):
   ARCH = 'arm'
 else:
   exit_with_error('unknown machine architecture: ' + machine)
 
+
 # Don't saturate all cores to not steal the whole system, but be aggressive.
 CPU_CORES = int(os.getenv('EMSDK_NUM_CORES', max(multiprocessing.cpu_count() - 1, 1)))
 
@@ -254,7 +259,7 @@
       program_files = os.environ['ProgramFiles']
     vswhere_path = os.path.join(program_files, 'Microsoft Visual Studio', 'Installer', 'vswhere.exe')
     # Source: https://learn.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-build-tools?view=vs-2022
-    tools_arch = 'ARM64' if ARCH == 'aarch64' else 'x86.x64'
+    tools_arch = 'ARM64' if ARCH == 'arm64' else 'x86.x64'
     # The "-products *" allows detection of Build Tools, the "-prerelease" allows detection of Preview version
     # of Visual Studio and Build Tools.
     output = json.loads(subprocess.check_output([vswhere_path, '-latest', '-products', '*', '-prerelease', '-version', '[%s.0,%s.0)' % (version, version + 1), '-requires', 'Microsoft.VisualStudio.Component.VC.Tools.' + tools_arch, '-property', 'installationPath', '-format', 'json']))
@@ -1018,13 +1023,13 @@
 def cmake_target_platform(tool):
   # Source: https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2017%202022.html#platform-selection
   if hasattr(tool, 'arch'):
-    if tool.arch == 'aarch64':
+    if tool.arch == 'arm64':
       return 'ARM64'
     elif tool.arch == 'x86_64':
       return 'x64'
     elif tool.arch == 'x86':
       return 'Win32'
-  if ARCH == 'aarch64':
+  if ARCH == 'arm64':
     return 'ARM64'
   else:
     return 'x64' if tool.bitness == 64 else 'Win32'
@@ -1033,7 +1038,7 @@
 def cmake_host_platform():
   # Source: https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2017%202022.html#toolset-selection
   arch_to_cmake_host_platform = {
-    'aarch64': 'ARM64',
+    'arm64': 'ARM64',
     'arm': 'ARM',
     'x86_64': 'x64',
     'x86': 'x86'
@@ -1078,7 +1083,7 @@
     targets_to_build = 'WebAssembly;X86'
   elif ARCH == 'arm':
     targets_to_build = 'WebAssembly;ARM'
-  elif ARCH == 'aarch64':
+  elif ARCH == 'arm64':
     targets_to_build = 'WebAssembly;AArch64'
   else:
     targets_to_build = 'WebAssembly'
@@ -1860,10 +1865,6 @@
     elif hasattr(self, 'git_branch'):
       success = git_clone_checkout_and_pull(url, self.installation_path(), self.git_branch)
     elif url.endswith(ARCHIVE_SUFFIXES):
-      global ARCH
-      if WINDOWS and ARCH == 'aarch64':
-        errlog('No support for Windows on Arm, fallback to x64')
-        ARCH = 'x86_64'
       success = download_and_unzip(url, self.installation_path(), filename_prefix=getattr(self, 'zipfile_prefix', ''))
     else:
       assert False, 'unhandled url type: ' + url
@@ -2010,7 +2011,7 @@
 
 def resolve_sdk_aliases(name, verbose=False):
   releases_info = load_releases_info()
-  if name == 'latest' and LINUX and ARCH == 'aarch64':
+  if name == 'latest' and LINUX and ARCH == 'arm64':
     print("warning: 'latest' on arm64-linux may be slightly behind other architectures")
     name = 'latest-arm64-linux'
   while name in releases_info['aliases']:
@@ -2058,7 +2059,7 @@
   # may not be a build for the most recent ones yet; find the last
   # that does.
   arch = ''
-  if ARCH == 'aarch64':
+  if ARCH == 'arm64':
     arch = '-arm64'
   for release in recent_releases:
     url = emscripten_releases_download_url_template % (
diff --git a/emsdk_manifest.json b/emsdk_manifest.json
index 02afd8b..f7f3a2b 100644
--- a/emsdk_manifest.json
+++ b/emsdk_manifest.json
@@ -47,7 +47,7 @@
     "id": "releases",
     "version": "%releases-tag%",
     "bitness": 64,
-    "arch": "aarch64",
+    "arch": "arm64",
     "macos_url": "https://storage.googleapis.com/webassembly/emscripten-releases-builds/mac/%releases-tag%/wasm-binaries-arm64.tbz2",
     "linux_url": "https://storage.googleapis.com/webassembly/emscripten-releases-builds/linux/%releases-tag%/wasm-binaries-arm64.tbz2",
     "zipfile_prefix": "%releases-tag%-",
@@ -96,7 +96,7 @@
   {
     "id": "node",
     "version": "8.9.1",
-    "arch": "aarch64",
+    "arch": "arm64",
     "bitness": 64,
     "linux_url": "node-v8.9.1-linux-arm64.tar.xz",
     "activated_path": "%installation_dir%/bin",
@@ -142,7 +142,7 @@
   {
     "id": "node",
     "version": "12.18.1",
-    "arch": "aarch64",
+    "arch": "arm64",
     "bitness": 64,
     "linux_url": "node-v12.18.1-linux-arm64.tar.xz",
     "activated_path": "%installation_dir%/bin",
@@ -190,7 +190,7 @@
   {
     "id": "node",
     "version": "14.18.2",
-    "arch": "aarch64",
+    "arch": "arm64",
     "bitness": 64,
     "macos_url": "node-v14.18.2-darwin-x64.tar.gz",
     "linux_url": "node-v14.18.2-linux-arm64.tar.xz",
@@ -239,7 +239,7 @@
   {
     "id": "node",
     "version": "14.15.5",
-    "arch": "aarch64",
+    "arch": "arm64",
     "bitness": 64,
     "macos_url": "node-v14.15.5-darwin-x64.tar.gz",
     "linux_url": "node-v14.15.5-linux-arm64.tar.xz",
@@ -288,7 +288,7 @@
   {
     "id": "node",
     "version": "15.14.0",
-    "arch": "aarch64",
+    "arch": "arm64",
     "bitness": 64,
     "macos_url": "node-v15.14.0-darwin-x64.tar.gz",
     "linux_url": "node-v15.14.0-linux-arm64.tar.xz",
@@ -336,7 +336,7 @@
   {
     "id": "node",
     "version": "16.20.0",
-    "arch": "aarch64",
+    "arch": "arm64",
     "bitness": 64,
     "macos_url": "node-v16.20.0-darwin-arm64.tar.gz",
     "linux_url": "node-v16.20.0-linux-arm64.tar.xz",
@@ -448,7 +448,7 @@
     "id": "python",
     "version": "3.9.2",
     "bitness": 64,
-    "arch": "aarch64",
+    "arch": "arm64",
     "macos_url": "python-3.9.2-1-macos-arm64.tar.gz",
     "activated_cfg": "PYTHON='%installation_dir%/bin/python3'",
     "activated_env": "EMSDK_PYTHON=%installation_dir%/bin/python3;SSL_CERT_FILE=%installation_dir%/lib/python3.9/site-packages/certifi/cacert.pem"
@@ -691,7 +691,7 @@
     "bitness": 64,
     "uses": ["node-16.20.0-64bit", "python-3.9.2-64bit", "releases-%releases-tag%-64bit"],
     "os": "macos",
-    "arch": "aarch64",
+    "arch": "arm64",
     "custom_install_script": "emscripten_npm_install"
   },
   {
