Saltar al contenido

Tabla de conversión de unidades de tamaño

Tabla rápida de conversión entre B, KB, KiB, MB, MiB, GB y GiB — para programar, revisar valores de configuración y diseñar pruebas.

SI (decimal) vs IEC (binario) — la brecha crece por unidad KB / KiB KB = 1,000 B KiB = 1,024 B (+2.4%) MB / MiB MB = 1,000,000 B MiB = 1,048,576 B (+4.9%) GB / GiB GB = 10^9 B GiB = 2^30 B (+7.4%) El SO etiqueta a menudo GiB como "GB"
Diagrama: la diferencia entre 10^3 y 2^10 se amplía por unidad

Unidades SI (decimales) frente a unidades IEC (binarias)

Los tamaños de archivo se expresan con dos familias de unidades: las decimales del Sistema Internacional (SI) y las binarias definidas por la IEC. Confundir MB con MiB es una causa habitual de fallos en las pruebas de frontera.

Unidad SINombreBytes Unidad IECNombreBytes Diferencia
KBKilobyte1,000 KiBKibibyte1,024 +2.4%
MBMegabyte1,000,000 MiBMebibyte1,048,576 +4.86%
GBGigabyte1,000,000,000 GiBGibibyte1,073,741,824 +7.37%
TBTerabyte1,000,000,000,000 TiBTebibyte1,099,511,627,776 +9.95%

Tabla de conversión de MB a bytes

MB (decimal)BytesMiB (binario)Bytes
0.1 MB100,000 B0.1 MiB104,858 B
0.5 MB500,000 B0.5 MiB524,288 B
1 MB1,000,000 B1 MiB1,048,576 B
2 MB2,000,000 B2 MiB2,097,152 B
5 MB5,000,000 B5 MiB5,242,880 B
10 MB10,000,000 B10 MiB10,485,760 B
20 MB20,000,000 B20 MiB20,971,520 B
25 MB25,000,000 B25 MiB26,214,400 B
50 MB50,000,000 B50 MiB52,428,800 B
100 MB100,000,000 B100 MiB104,857,600 B
256 MB256,000,000 B256 MiB268,435,456 B
512 MB512,000,000 B512 MiB536,870,912 B
1 GB1,000,000,000 B1 GiB1,073,741,824 B

Cómo interpretan estas unidades los principales servicios y herramientas

Servicio / ajusteNotaciónInterpretación realEjemplo
PHP(php.ini)MMiB (binario)10M = 10,485,760 B
Nginx(client_max_body_size)mMiB (binario)10m = 10,485,760 B
Apache(LimitRequestBody)En bytesBytes (valor literal)10485760 = 10 MiB
Explorador de WindowsMuestra MBCalculado como MiB (binario)「9.99 MB」= 10,476,544 B
macOS FinderMuestra MBMB (decimal)「10 MB」= 10,000,000 B
Linux(ls -lh)MMiB (binario)10M = 10 MiB
Límite de adjuntos de Gmail25 MBMB (decimal)25,000,000 B
Consola de AWS S3Muestra MiBMiB (binario)Tal como se muestra

Fórmula

// Funciones de conversión en JavaScript
const UNITS = {
    // SI(10進数)
    KB: 1_000,
    MB: 1_000_000,
    GB: 1_000_000_000,
    TB: 1_000_000_000_000,
    // IEC(2進数)
    KiB: 1_024,
    MiB: 1_048_576,
    GiB: 1_073_741_824,
    TiB: 1_099_511_627_776,
};

const toBytes = (value, unit) => value * UNITS[unit];
const fromBytes = (bytes, unit) => bytes / UNITS[unit];

// Ejemplo: 10 MiB a bytes
console.log(toBytes(10, 'MiB')); // → 10485760

// Ejemplo: 10.000.000 bytes a MB
console.log(fromBytes(10_000_000, 'MB')); // → 10
console.log(fromBytes(10_000_000, 'MiB').toFixed(2)); // → 9.54
 1_000, 'MB' => 1_000_000, 'GB' => 1_000_000_000,
        'KiB' => 1_024, 'MiB' => 1_048_576, 'GiB' => 1_073_741_824,
    ];
    return (int)($value * ($units[$unit] ?? 1));
}

echo toBytes(10, 'MiB');  // → 10485760
echo toBytes(25, 'MB');   // → 25000000

Correspondencia con los archivos de prueba de frontera

DevLab ofrece archivos de prueba de frontera ajustados a los límites de subida habituales. Elige el que corresponda a cómo interpreta la unidad el sistema de destino.

❓ Preguntas frecuentes

¿1 GB son 1000 MB o 1024 MB?
Como prefijo SI, GB significa 1000 MB. El valor 1024 MB es un GiB, un gibibyte, de los prefijos binarios. Los fabricantes de almacenamiento etiquetan la capacidad en SI mientras que Windows muestra la cifra en GiB rotulada como GB, y por eso un disco de 500 GB aparece como 465 GB. La diferencia ronda el 7% y crece en el rango de los terabytes.
¿Qué unidad debo usar al fijar un límite de subida?
Ajústate a lo que interprete el software que configuras. upload_max_filesize de PHP y client_max_body_size de nginx tratan M como 1024×1024, así que en la práctica son MiB. En cambio, un usuario al que le dices «hasta 10 MB» lo entenderá como 10.000.000 bytes. Prueba con un archivo justo en el límite y haz que el texto y la implementación coincidan.
¿Qué relación hay entre los Mbps de red y los MB de un archivo?
La b minúscula son bits y la B mayúscula son bytes; un byte son ocho bits. Un enlace de 100 Mbps mueve en teoría unos 12,5 MB por segundo, y en la práctica alrededor de un 10% menos por la sobrecarga de protocolo. Un archivo de 100 MB tarda por tanto ocho segundos en el caso ideal y de nueve a diez en la realidad.

🛠️ Herramientas relacionadas de DevLab