Skip to content

Acerca de

En el navegador — sin subida

Acerca de OpenImages

Última actualización: 2026-05-26

Qué es

OpenImages es un conjunto de 64 herramientas de imagen gratuitas que se ejecutan íntegramente en tu navegador — conversores entre todos los formatos comunes, compresores, redimensionadores y recortadores, filtros, vectorizadores, un upscaler, generadores de favicons y paletas de color, y unas pocas herramientas de salida a PDF. Ningún archivo que cargues se envía a un servidor. Cada decodificación, transformación y codificación ocurre en tu dispositivo — en el hilo principal de la página o en un Web Worker para las herramientas pesadas (vectorización, quitar fondo). Si el resultado se ve mal, el bug está en este sitio, no en una nube por ahí.

Cómo funcionan las herramientas en tu navegador

El sitio está construido con Astro, Svelte 5 y Tailwind CSS 4, desplegado en Cloudflare Pages. El trabajo con imágenes se divide en decodificación (convertir un archivo en píxeles), procesamiento (modificar esos píxeles) y codificación (escribir el resultado a un archivo). Cada paso usa una librería o API del navegador específica — elegida para ser honesto sobre qué es nativo y qué es un polyfill:

  • Decodificación nativa — PNG, JPG, WebP, GIF, BMP, ICO, AVIF y SVG se decodifican con el HTMLImageElement nativo de tu navegador. El soporte AVIF es amplio en Chrome/Edge/Firefox/Safari, aunque los decodificadores específicos pueden diferir en el manejo de HDR o AVIF animado.
  • HEIC — decodificado por heic2any (1,32 MB), cargado en lazy solo cuando abres una herramienta HEIC. La librería incluye libheif compilado a JavaScript; la descarga se queda en la caché del navegador tras la primera carga.
  • JXL (JPEG XL) — usa el decodificador nativo del navegador. El soporte JXL cambia de trimestre en trimestre (algunos navegadores lo traen por defecto, otros lo tienen tras un flag, otros aún en progreso), así que deliberadamente no mantenemos aquí nuestra propia tabla de estado — consulta caniuse.com/jpegxl para el panorama actualizado. Cuando el navegador no puede decodificar JXL, la herramienta muestra un error "no soportado" explícito en vez de fallar silenciosamente.
  • Canvas API — una vez decodificada la imagen, todas las operaciones de geometría y píxel (recorte, rotación, volteo, redimensionado, marca de agua, filtro, ajuste de color) corren sobre un contexto 2D de HTMLCanvasElement. Ni WebGL ni WASM en este paso — Canvas JavaScript puro.
  • Compresiónbrowser-image-compression maneja el dimensionado de target JPG/PNG/WebP para las herramientas de compresión (envuelve bucles de re-encode en Canvas con búsqueda de calidad).
  • Upscalingresampler Lanczos3 propio en TypeScript puro (src/lib/lanczos.ts), separable de 2 pasadas con pesos precomputados. Sin WASM, sin servicios externos.
  • Vectorización (raster → SVG)VTracer (visioncortex/vtracer, Rust, MIT), compilado a WebAssembly por este proyecto y vendorizado (~122 KB de bundle WASM). Corre en un module Web Worker — sin subidas, sin ida y vuelta al servidor. El trazado opera sobre una copia reducida (máximo 2048 px en el lado más largo) y es determinista: mismo input y preset producen el mismo SVG. Cuatro presets de trazado por intención: Logo, Ilustración, Foto (pintura vectorial detallada — más paths, archivo mayor) y B/N (trazado binario). Más el modo Incrustar: envuelve el raster original en un elemento SVG <image> (resolución completa, alfa preservada según el formato origen) con contorno opcional de bordes Sobel vía d3-contour.
  • Salida PDFpdf-lib para image-to-pdf y screenshot-to-pdf.
  • Codificación ICOsrc/lib/ico-encoder.ts propio para la cadena de cabeceras BMP/PNG que requiere Windows.
  • Exportación en masa — escritor ZIP propio basado en streaming (src/lib/zip-stream.ts) usado por bulk-convert y bulk-resize — sin librería ZIP externa, sin subida temporal.

No hay trackers de terceros más allá de Google Analytics 4 agregado (con consentimiento UE/UK puesto en "denegado" por defecto). Las entradas nunca salen de tu navegador, así que no hay nada en un servidor sobre lo que preguntar bajo el Artículo 15 del RGPD — el flujo completo está documentado en la Política de Privacidad.

Soporte de formatos y límites conocidos

OpenImages hace lo que tu navegador puede hacer, más el polyfill de HEIC. La matriz honesta:

  • Siempre funciona — PNG, JPG/JPEG, WebP, GIF, BMP, SVG, ICO. Como entrada y salida en todos los navegadores modernos.
  • Funciona con polyfill — HEIC/HEIF como entrada vía heic2any. La salida a HEIC no está soportada (los navegadores no pueden codificar HEIC sin una librería mucho mayor; si necesitas salida HEIC, la herramienta correcta es la cámara nativa de tu móvil o ffmpeg).
  • Depende del navegador (JXL) — la disponibilidad de JXL varía por navegador y cambia con el tiempo (default-on en unos, tras flag en otros, en progreso en otros más). Para el panorama actual consulta caniuse.com/jpegxl. Cuando tu navegador no puede decodificar JXL, la herramienta reporta "no soportado" en lugar de producir píxeles incorrectos.
  • Solo decodificación — TIFF y AVIF suelen poder abrirse en navegadores modernos pero la codificación de vuelta a esos formatos no se ofrece (no hay codificador del lado del navegador ampliamente disponible).

Los límites prácticos de tamaño de imagen los impone la memoria del navegador, no un tope arbitrario en este sitio. Como guía aproximada: las herramientas de imagen única manejan 50–100 megapíxeles cómodamente en un portátil reciente; las herramientas en masa y de vectorización hacen downsample internamente y corren sobre entradas mucho mayores. Si una herramienta crashea con un archivo enorme, el archivo es la causa — pasa a una herramienta de escritorio (ImageMagick, GIMP, Photoshop) para ese trabajo concreto.

Por qué existe

La mayoría de sitios de herramientas de imagen online siguen el mismo patrón: una página lenta llena de anuncios intrusivos, un muro de pago que esconde las funciones realmente útiles, un registro forzado y un paso de subida que pone tus fotos en el servidor de otro. Las fotos suelen llevar EXIF de localización, identificadores de dispositivo y contexto personal — subirlas para convertir un JPG a PNG es un autogol de privacidad que el operador no estaba dispuesto a seguir cometiendo. OpenImages es el resultado.

La filosofía de diseño: cada operación que técnicamente puede correr en cliente, debe correr en cliente. Para el trabajo con imagen eso resulta ser casi todo — el navegador ya trae decodificadores excelentes, la Canvas API tiene aceleración hardware en la mayoría de dispositivos, y el único caso "necesitamos servidor" (HEIC) se resuelve con un polyfill de 1,3 MB que carga bajo demanda y no se descarga otra vez.

Cómo se financia

OpenImages es gratis, sin registro, sin nivel premium y sin upsells. El sitio se financia con anuncios de Google AdSense alrededor de las herramientas, y con propinas ocasionales en Buy Me a Coffee de personas a las que el resultado les sirvió.

Esto permite que el sitio sea sostenible sin recolectar tus datos, sin esconder herramientas tras pago y sin empujarte a una app de escritorio. Si una de las herramientas te resulta genuinamente útil y quieres apoyar el desarrollo, el enlace Buy Me a Coffee del pie de página es la vía más directa.

Quién hay detrás

OpenImages lo construye y mantiene Marco B., un desarrollador independiente afincado en España. El sitio forma parte de un pequeño portafolio de utility web apps (CompoundVision para finanzas, AllYouNeed para utilidades generales, JSONCraft para desarrolladores, OpenImages para imagen, OpenPDF para PDFs, PingThat para red). Todas comparten el mismo diseño privado por defecto.

Si quieres hablar con un humano sobre una herramienta, un bug o una función que echas en falta, la página de Contacto tiene un formulario de feedback que llega a la bandeja del operador en pocas horas durante días laborables UE.

Independencia editorial

La red publicitaria (Google AdSense) no influye en qué herramientas se construyen ni cómo funcionan. No hay artículos patrocinados, ni listas "los mejores de" empujando enlaces de afiliado, ni referral kickbacks por recomendaciones de almacenamiento en nube o servicios de fotografía de stock, ni decisiones editoriales tomadas para favorecer a un anunciante. Si una herramienta existe en el sitio, es porque fue suficientemente útil al operador como para construirla.

Patrocinado