Saltar al contenido principal
HWID Checker
hwidhow-towindows

Cómo encontrar tu HWID en Windows

Comandos paso a paso para leer identificadores de hardware reales — número de serie de la placa base, del disco, dirección MAC y MachineGuid — en Windows 10 y 11.

HWID Checker · 10 de agosto de 2026 · 3 min de lectura

No existe un único «el HWID»: depende de qué atributo de hardware lea cada software. Esta guía muestra los comandos más útiles en Windows para que encuentres un identificador de hardware auténtico, no solo una huella de navegador.

Nota de privacidad: estos valores son números de serie reales. No los pegues en foros públicos ni los envíes a nadie en quien no confíes.

Windows

Abre PowerShell o Símbolo del sistema y ejecuta estos comandos de uno en uno.

Número de serie de la placa base

wmic baseboard get serialnumber

Nota sobre Windows 11 24H2: wmic ha sido eliminado por Microsoft. Si el comando anterior da error, usa la versión PowerShell CIM:

Get-CimInstance Win32_BaseBoard | Select-Object SerialNumber

GUID de sistema (máquina)

Windows almacena un GUID de máquina en el registro. Es el valor que muchos sistemas de licencias llaman el «HWID»:

reg query "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid

Número de serie del disco

wmic diskdrive get serialnumber

Alternativa con PowerShell CIM (24H2):

Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber

Dirección MAC

getmac

SMBIOS UUID

wmic csproduct get uuid

Alternativa con PowerShell CIM (24H2):

Get-CimInstance Win32_ComputerSystemProduct | Select-Object UUID

Leer el HWID en tu propio código

Si estás creando software que necesita identificar una máquina, aquí tienes ejemplos mínimos en tres lenguajes. Cada uno lee varios identificadores de hardware y los combina en una sola huella mediante un hash.

Go

package main

import (
	"crypto/sha256"
	"encoding/hex"
	"fmt"
	"os/exec"
	"strings"
)

func main() {
	uuid := run("wmic", "csproduct", "get", "uuid")
	board := run("wmic", "baseboard", "get", "serialnumber")
	disk := run("wmic", "diskdrive", "get", "serialnumber")

	combined := strings.Join([]string{uuid, board, disk}, "|")
	hash := sha256.Sum256([]byte(combined))
	fmt.Println(hex.EncodeToString(hash[:]))
}

func run(name string, args ...string) string {
	out, _ := exec.Command(name, args...).Output()
	return strings.Join(strings.Fields(string(out)), " ")
}

C# (.NET)

using System.Management;
using System.Security.Cryptography;
using System.Text;

string cpu = new ManagementObjectSearcher("SELECT ProcessorId FROM Win32_Processor")
    .Get().Cast<ManagementObject>().First()["ProcessorId"].ToString();
string board = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BaseBoard")
    .Get().Cast<ManagementObject>().First()["SerialNumber"].ToString();
string disk = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_DiskDrive")
    .Get().Cast<ManagementObject>().First()["SerialNumber"].ToString();

string combined = $"{cpu}-{board}-{disk}";
byte[] hash = SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(combined));
Console.WriteLine(Convert.ToHexString(hash));

Nota: System.Management requiere el paquete NuGet System.Management en .NET Core 3.1+ y .NET 5+.

Python

import subprocess, hashlib, re

def wmi(query):
    r = subprocess.run(["wmic"] + query.split(), capture_output=True, text=True)
    return re.sub(r"\s+", "", r.stdout.strip())

uuid = wmi("csproduct get uuid")
board = wmi("baseboard get serialnumber")
disk = wmi("diskdrive get serialnumber")

fingerprint = hashlib.sha256(f"{uuid}-{board}-{disk}".encode()).hexdigest()
print(fingerprint)

Una nota sobre el ProcessorId de la CPU: El valor devuelto por wmic cpu get ProcessorId (o la instrucción CPUID) codifica el fabricante, familia, modelo y stepping de la CPU — no es un número de serie único por chip. Dos CPU del mismo modelo devuelven el mismo ProcessorId. Es útil como un componente de una huella compuesta, pero no es suficiente para identificar de forma única una máquina por sí solo.

Para una solución lista para producción sin los casos límite (detección de máquinas virtuales, números de serie genéricos, soporte multiplataforma), consulta el repositorio del proyecto.

Qué hacer con el valor

Una vez tengas un valor, pégalo en el HWID Checker → pestaña Validar para confirmar su formato, o en la pestaña Analizar para ver su estructura.

Recuerda: un navegador no puede leer estos números de serie reales. Nuestra herramienta web genera una huella de navegador en su lugar. Si necesitas un ID de hardware auténtico desde una interfaz de tipo web, la herramienta de escritorio lee estos valores de forma nativa.