ToolActToolAct

Divisor de imagen en cuadrícula

Divide una imagen en una cuadrícula de 3×3 para compartir en redes sociales

Subir imagen

Arrastra una imagen aquí o haz clic para seleccionar un archivo

Soporta formatos JPG, PNG, WebP, BMP, GIF

¿Qué es un divisor de imagen en cuadrícula?

El divisor de cuadrícula de imagen separa una foto en piezas iguales, normalmente un conjunto 3×3 de nueve imágenes para redes sociales. Cuando las piezas se publican en el orden correcto en plataformas como Instagram, WeChat Moments o Weibo, el perfil o el feed reconstruye la imagen grande original. Es útil para campañas visuales, avances de producto, anuncios de eventos, portafolios y diseños donde la composición completa pesa más que cada publicación aislada. Para que funcione bien importan la proporción de la imagen fuente, los márgenes seguros para caras y texto, y el orden de subida, porque una pieza invertida rompe el efecto.

Uso

Cómo usar

  1. Sube una imagen o arrástrala y suéltala.
  2. La herramienta la divide automáticamente en 9 piezas.
  3. Haz clic en cualquier pieza para descargarla por separado.
  4. Haz clic en "Descargar todo" para guardar todas las piezas a la vez.

Notas de recorte

  • Usa una imagen con la relación de aspecto final deseada; la división automática no puede recuperar contenido que ya haya sido recortado o rellenado de forma incorrecta.
  • Previsualiza las nueve piezas antes de publicar, sobre todo cuando texto, rostros o bordes de producto crucen las líneas de división.

Casos de uso

Dividir una imagen en una cuadrícula de 3 por 3Sube una imagen y la página la corta en nueve cortes PNG iguales usando canvas, conservando el orden de filas y columnas como posiciones numeradas del 1 al 9. Las dimensiones de origen que no se dividen limpiamente entre 3 se redondearán a píxeles enteros, por lo que una entrada de 1081 por 1081 aún produce nueve PNG de 360 por 360 con una fila de píxeles sobrantes descartada.
Preparar mosaicos de imagen para redes sociales o rompecabezasUsa la vista previa original, las dimensiones y la vista previa de cuadrícula numerada para confirmar el recorte antes de descargar los cortes individuales para publicaciones, juegos, hojas de trabajo o pruebas de diseño. Los cortes se escriben como PNG, por lo que el tamaño de archivo crece rápidamente si la fuente es fotográfica; considera ejecutar un compresor en la cuadrícula primero cuando el feed tiene un límite de 10 MB.
Descargar cortes uno por uno o como secuenciaHaz clic en una celda de la cuadrícula para descargar ese corte, o descarga todos los cortes con breves retardos para que el navegador pueda manejar cada archivo generado. Conserva la imagen de origen hasta que los cortes numerados hayan sido previsualizados en el orden planeado para subirlos.
Añadir márgenes seguros antes de cortar para el orden de subidaDeja espacio de relleno dentro de la imagen de origen para que las caras, títulos o logotipos no caigan exactamente en un límite de corte, porque una cara recortada romperá la cuadrícula reconstruida en el feed. Unos píxeles de margen también evitan que plataformas como Instagram recorten los bordes a su relación de aspecto de miniatura.
Usar nombres de archivo numerados para mantener el orden de subida correctoDescarga los cortes con sus nombres de archivo del 1 al 9 conservados y publícalos en ese mismo orden de filas y columnas, ya que invertir la secuencia es la causa más común de una cuadrícula final desordenada. Ordenar la carpeta descargada por nombre de archivo antes de seleccionarlos en el diálogo de subida evita el error de orden inverso que rompe el feed reconstruido.

Principio técnico

El divisor de imagen en cuadrícula está construido sobre la API Canvas 2D de HTML5 (WHATWG HTML Living Standard §4.12, originalmente especificado en la Recomendación W3C HTML5 de 2014). El pipeline tiene tres capas: decodificar los píxeles de origen en un CanvasImageSource, copiar un sub-rectángulo de esos píxeles en un canvas fuera de pantalla mediante la forma de 9 argumentos de drawImage, y luego codificar el canvas fuera de pantalla como PNG mediante canvas.toBlob(). Todo ocurre en la pestaña del navegador — sin subida, sin servidor, sin renderizado remoto. El paso de decodificación importa más de lo que parece. Un File de <input type='file'> o un DataItem de arrastrar y soltar se lee mediante FileReader.readAsDataURL (o, en código moderno, URL.createObjectURL) en un Blob URL, que el navegador entrega al cargador de Image. El elemento Image dispara 'load' una vez que el bitmap es decodificado por el códec de imagen de la plataforma (libpng/libjpeg-turbo/libwebp en Chromium, el equivalente en WebKit/Gecko). Una imagen sin CORS cargada así se trata como 'contaminada' — getImageData lanzaría un SecurityError — por lo que el divisor solo usa drawImage y nunca lee de vuelta arrays de píxeles, lo cual esquiva el problema CORS por completo. Para imágenes muy grandes (>~8K en el lado largo) el bitmap se mantiene en memoria GPU en algunos motores, por lo que canvas.toBlob puede pasar por una lectura GPU→CPU que cuesta ~30-100 ms en un teléfono. El recorte es una sola llamada a drawImage por porción: ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh) — los primeros tres pares son el rectángulo origen (sx, sy, sw, sh) y los segundos tres son el rectángulo destino en el canvas destino. Para una división 3×3 de una foto de 1920×1080, el rectángulo origen de cada porción es 640×360 empezando en (col*640, row*360). El canvas destino se dimensiona exactamente a la porción (640×360) y luego canvas.toBlob(blob => ..., 'image/png') ejecuta el codificador PNG de la plataforma. PNG se elige sobre JPEG porque las porciones de cuadrícula típicamente son recortes rectangulares limpios con texto nítido y elementos de UI donde importa la codificación sin pérdida; los bloques DCT de 8×8 de JPEG difuminarían los bordes. La descarga por lotes usa URL.createObjectURL en cada Blob, un clic sintético de <a download>, y revokeObjectURL después de un breve retardo (generalmente 60-120 s, el tiempo de vida de la plataforma para un Blob URL sin usar). Para 9 porciones esto dispara 9 eventos de descarga consecutivos; algunos navegadores limitan múltiples descargas desde la misma pestaña, por lo que la página generalmente las espacia con un setTimeout de 50-200 ms entre clics. En rendimiento, el cuello de botella en un teléfono es generalmente el codificador PNG (libpng es mono-hilo por codificación), no drawImage; para 9 porciones de 1080p esperar 200-500 ms totales en un Android de gama media y 100-200 ms en un Chromium de escritorio.

  • Pipeline: FileReader o URL.createObjectURL → elemento Image → HTMLCanvasElement → drawImage de 9 argumentos para recorte → canvas.toBlob('image/png') → URL.createObjectURL + <a download>.
  • drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh) es la sobrecarga de 9 argumentos que recorta un rectángulo origen (sx,sy,sw,sh) en un rectángulo destino (dx,dy,dw,dh); esta es la única llamada API que realiza la división.
  • Las imágenes de origen que no se sirven con cabeceras CORS contaminan el canvas — getImageData lanzaría SecurityError, por lo que el divisor nunca lee arrays de píxeles, solo blit y codifica.
  • canvas.toBlob es asíncrono y no bloqueante (el callback se dispara en un microtarea posterior) versus el legacy canvas.toDataURL que es síncrono y congela el hilo principal para imágenes grandes.
  • Para una división 3×3 de una imagen N×M cada porción es (N/3) × (M/3); tamaños no divisibles producen un resto de 1 píxel en el borde derecho/inferior, manejado con Math.floor con una porción de resto explícita si es necesario.
  • PNG se elige sobre JPEG para las porciones de cuadrícula porque cada porción es un recorte rectangular con bordes nítidos (texto, UI, diagramas) donde los bloques DCT de 8×8 difuminarían las líneas límite.
  • La descarga por lotes usa URL.createObjectURL por blob + clic de <a download>; los navegadores limitan múltiples descargas en la misma pestaña, por lo que la página generalmente espacia los clics por 50-200 ms y revoca los Blob URLs tras el clic para liberar memoria.
  • El cuello de botella de rendimiento es el codificador PNG de la plataforma (libpng es mono-hilo por codificación), no drawImage; 9 porciones de 1080p tardan ~200-500 ms en móvil de gama media y ~100-200 ms en Chromium de escritorio.

Ejemplos

División cuadrada 1:1 (publicación de Instagram)

Entrada:  1080 x 1080 px
Salida:   9 fragmentos de 360 x 360 px (cuadrícula 3x3)
Uso:      vistas previas de carruseles de Instagram, publicaciones en cuadrícula de Xiaohongshu

División horizontal 16:9 (miniatura de YouTube)

Entrada:  1920 x 1080 px
Salida:   9 fragmentos de 640 x 360 px (cuadrícula 3x3)
Uso:      pruebas A/B de miniaturas de YouTube, variantes de banners multiplataforma

División vertical 9:16 (TikTok / Reels)

Entrada:  1080 x 1920 px
Salida:   9 fragmentos de 360 x 640 px (cuadrícula 3x3)
Uso:      exploración de portadas de videos cortos, vistas previas tipo historia

Preguntas frecuentes

¿Qué hace la herramienta de cuadrícula de imágenes?

Divide una imagen en una cuadrícula de celdas iguales (por ejemplo, 3×3, 2×4) para que puedas publicar cada celda como un mosaico independiente al estilo Instagram, o montarlas como un puzle/póster. Cada celda se exporta como su propio archivo PNG/JPEG.

¿Se sube la imagen?

No. La cuadrícula se calcula completamente en tu navegador a través de canvas. Los bytes de la imagen nunca salen de tu dispositivo.

¿Qué tamaños de cuadrícula se admiten?

Los presets habituales son 3×3 (mosaico gigante de Instagram), 3×1 (tríptico de banner), 2×2, 4×4, 9×16. Suelen permitirse filas y columnas personalizadas. El máximo depende de la memoria del navegador: cuadrículas muy grandes con un origen de alta resolución pueden superar los límites de tamaño del canvas.

¿Cómo subo los mosaicos a Instagram en el orden correcto?

La cuadrícula de Instagram se rellena de derecha a izquierda y de arriba abajo (así que tu primera publicación va arriba a la derecha y la última, abajo a la izquierda en una de 3×3). La página exporta los mosaicos numerados del 1 al 9: súbelos en el orden 9, 8, 7, 6, 5, 4, 3, 2, 1 para que coincida con la disposición visual. Algunas páginas ofrecen una guía con el orden sugerido.

¿Por qué mis mosaicos exportados quedan ligeramente desalineados?

La imagen de origen debe tener dimensiones divisibles por el tamaño de la cuadrícula para divisiones limpias. La página o bien recorta el borde derecho/inferior, o bien escala la imagen para encajarla; comprueba qué opción está activa. Si montas los mosaicos físicamente, los errores de alineación subpíxel se suman a lo largo de la cuadrícula.

¿Qué formato y resolución de salida?

PNG por defecto a la resolución de origen. Para Instagram, 1080×1080 píxeles por mosaico es el mínimo recomendado (4320×4320 de origen para una cuadrícula 4×4). Para impresión física de pósters, usa una resolución de origen mayor y un formato apto para impresión como TIFF si tu impresora lo admite.

¿Puedo añadir espacios entre los mosaicos?

Algunas builds ofrecen una opción de 'gutter' para dejar un margen blanco alrededor de cada celda, imitando cómo la cuadrícula de Instagram se renderiza con finos espacios. Ajusta el ancho del gutter para que coincida con la previsualización de la plataforma social si quieres que el resultado en pantalla se vea idéntico a la imagen original.