Visor Hexadecimal

Ve los bytes en bruto de cualquier archivo como un volcado hexadecimal clásico (offset, hex, ASCII) con búsqueda y detección de firma de archivo.

🌐 English

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.

Cómo usar el visor hexadecimal

  1. Haz clic en “Subir un archivo para inspeccionar” y elige cualquier archivo, no hay restricción de tipo de archivo.
  2. 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.
  3. 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.
  4. 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”.
  5. 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:

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

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Visor Hexadecimal con un selector de archivo vacío, con la nota de que funciona con cualquier tipo de archivo
Visor Hexadecimal en pleno proceso: un selector de archivo vacío, con la nota de que funciona con cualquier tipo de archivo.
Captura de pantalla del resultado de Visor Hexadecimal mostrando el archivo abierto como bytes en bruto en una columna hexadecimal junto a su representación ASCII, con búsqueda y desplazamiento
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.

Herramientas relacionadas