Visor Hexadecimal works on any file type — upload one above to see its raw bytes, search for a hex pattern or piece of text, and check for a known file signature.
🔒 Privado por diseño: todo funciona localmente en tu navegador; nada se sube nunca a ningún servidor.
Escrito y mantenido por Javi Morales·Última actualización
Cómo usar el visor hexadecimal
Haz clic en “Subir un archivo para inspeccionar” y elige cualquier archivo, no hay restricción de tipo de archivo.
Desplázate por la cuadrícula hexadecimal para explorar los bytes en bruto; la columna de offset, los bytes hex y el panel ASCII se mantienen sincronizados.
Usa la caja de búsqueda para encontrar un patrón de bytes hexadecimal (por ejemplo “89 50 4E 47”) o un fragmento de texto: “Buscar siguiente” salta y se desplaza a cada coincidencia, volviendo al principio una vez llega al final.
Haz clic en un byte para seleccionarlo, o Shift+clic en un segundo byte para seleccionar un rango, o escribe offsets exactos de inicio/fin y haz clic en “Seleccionar rango”.
Revisa la línea bajo el nombre del archivo para una detección automática de firma de archivo (“magic number”).
Todo ocurre enteramente en tu pestaña del navegador mediante las API estándar File y ArrayBuffer. Nada se sube a ningún sitio.
Por qué mirar los bytes en bruto de un archivo
Un visor hexadecimal es una herramienta clásica de ingeniería inversa y depuración, te muestra exactamente qué hay realmente dentro de un archivo, por debajo de cualquier formato que diga ser:
Confirmar el tipo real de un archivo cuando su extensión falta, es incorrecta, o simplemente no te fías de ella, los primeros bytes (“magic number”) de un PNG, PDF, ZIP, etc. real son efectivamente imposibles de falsificar sin romper el formato.
Depurar una descarga o exportación corrupta, comparar los bytes reales con lo que esperas (una cabecera conocida, una cadena específica) suele mostrar exactamente dónde falló algo.
Hacer ingeniería inversa de un formato binario desconocido, encontrar dónde está un marcador conocido o una cadena incrustada, y cómo está organizada la disposición de bytes alrededor.
Verificar una edición a nivel de byte, después de parchear un archivo binario a mano, comprobar que cambiaron exactamente los bytes esperados y nada más.
Aprender cómo funcionan realmente los formatos de archivo, ver con tus propios ojos la firma de 8 bytes de un PNG real, la cabecera de archivo local de un ZIP real, o el marcador %PDF- de un PDF real.
Una nota sobre el renderizado virtualizado
Cargar los bytes de un archivo completo en memoria es barato, incluso un archivo grande es solo un array plano de bytes. Convertir cada fila individual en un elemento en pantalla no lo es, especialmente una vez que un archivo alcanza cientos de miles de filas. Esta herramienta solo renderiza las filas que están visibles en ese momento (más un pequeño margen justo fuera del área visible), recalculado en cada evento de desplazamiento, así que navegar por un archivo de varios megabytes se siente exactamente tan fluido como uno pequeño, sin pedirle nunca al navegador que mantenga un número enorme de nodos DOM a la vez.
Usos habituales
Confirmar qué es realmente un archivo misterioso o con una extensión incorrecta por su magic number.
Detectar exactamente dónde divergen los bytes de un archivo corrupto de lo esperado.
Encontrar una cadena, marcador o secuencia de bytes conocida dentro de un archivo binario.
Comprobar la validez de un parche o edición manual a nivel de byte antes de confiar en él.
Aprender los internos de los formatos de archivo inspeccionando archivos reales byte a byte.
Inspeccionar los bytes en bruto de un cuerpo de respuesta descargado y guardado por separado como archivo binario, mira el Visor de Archivos HAR para encontrar y entender primero la petición de red que lo produjo.
Cómo funciona, en imágenes
Visor Hexadecimal en pleno proceso: un selector de archivo vacío, con la nota de que funciona con cualquier tipo de archivo.El resultado final: el archivo abierto como bytes en bruto en una columna hexadecimal junto a su representación ASCII, con búsqueda y desplazamiento. El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.
Preguntas frecuentes
¿Qué tipos de archivo puedo abrir con este visor hexadecimal?
Cualquiera, esta herramienta no tiene ninguna restricción de tipo de archivo. Sube una imagen, un vídeo, un ejecutable, un documento, un archivo de base de datos, o un archivo sin ninguna extensión, y lee los bytes en bruto exactamente igual sin importar lo que representen. No hay ningún procesamiento del lado del servidor involucrado, así que un tipo de archivo no reconocido o "peligroso" nunca se ejecuta ni se abre realmente por nada más que un simple array de bytes en tu propia pestaña del navegador.
¿Cómo gestiona archivos grandes sin bloquear la pestaña?
Todo el archivo se lee en memoria una sola vez (para que la búsqueda pueda escanear cada byte al instante), pero solo el puñado de filas visibles en pantalla en cada momento (más un pequeño margen justo por encima y por debajo) se convierten en elementos reales de la página. Desplazarse recalcula ese rango visible sobre la marcha, así que un archivo con cientos de miles de filas se desplaza igual de fluido que uno pequeño, ya que el DOM nunca contiene más de un par de docenas de filas a la vez. Aun así existe un límite práctico de subida de 100 MB para que leer un archivo verdaderamente enorme en memoria no pueda colgar la pestaña, un límite en la lectura inicial, no una limitación del propio desplazamiento.
¿Cómo funciona la búsqueda hex/texto, y qué codificación usa la búsqueda de texto?
Ambos modos de búsqueda buscan en última instancia una secuencia exacta de bytes. La búsqueda hex te permite escribir los bytes directamente (los espacios y un prefijo opcional "0x" son válidos, por ejemplo "4A 50" o "0x4A0x50"). La búsqueda de texto codifica lo que escribas como UTF-8 antes de buscar (la misma codificación que usan casi todos los archivos modernos y el contenido web) así que una palabra ASCII simple coincide con un byte por carácter, mientras que una letra acentuada o un emoji busca su secuencia UTF-8 real de varios bytes. Una coincidencia puede abarcar un salto de fila sin problema, ya que la búsqueda se ejecuta sobre los bytes contiguos en bruto del archivo, no fila a fila. "Buscar siguiente" vuelve al principio del archivo una vez que llega al final.
¿Qué tan precisa es la detección de firma de archivo, y qué formatos reconoce?
Comprueba los primeros bytes de tu archivo contra una lista corta y honestamente limitada de firmas "magic number" bien conocidas, PNG, JPEG, GIF, BMP, PDF, ZIP (que también cubre DOCX/XLSX/PPTX/JAR/APK, ya que todos son contenedores ZIP por debajo), GZIP, 7-Zip, RAR, ejecutables ELF, contenedores RIFF (WAV/AVI/WEBP) y la etiqueta ID3 de MP3. No es una base de datos exhaustiva de todos los formatos de archivo que existen, si nada de esa lista coincide, la herramienta lo dice claramente en lugar de adivinar, y siempre puedes revisar tú mismo los bytes en bruto para una cabecera conocida de un formato más específico.
¿Cómo funciona la selección de un rango de bytes?
Haz clic en cualquier byte de la cuadrícula hexadecimal para seleccionar solo ese byte, o mantén pulsado Shift y haz clic en un segundo byte para seleccionar todo el rango entre ellos (en cualquier dirección). También puedes escribir offsets exactos de inicio/fin en los dos campos numéricos y hacer clic en "Seleccionar rango" para una selección precisa. En cualquier caso, la línea de resumen debajo muestra el recuento exacto de bytes y (para una selección razonablemente pequeña) los valores hexadecimales y ASCII de los bytes seleccionados; una selección muy grande solo muestra el recuento, ya que renderizar miles de bytes hexadecimales como "vista previa" no serviría de nada.
¿Por qué el panel ASCII muestra un "." para algunos bytes en lugar de un carácter?
Solo el rango de bytes desde 0x20 (espacio) hasta 0x7E (~) inclusive es "ASCII imprimible", letras, dígitos, puntuación y espacio normales. Todo byte fuera de ese rango (caracteres de control como salto de línea/tabulación, y cualquier cosa 0x7F en adelante, incluyendo todos los bytes de continuación no-ASCII/UTF-8) no tiene una representación sensata como un solo carácter, así que se muestra como un marcador "." en su lugar, la misma convención que usa prácticamente todo editor hexadecimal.
¿Se sube mi archivo a un servidor?
No. El archivo se lee enteramente en tu propio navegador mediante las API estándar File/ArrayBuffer y nunca sale de tu dispositivo, no existe ninguna ruta de procesamiento del lado del servidor para esta herramienta (ni para ninguna herramienta de este sitio). Cerrar o recargar la pestaña descarta todo al instante.
Formatea, valida y minifica JSON en tu navegador, imprime bonito, o consigue una línea/columna clara ante una entrada inválida. Nada sale de tu dispositivo.