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:
wmicha 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.Managementrequiere el paquete NuGetSystem.Managementen .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.