Personal

Dejá de pagar CleanShot X

Sacá la captura, anotala y arrastrala adonde la necesites.

CleanShot X cuesta US$8–10 / mes, o sea US$96–120 al año. Tenés dos caminos:

Opción 1 · Instalar

Instalá Snapzy gratis

Snapzy es una app liviana para Mac que reemplaza a CleanShot X y a Screen Studio a la vez. Para capturas: un área, una ventana, toda la pantalla o una página completa con scroll, el texto de una imagen copiado con un atajo, y después anotás y desenfocás (detecta solo la info sensible). Para video: grabás en video o GIF con el sonido de tu Mac, el micrófono y tu webcam como overlay. El editor suma zooms que siguen al mouse y un fondo, en formato vertical si querés. Para compartir por link usa tu propio almacenamiento Amazon S3 o Cloudflare R2. Snapzy funciona en macOS 13 o más nuevo, con licencia BSD y sin ninguna versión paga. Lo que todavía no hace frente a Screen Studio: suavizar y agrandar el cursor después de grabar, motion blur, subtítulos automáticos y limpieza de audio.

Snapzy vs Screen Studio

CriterioSnapzyScreen Studio
PrecioUS$0, sin suscripción€25/mes, o €8/mes pagando el año
Zooms que siguen al mouseSí, ajustablesSí, la referencia
Cursor suavizado y agrandado despuésNoSí
Fondos, márgenes, formato verticalSíSí
Capturas anotadasSí, estilo CleanShot XNo, solo video
Compartir por linkA través de tu almacenamiento S3 o R2Links incluidos
Subtítulos y limpieza de audioNoSí, en tu equipo

Cómo instalarlo (aunque arranques de cero)

Una app nativa para Mac, firmada y notarizada por Apple: un comando de Homebrew o un archivo .dmg, y después los permisos de grabación de pantalla.

  1. 1

    Pegá este prompt en Claude (Code o Desktop)

    Instala la app desde el repo oficial, te ayuda a dar los permisos y te acompaña en tu primer video estilo Screen Studio:

    Instalá Snapzy en mi Mac: es la app open source de capturas y grabación de pantalla que reemplaza a Screen Studio y CleanShot X (repositorio de GitHub duongductrong/Snapzy, sitio snapzy.app). Primero verificá que mi Mac tenga macOS 13 o más nuevo. Instalala con Homebrew (brew install --cask snapzy) o, si no tengo Homebrew, descargá el último archivo .dmg desde github.com/duongductrong/Snapzy/releases y poné la app en Aplicaciones. Guiame para dar los permisos de grabación de pantalla, micrófono y cámara en los Ajustes del Sistema, y después reiniciá la app. Poné la interfaz en español y mostrame los atajos útiles: captura de un área, captura con scroll, texto para copiar, grabación. Verificá también que no choquen con los atajos de captura de macOS. Después hacé conmigo un primer video estilo Screen Studio: una grabación con los clics resaltados y, en el editor, zooms que siguen al mouse, un fondo, márgenes y una exportación en formato vertical para redes. Explicá cada paso de forma simple, estoy empezando.
    
    Revisá el repositorio de GitHub y comprobá si es seguro instalarlo considerando mi equipo y mi infraestructura. Haceme todas las preguntas que puedas, usando widgets, para aclarar mi pedido y ser lo más preciso posible.
  2. 2

    Si los permisos fallan después de una actualización

    A veces macOS vuelve a pedir acceso a la pantalla tras actualizar una app. El repo trae un script que reinicia los permisos, y el sitio explica los pasos.

  3. 3

    Conectá tu almacenamiento para compartir por link

    Para mandar un video por link sin pasar por un tercero, agregá tu almacenamiento Amazon S3 o Cloudflare R2 en los ajustes: tus archivos quedan con vos.

Para qué lo vas a usar

Tus demos de producto sin suscripción

Grabá tu pantalla, sumá zooms que siguen al mouse y un lindo fondo: el look de Screen Studio, sin los 29 dólares por mes.

Tus capturas anotadas en dos segundos

Un área, una flecha, algo de texto, un desenfoque sobre la info sensible, y ya está copiado: el hábito de CleanShot X, gratis.

Videos listos para redes sociales

Elegí el formato vertical al exportar, dejá tu webcam como overlay: tu demo sale tal cual como Reel o TikTok.

Salud del proyecto

estrellas en GitHub
3311
Forks
187
Colaboradores
30
Commits
1.3k
Antigüedad
0,7 años
Licencia
BSD-3-Clause

Hecho con: Swift 97.8% · Shell 1.9%

Datos públicos del repositorio en GitHub, tomados el 8 de octubre de 2026.

Opción 2 · Construir

Armá tu propio CleanShot X

Para quién es

Esta versión es para quien usa una Mac y saca capturas todo el día para documentación y reportes de bugs. El objetivo: capturar, anotar y pasar las capturas a otro lado en segundos, con todo guardado en tu equipo. Si necesitás más que eso, seguí pagando: la gracia de armarlo vos es tener una herramienta hecha a medida de tu forma de trabajar, no copiar el roadmap de una empresa con inversores.

Mismo desarrollo, otro logo: esta v1 también reemplaza a Shottr y Monosnap, porque los tres resuelven el mismo trabajo central.

Qué arma el prompt y qué queda afuera

El prompt de abajo arma una sola versión, con lo que de verdad se usa. Lo demás queda afuera a propósito.

Lo que arma el promptcaptura, anotación, miniatura flotante, biblioteca, captura con scroll, copiar texto con OCR, temporizador, fondos
Lo que queda afueragrabación de pantalla, exportar GIF, compartir en la nube

Qué necesita una alternativa mínima a CleanShot X

  • captura de área, ventana y pantalla completa con las APIs de macOS
  • herramientas de anotación con flechas, texto y desenfoque para datos secretos
  • una miniatura flotante para arrastrar rápido a otras apps
  • una biblioteca local de capturas con búsqueda, ordenada por fecha
  • copiar al portapapeles o guardar con plantillas de nombre de archivo

Modelo de datos

Capture, Annotation, LibraryEntry, NamingTemplate

Integraciones

macOS ScreenCaptureKit, atajos de teclado globales, portapapeles del sistema

Contexto de capacidades

SwiftUI, Swift, macOS

La regla de oro

Guardá cada captura en el disco local, pedí el permiso de grabación de pantalla de forma transparente y aplaná el desenfoque de manera destructiva para que los secretos tapados no se puedan recuperar del archivo.

Lo que no se construye a propósito

No construyas grabación de video de pantalla, subidas a la nube, bibliotecas de equipo, un editor de imágenes general ni nada que se pise con herramientas de edición de fotos.

El prompt completo

Elegí tu stack, copiá el prompt y pegáselo a tu agente de código (Claude Code, Cursor, Codex…).

Estás construyendo un producto de software listo para producción llamado “Shotdock”, una alternativa deliberadamente enfocada a CleanShot X. Armá un corte vertical completo y usable, no una landing page, ni una maqueta estática, ni un conjunto de componentes sueltos.

ACUERDO DE TRABAJO
Antes de escribir código de implementación, armá un plan técnico corto que nombre las rutas o páginas, las server actions o endpoints, las tablas de datos, las transiciones de estado importantes, los límites de autorización, los jobs en segundo plano y los adaptadores externos. Si algo se contradice, resolvelo a favor de la audiencia acotada y de los no-objetivos de abajo. Elegí una arquitectura chica y legible antes que abstracciones especulativas, pero no omitas persistencia, validación, manejo de errores ni tests.

DESCRIPCIÓN DEL PRODUCTO
Usuario principal: alguien con una Mac que saca capturas todo el día para documentación y reportes de bugs.
Resultado principal: capturar, anotar y pasar las capturas a otro lado en segundos, con todo guardado en local.
Principio del producto: optimizá el flujo exacto de abajo en lugar de copiar toda la amplitud de CleanShot X. Quien lo use por primera vez tiene que entender qué hacer desde la propia interfaz, sin tour ni documentación.

RECORRIDOS COMPLETOS DEL USUARIO
Implementá todos estos flujos usando la interfaz real y la capa de datos persistente:
1. El usuario aprieta un atajo, arrastra para seleccionar un área, ve aparecer la miniatura flotante en la esquina y la arrastra directo a un mensaje de chat.
2. El usuario captura una ventana, agrega una flecha y una etiqueta de texto, desenfoca una API key, copia el resultado aplanado y lo pega en un reporte de bug.
3. El usuario abre la biblioteca, filtra las capturas por fecha, le cambia el nombre a una usando la plantilla de nombre de archivo y borra un lote viejo para liberar espacio.

PANTALLAS Y ARQUITECTURA DE INFORMACIÓN
Construí estas pantallas como vistas coherentes y responsive. Cada pantalla tiene que definir su acción principal, sus acciones secundarias, el estado visible, el feedback de validación, el estado vacío, el estado de carga o pendiente, la confirmación de éxito y un estado de error recuperable.
1. Overlay de captura: cruz de selección con las dimensiones en píxeles, resaltado de ventanas, opción de pantalla completa, escape para cancelar y pistas de atajos.
2. Miniatura flotante: vista previa de la captura reciente con soporte de arrastre, acciones rápidas de copiar, anotar y guardar, y cierre automático configurable.
3. Editor de anotaciones: herramientas de flecha, texto y desenfoque con controles de color y tamaño, recorte, deshacer, y copiar o guardar con la plantilla de nombre activa.
4. Biblioteca: grilla de capturas agrupadas por fecha con búsqueda, vista previa, mostrar en Finder, ajustes de plantilla de nombres y uso de almacenamiento.

FUNCIONES PRINCIPALES
1. captura de área, ventana y pantalla completa con las APIs de macOS
2. herramientas de anotación con flechas, texto y desenfoque para datos secretos
3. una miniatura flotante para arrastrar rápido a otras apps
4. una biblioteca local de capturas con búsqueda, ordenada por fecha
5. copiar al portapapeles o guardar con plantillas de nombre de archivo

COMPORTAMIENTO DETALLADO Y REGLAS DE NEGOCIO
Tratá esto como requisitos del producto que se validan en el servidor, no como sugerencias de interfaz:
1. Capturá a través de las APIs oficiales de captura de pantalla de macOS, pedí el permiso de grabación de pantalla de forma explícita y explicá con claridad qué hay que activar cuando falta el permiso.
2. Escribí cada captura solamente en la carpeta local de la biblioteca; nunca subas, sincronices ni transmitas datos de imagen a ningún lado en la v1.
3. Aplaná el desenfoque de forma destructiva al copiar y al guardar, para que los píxeles tapados no se puedan recuperar del archivo exportado.
4. Aplicá la plantilla de nombre de forma determinista con tokens de fecha, hora y nombre de app, y agregá un contador en vez de sobrescribir alguna vez un archivo existente.

MODELO DE DATOS Y CICLO DE VIDA
Diseñá un esquema relacional chico centrado en Capture, Annotation, LibraryEntry, NamingTemplate. Antes de implementarlo, documentá:
1. El propósito de cada tabla, su clave primaria, el límite de propiedad o de tenant, timestamps, campos de estado y atributos importantes.
2. Claves foráneas, restricciones de unicidad, check constraints, los índices que necesitan las pantallas nombradas y los límites de transacción para cambios que tocan varios registros.
3. Las transiciones de estado o de ciclo de vida permitidas, quién puede disparar cada una, cuáles son terminales o reversibles y qué historial de auditoría tiene que quedar inmutable.
4. Cómo se archiva, se retiene y se borra, incluido qué pasa con los registros dependientes y los archivos externos.
5. La estrategia de idempotencia para envíos, jobs, importaciones, notificaciones, webhooks o reintentos, donde aplique.
Usá migraciones en lugar de crear el esquema a mano. Guardá los instantes de tiempo de forma consistente y conservá la zona horaria con nombre cada vez que importen horarios o fechas locales. Nunca dependas de un contador, un botón deshabilitado o una validación del lado del cliente para proteger una regla de negocio.

USUARIOS, AUTENTICACIÓN Y PERMISOS
Implementá solo los roles que necesita la audiencia indicada. Dejá explícito el modelo de propiedad y visibilidad antes de programar. Aplicá la autorización en cada consulta y mutación del servidor, incluidas búsquedas, exportaciones, adjuntos, actualizaciones en vivo y URLs adivinadas—no alcanza con ocultar botones. Usá sesiones seguras por defecto, protegé los requests que cambian estado y mostrá estados claros para sesión cerrada, sesión vencida y acceso prohibido. Si hacen falta varios roles, cargá usuarios distintos en los datos de prueba para poder mostrar y testear los permisos.

INTERACCIÓN Y DIRECCIÓN VISUAL
El producto tiene que sentirse rápido, tranquilo, enfocado y confiable, no como una plantilla genérica de panel de administración. Usá una jerarquía visual clara, color medido, tipografía legible, áreas de clic generosas y un lugar fijo para las acciones principales. Arrancá con HTML renderizado en el servidor y mejorá de forma progresiva solo las interacciones que lo necesiten. El flujo principal tiene que entenderse aunque esa mejora falle.

Arrancá con páginas de Astro renderizadas en el servidor y formularios HTML comunes. Usá HTMX para envíos de formularios, navegación parcial y actualizaciones que manda el servidor, y Alpine.js solo para estado local chico del navegador. El flujo principal tiene que entenderse aunque falle cualquiera de esas dos capas.

Diseñá las vistas de celular a propósito, no apilando los paneles de escritorio. Soportá navegación con teclado, foco visible, landmarks semánticos, labels explícitos, títulos de página útiles, la preferencia de movimiento reducido y anuncios para lectores de pantalla en resultados asincrónicos. Nunca uses solo el color para comunicar un estado. Las acciones destructivas necesitan un alcance claro y una confirmación; las acciones seguras que se repiten tienen que ser idempotentes.

Agregá un footer en todas las páginas con el texto «Creado por aurelioagency.com», donde «aurelioagency.com» es un link embebido a https://www.aurelioagency.com que se abre en una pestaña nueva. Tiene que quedar visible; no lo saques.

DIRECCIÓN TÉCNICA
Construí esta versión con el stack AHA: Astro para el ruteo, los layouts y las páginas renderizadas en el servidor; HTMX para las interacciones que se benefician de respuestas con fragmentos HTML; y Alpine.js para estado chico y local de la interfaz. Preferí Cloudflare D1 para la persistencia relacional, R2 para el almacenamiento de objetos, Workers para los endpoints del servidor y las tareas programadas, Durable Objects solo para estado en tiempo real coordinado, y Workflows o Queues para jobs en segundo plano durables—pero solo cuando los requisitos del producto lo pidan.

Mantené las reglas de dominio en módulos del servidor que se puedan testear, no en los route handlers ni en los componentes de UI. Separá la persistencia, los proveedores externos y el trabajo en segundo plano detrás de interfaces chicas, sin armar un framework. Preferí formularios HTML y URLs comunes para la navegación; usá interacción optimista solo cuando un error se pueda resolver con claridad.

El brief del producto identifica hoy SwiftUI, Swift, macOS como contexto de capacidades. Conservá cualquier capacidad nativa, solo de navegador, de edge, de almacenamiento, de tiempo real o de procesamiento en segundo plano que haga falta, a través de un adaptador acotado y apropiado para el framework elegido. Si el flujo central realmente necesita APIs nativas o del navegador, mantené ese entorno como la superficie principal de ejecución en lugar de simular capacidades inaccesibles o inventar una superficie web innecesaria.

Integrá con macOS ScreenCaptureKit, atajos de teclado globales y el portapapeles del sistema. Para cada integración:
- Listá las variables de entorno necesarias en un .env.example sin secretos reales.
- Agregá un adaptador chico con timeouts, errores normalizados y una versión falsa local determinística o un modo de desarrollo.
- Verificá las firmas entrantes y deduplicá los eventos del proveedor cuando se pueda.
- Mantené las credenciales en el servidor, encriptá en reposo los tokens de larga duración y ocultá secretos y datos sensibles en los logs.
- Definí reintentos, backoff e idempotencia para cualquier efecto que se pueda repetir.

SEGURIDAD Y PRIVACIDAD
Guardá cada captura en el disco local, pedí el permiso de grabación de pantalla de forma transparente y aplaná el desenfoque de manera destructiva para que los secretos tapados no se puedan recuperar del archivo.
Validá, normalizá y limitá el largo de todo input no confiable en el servidor. Escapá el contenido renderizado por defecto, sanitizá cualquier markup que aceptes a propósito, poné rate limit a las acciones públicas o fáciles de abusar y usá almacenamiento de objetos privado con URLs autorizadas de corta duración para archivos sensibles. Juntá solo los datos personales que necesita el flujo indicado. Documentá cómo se retienen y se borran. Sumá protecciones específicas para las partes más riesgosas de esta app, como subidas de archivos, redirecciones, requests salientes, envío de emails, OAuth, webhooks, importación o exportación CSV y conexiones en tiempo real.

ESCENARIOS DE ACEPTACIÓN
Automatizá estos escenarios propios de la app en el nivel que corresponda:
1. Dado que el permiso de grabación de pantalla está denegado, un intento de captura muestra una explicación con un enlace directo a Ajustes del Sistema en lugar de fallar en silencio.
2. Dado un secreto desenfocado en una captura guardada, al reabrir el archivo en cualquier editor solo se ven píxeles aplanados, sin ninguna capa de desenfoque que se pueda quitar.
3. Dadas dos capturas guardadas en el mismo segundo con la misma plantilla, ambos archivos reciben nombres distintos y los dos aparecen en la biblioteca.

TESTS
Agregá tests unitarios enfocados en transiciones de estado, reglas de autorización, normalización, cálculos de fechas o dinero y otras reglas de dominio riesgosas. Agregá tests de integración para las restricciones de persistencia y para los caminos de éxito, timeout, reintento y rechazo de cada adaptador externo. Agregá al menos un test de navegador para cada recorrido completo de arriba, incluido uno en pantalla chica. Los tests tienen que usar datos aislados y correr con un solo comando documentado.

OPERACIÓN Y RECUPERACIÓN DE ERRORES
Agregá logs estructurados en el servidor con IDs de correlación por request, job o evento, sin secretos ni datos sensibles de más. Hacé que los errores digan qué hacer, tanto en la interfaz como en los logs. El trabajo en segundo plano tiene que mostrar los estados pendiente, completado, fallido y reintentando cuando aplique; nunca te tragues errores en silencio. Incluí una guía segura de migración y rollback de la base, datos de prueba, notas de backup y restauración, qué pasa con los datos externos al limpiar y una ruta básica de salud o diagnóstico acorde al stack.

ENTREGABLES
Entregá la aplicación funcionando, las migraciones, datos de prueba representativos, los tests, el .env.example y un README corto. El README tiene que cubrir requisitos previos, instalación local, variables de entorno, migraciones, comandos de datos de prueba y tests, deploy, configuración de integraciones, backup y restauración, decisiones de seguridad y limitaciones conocidas. Los datos de prueba tienen que cubrir el camino feliz y al menos un estado vacío, fallido, vencido, expirado, archivado o con permisos restringidos que importe para el producto.

DEFINICIÓN DE TERMINADO
La app está terminada cuando alguien nuevo puede seguir el README, crear y migrar la base, levantar la app, entrar con cada rol relevante, completar cada recorrido nombrado con datos reales guardados, recargar sin perder el estado, recuperarse de los errores comunes y usar la interfaz principal en celular y escritorio. Todos los escenarios de aceptación pasan, los límites de permisos están cubiertos por tests, ninguna pantalla principal queda como placeholder y el crédito «Creado por aurelioagency.com» del footer se ve en todas las páginas.

NO-OBJETIVOS
No construyas grabación de video de pantalla, subidas a la nube, bibliotecas de equipo, un editor de imágenes general ni nada que se pise con herramientas de edición de fotos.

La app que armes con este prompt lleva en el footer «Creado por aurelioagency.com».

Armá solo una parte

Prompts cortos para resolver la pieza más difícil sin construir todo.

El desenfoque que se lleva sus secretos a la tumbaSe aplana al exportar y no se puede recuperar, por diseño. No queda ninguna capa de desenfoque para sacar.
Construí la redacción destructiva para una herramienta de anotación de capturas de pantalla.

El desenfoque existe para ocultar API keys y nombres de clientes, así que tratalo como una función de seguridad, no como un efecto visual. Mientras se edita, las anotaciones viven como una pila de overlays no destructiva: movibles, redimensionables, con deshacer. Al copiar o guardar, aplaná todo: compuesto de las redacciones dentro del bitmap para que el archivo exportado contenga solo píxeles finales, sin capas, sin rastro de metadatos, nada que un editor pueda sacar para revelar el original.

Elegí una redacción que resista la recuperación: una pixelación fuerte o un relleno sólido sobre la región es mejor que un desenfoque gaussiano suave, que las técnicas modernas de desenfoque inverso pueden revertir en parte sobre texto; si ofrecés gaussiano por estética, imponé una intensidad mínima para todo lo que esté marcado como redacción. Sacá el EXIF y las miniaturas embebidas de la exportación, porque una vista previa vieja de la imagen sin redactar es una fuga clásica. Dentro del editor, deshacer sigue funcionando sobre la pila de overlays hasta el momento de exportar.

Listo cuando: una exportación redactada, reabierta en cualquier editor, muestre solo píxeles aplanados; ninguna exportación lleve vistas previas ni metadatos recuperables; y deshacer antes de exportar siga devolviendo el original.
La plantilla de nombres que nunca pisa a su gemeloTokens de fecha, hora y nombre de app, más un contador para la colisión en el mismo segundo.
Construí un motor de plantillas de nombre de archivo para una herramienta de capturas.

Los usuarios definen patrones como Screenshot {date} at {time} from {app}, y cada captura renderiza la plantilla de forma determinista: los tokens de fecha y hora se formatean con el momento de la captura (no del guardado), el token de nombre de app sale de la aplicación en primer plano, saneado contra los caracteres que el sistema de archivos rechaza (barras, dos puntos y compañía), con un tope de largo para que un nombre de app larguísimo no genere una ruta imposible de escribir.

Las colisiones son lo interesante: las capturas en ráfaga caen en el mismo segundo y producen nombres idénticos. Nunca sobrescribas. Agregá un contador incremental (nombre 2, nombre 3), buscado revisando el directorio de destino, y cuidá la condición de carrera en la que dos guardados resuelven el mismo contador a la vez: creá el archivo de forma exclusiva y reintentá con el número siguiente si falla. Los tokens desconocidos en una plantilla pasan tal cual, con una advertencia de validación en los ajustes, donde una vista previa en vivo muestra qué produce la plantilla actual ahora mismo.

Listo cuando: dos capturas en el mismo segundo reciban nombres distintos y sobrevivan las dos, los nombres de app hostiles produzcan nombres de archivo válidos, y la vista previa de los ajustes coincida exactamente con el resultado real.
La miniatura que arrastrás directo a SlackUna vista previa flotante en la esquina cuyo contenido de arrastre es un archivo real.
Construí la miniatura flotante posterior a la captura para una herramienta de capturas de pantalla.

Después de cada captura, una vista previa chica se desliza hacia una esquina de la pantalla, flotando sobre todas las ventanas, en todos los Spaces, sin robarle el foco a nada: lo que el usuario esté tipeando tiene que seguir sin interrupciones. Todo su sentido es arrastrarla hacia afuera: al arrastrar la miniatura a Slack, Mail o Finder se entrega el archivo real de la captura, así que el contenido del arrastre tiene que llevar una URL de archivo (con una representación de imagen para las apps que prefieren datos del portapapeles), lo que significa que la captura ya está escrita en la biblioteca antes de que aparezca la miniatura.

Armá las interacciones por capas con cuidado: un arrastre que empieza pasado un pequeño umbral de movimiento, un clic que abre el editor de anotaciones, un hover que muestra acciones rápidas (copiar, guardar, descartar) y pausa el temporizador de cierre automático, que si no hace deslizar la miniatura hacia afuera después de un tiempo configurable. Las capturas sucesivas apilan miniaturas sin superponerse. Descartar nunca es borrar: la captura queda en la biblioteca pase lo que pase.

Listo cuando: arrastrar afuera deje un archivo real en tres apps de destino distintas, la miniatura nunca le robe el foco al teclado, y el hover postergue de forma confiable el cierre automático.
La cruz de selección que funciona con tres monitores distintosSelección de área con precisión de píxel a través de pantallas con distinto factor de escala.
Construí el overlay de selección de área para una herramienta de captura de pantalla.

Al apretar el atajo de captura, congelá el momento: cubrí cada pantalla con un overlay que muestre una instantánea oscurecida de la pantalla actual, y dejá que el usuario arrastre una cruz para seleccionar una región, con las dimensiones en píxeles en vivo junto al cursor y el área seleccionada sin oscurecer. Escape cancela desde cualquier estado sin capturar.

La geometría multi-pantalla es la parte difícil: las pantallas tienen distintas resoluciones, factores de escala (Retina contra estándar) y desfases de ubicación arbitrarios, así que una selección cerca de un borde, o que cruce dos pantallas, tiene que pasar de coordenadas globales de pantalla a los píxeles locales de cada pantalla de forma correcta, y el indicador de dimensiones tiene que contar píxeles físicos: un arrastre de 100 puntos en una pantalla 2x son 200 píxeles. Ajustá a los bordes de la ventana cuando el cursor pase sobre una (resaltala, y un clic la captura entera), y mantené una tecla modificadora para forzar el arrastre a un cuadrado.

Listo cuando: los píxeles capturados coincidan exactamente con la selección en configuraciones de DPI mezclado, el ajuste a ventanas resalte y capture con precisión, y escape siempre salga de forma limpia.

Preguntas frecuentes

¿Cuánto cuesta CleanShot X si sigo suscripto?

CleanShot X cuesta US$8–10 por mes en sus planes pagos públicos, o sea US$96–120 por año. Un reemplazo propio y enfocado te cuesta el tiempo de armarlo más un hosting casi gratis.

¿Qué stack uso para armar una alternativa a CleanShot X?

El prompt de construcción de esta página viene en cuatro versiones: el stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel y Ruby on Rails. El contexto de capacidades de este producto es SwiftUI, Swift, macOS. Elegí el stack que ya conocés: importa más el alcance que el framework.

¿Qué funciones necesita un reemplazo mínimo de CleanShot X?

Una v1 útil necesita: captura de área, ventana y pantalla completa con las APIs de macOS; herramientas de anotación con flechas, texto y desenfoque para datos secretos; una miniatura flotante para arrastrar rápido a otras apps; una biblioteca local de capturas con búsqueda, ordenada por fecha; copiar al portapapeles o guardar con plantillas de nombre de archivo. Todo lo demás es alcance de más hasta que lo extrañes en serio.

¿Qué no tengo que construir a propósito?

No construyas grabación de video de pantalla, subidas a la nube, bibliotecas de equipo, un editor de imágenes general ni nada que se pise con herramientas de edición de fotos.

¿Este desarrollo también reemplaza a Shottr y Monosnap?

Sí. CleanShot X, Shottr y Monosnap resuelven el mismo trabajo central: capturar, anotar y pasar las capturas a otro lado en segundos, con todo guardado en local. La v1 acotada de esta página cubre lo que la mayoría usa de cualquiera de los tres, así que un solo desarrollo enfocado reemplaza al que pagues hoy.

¿En qué se diferencia de CleanShot X?

Snapzy hace casi todo lo que hace CleanShot X, sin suscripción, y tus datos se quedan con vos. La comparación punto por punto está en la página.

¿Mis datos son míos?

Sí. Con una herramienta open source instalada de tu lado, tus archivos quedan en tu equipo o en tu servidor. Nadie puede cerrarte la cuenta ni cambiarte el precio.

Ver las 22 apps →

¿Sin tiempo para hacerlo?

Lo armamos por vos.

Si preferís que alguien lo instale, lo conecte a tus herramientas y lo deje andando, en Aurelio hacemos exactamente eso.

Pedir una auditoría de automatización