Tamaño objetivo

Consigue un archivo por debajo del tamaño que pide un formulario

Hay sitios que quieren tu imagen por debajo de cierto número de kilobytes. El campo de tamaño objetivo toma ese número y trabaja hacia él; es un techo, no la promesa de un tamaño exacto.

Kibibytes, kilobytes y el número del formulario

El campo de tamaño objetivo toma un número de kibibytes. Un kibibyte son 1024 bytes, no 1000, así que un objetivo de 200 son 204.800 bytes. Cuando un formulario dice 200 KB puede que se refiera al 200 decimal, que son 200.000 bytes, unos 195 KiB, así que lee la unidad que usa y convierte en lugar de copiar el número tal cual.

La diferencia entre las dos unidades es aritmética, y sale de dos constantes y de nada más: 1024 bytes por kibibyte, y 1000 bytes por kilobyte decimal. Escribe primero el límite en bytes (200 KB decimales son 200.000 bytes), y luego divídelo entre 1024: ese es el número que quiere este campo.

Un límite escrito como Un objetivo que lo cumple
20 KB 19 KiB
50 KB 48 KiB
100 KB 97 KiB
200 KB 195 KiB
500 KB 488 KiB
1 MB 976 KiB

Leerlo al revés es la misma aritmética con los números cambiados, y ese es el sentido que muerde. Un objetivo de 100 son más bytes de los que permite un 100 KB decimal, así que un archivo que salga justo en ese objetivo puede quedar por encima del límite que te dieron. Redondea el número hacia abajo y no hacia arriba, y el archivo se queda por debajo. Nada de esto es un ahorro ni un porcentaje: son las mismas dos constantes en los dos sentidos.

Un megabyte en una hoja de especificaciones tampoco es siempre decimal. Si la hoja define su propio MB en unidades de 1024 bytes, entonces un límite de 1 MB son 1024 KiB, y 1024 es lo que toma este campo. Cuando una hoja da un número y ninguna unidad, la ambigüedad es de la hoja y no de la herramienta, y lo que zanja el caso es la fila terminada: enseña el tamaño antes y el tamaño después en KiB, la unidad que toma este campo, así que un límite en KiB se lee directamente en ella. Para un límite decimal, compara la fila con la columna de la derecha de la tabla, o lee el tamaño en bytes del archivo que descargas.

Un objetivo es un techo con una banda debajo

Esta es la diferencia que más importa en esta página. Un objetivo es un límite que la salida debe cumplir o no superar, no un tamaño que la herramienta vaya a producir. La herramienta codifica primero con tu ajuste de calidad y después busca una calidad cuya salida quepa por debajo de tu número, en una dirección o en la otra.

Cuando la primera codificación queda por encima del objetivo, la búsqueda baja la calidad, hasta el 1 en el punto más bajo, hasta que el archivo quepa. Cuando la primera codificación sale muy por debajo del objetivo, la búsqueda va al revés: hacia arriba desde tu ajuste, nunca por encima de 100, buscando la calidad más alta que todavía cabe. Solo esa búsqueda hacia arriba está limitada por tu ajuste. Bajar la calidad es como la herramienta alcanza tu número, así que un archivo que estaba por encima del objetivo puede volver más áspero de lo que elegiste como calidad.

La búsqueda apunta a una banda: como mucho tu número, y al menos el 95 por ciento de él. La calidad se mueve en números enteros, y un paso puede saltar por encima de toda la banda, así que el archivo cae dentro cuando un paso cae dentro, y es la codificación más cercana por debajo de tu objetivo cuando ningún paso lo hace. Esta es la forma honesta de la garantía. Cuando una calidad cabe, el archivo queda en tu número o por debajo; no es una promesa de que quede justo por debajo de tu cifra, ni dentro de un 5 por ciento de ella.

Un objetivo por encima de lo que el formato puede producir de ninguna manera es un caso que conviene nombrar. La escala de calidad se detiene en 100, así que un objetivo mucho mayor que la mejor codificación propia de la imagen no se puede llenar haciendo el archivo más grande. Ahí recibes el archivo más grande que el formato produjo, que sigue por debajo de tu número, y la fila informa el objetivo como alcanzado, porque el archivo está en el techo o por debajo de él. El veredicto de la fila se toma sobre los bytes que descargas de verdad, contados después de cualquier EXIF que hayas pedido conservar, así que nunca te dicen que se cumplió un límite cuando el archivo de tu disco lo supera.

Qué tamaños puede alcanzar un ajuste de calidad y cuáles necesitan un redimensionado antes

La calidad es la única palanca que gasta la búsqueda, así que la pregunta de si tu número siquiera es posible tiene una respuesta honesta con más de una parte. El caso corriente: un techo más bajo es solo una banda más estrecha donde caer. La búsqueda baja la calidad desde tu ajuste, hasta el 1 en el punto más bajo, hasta que el archivo quepa, y sube desde tu ajuste cuando la primera codificación sale muy por debajo de tu número.

Tres casos se salen de ese caso corriente, y cada uno tiene su propia respuesta.

Una imagen que sigue por encima del objetivo con la calidad en 1 no lo alcanza. La calidad 1 es el suelo de la escala, así que no queda un ajuste más bajo que gastar, y la fila informa del fallo. Lo que queda por gastar son los píxeles.

Un PNG no puede gastar la búsqueda en absoluto, porque es sin pérdida y la calidad no es su palanca. Hay una sección solo para ese caso más abajo.

Un bloque EXIF conservado se escribe después de la búsqueda y no dentro del presupuesto con el que trabajó, así que un archivo que cabía puede salir por encima del techo en cuanto activas la conservación de metadatos. Deja ese control desactivado cuando un límite estricto importa, que además es el valor por defecto.

Un techo por encima de lo que produce la calidad 100 tampoco es un fracaso: recibes la codificación de calidad 100, que sigue por debajo de tu número, y la fila dice que el objetivo se alcanzó. La sección de arriba expone ese caso a fondo.

Así que el orden que funciona es el mismo en todos los casos: pon un ancho en el control de redimensionado y deja el objetivo en la misma conversión, porque la herramienta redimensiona primero y después busca la calidad sobre la imagen más pequeña. La mitad del ancho es la cuarta parte de los píxeles, y el tamaño cae con los píxeles, mientras que la calidad solo cambia lo que cuesta cada píxel. El formato de salida también mueve el número, y la página de WebP cubre esa elección, incluido el hecho de que una salida JPEG aplana la transparencia sobre blanco antes de codificar.

Cuando la fila dice que el objetivo no se alcanzó

Un fallo merece leerse antes de volver a intentarlo. Se decidió sobre el archivo que descargas y no sobre la codificación que se quedó cerca, así que un archivo en el que la búsqueda casi acertó se informará como por encima del límite cuando lo esté.

Hay tres razones honestas para un fallo.

Redimensiona en la misma conversión: pon un ancho en el control de redimensionado y deja el objetivo donde está. La calidad 1 es el suelo de la búsqueda, así que un archivo que falla ahí no lo arregla bajar más la calidad, y menos píxeles sí lo arreglan porque el tamaño cae con ellos.

Cuando activaste la conservación de metadatos, el bloque EXIF se escribe después de la búsqueda, así que un archivo que cabía puede salir por encima del techo. Desactiva ese control y ejecuta otra vez antes de redimensionar.

Si el archivo es un PNG, la búsqueda ni siquiera llegó a ejecutarse, así que no hay un segundo intento que esperar ni nada que ajustar. La sección de abajo cubre lo que un PNG puede y no puede hacer.

Cuando te quedes con el resultado, júzgalo por las dos vistas previas que te da la fila: la imagen que elegiste junto a la que vas a obtener. Esa comparación es la que decide si el archivo vale la pena a ese tamaño.

Un PNG bajo un límite de tamaño

El PNG es sin pérdida, así que ignora el ajuste de calidad por completo, y esa es toda la razón de que un objetivo en un PNG se comporte de otra forma que un objetivo en un JPEG. No hay ningún indicador que bajar, así que la búsqueda no tiene nada que gastar: un PNG cuya primera codificación queda por encima de tu número no recibe ningún paso de calidad, y solo la pasada de optimización de abajo todavía puede dejarlo por debajo.

Hay una pasada más, y vale la pena conocerla. Toda salida PNG pasa por una segunda pasada de optimización, y sus bytes se conservan solo cuando son menos que los de la primera codificación. Así que un PNG puede volver más pequeño y puede quedar por debajo de un objetivo que la primera codificación se pasó, y también puede no lograrlo. Nada aquí hace que esa pasada busque tu número: o devuelve menos bytes o no.

Quedan dos caminos honestos a un PNG más pequeño. Menos píxeles sirven en cualquier formato, así que un redimensionado primero es lo primero que hay que probar. También sirve un formato de salida con pérdida, y ahí la búsqueda de calidad sí tiene algo que gastar, así que convertir el PNG a WebP es la respuesta cuando el techo queda muy por debajo de lo que puede alcanzar un archivo sin pérdida de esa imagen. Es un intercambio y no una victoria gratis: lo que el codificador entrega para llegar al número es tuyo para mirar en la vista previa antes de quedarte con el archivo.

Conservar metadatos añade bytes después de la búsqueda

Este es un matiz que sorprende a la gente. La búsqueda de tamaño se ejecuta antes de que se escriba ningún bloque EXIF, porque los códecs no escriben ninguno por defecto y el bloque se añade al final del todo cuando pides conservarlo. El bloque, por tanto, no está en el presupuesto con el que trabajó la búsqueda.

La herramienta lo gestiona con honestidad en lugar de en silencio: cuenta los bytes finales, incluido el bloque, así que si conservar los metadatos empuja el archivo por encima de tu objetivo, la fila informa el objetivo como no alcanzado aunque la codificación por sí sola estuviera por debajo. Deja el control de conservación desactivado cuando un límite estricto importa, que además es el valor por defecto.

Cómo leer el veredicto

Cada fila terminada lleva una de dos frases cuando fijas un objetivo: que el archivo está en el número o por debajo, o que no. Léela en lugar de suponerla. La conversión nunca informa como alcanzado un objetivo que se pasó, así que una fila que dice que no se alcanzó significa que el archivo de tu disco está por encima del límite. La sección sobre los fallos de más arriba dice qué cambio lo arregla.

Si se rechaza un archivo

Una entrada de más de 32 MiB se rechaza solo por su tamaño, antes de leer sus bytes. Una entrada de más de 40.000.000 de píxeles se lee y luego se rechaza antes de que nada la decodifique, porque el número de píxeles solo se conoce una vez analizada su cabecera. Los dos números son fijos y no una lectura de tu equipo. El archivo rechazado nombra el límite por el que se rechazó, y todos los demás archivos de la conversión terminan igualmente.

Qué hacer después

Fija el objetivo en KiB, lee el veredicto y, si no se alcanzó, redimensiona la imagen y ejecútala otra vez en lugar de bajar más la calidad. Si el techo te lo dio un formulario o un portal en lugar de elegirlo tú, la página de límites de fotos lee esa hoja de especificaciones y dice qué parte de ella puede cumplir esta herramienta. Si tu trabajo es sobre todo fotográfico, la página de comprimir JPEG cubre la parte de la calidad con más detalle, y si la pregunta abierta es el formato, la página de WebP cubre eso.

Prueba un objetivo con tu propio archivo

La herramienta está en la página de inicio. Fija un objetivo en KiB y lee lo que dice cada fila.

Fijar un tamaño objetivo