SJLS27/openburn
SJLS27/openburn has 27 GitHub stars and 3 forks. Star changes are not measured yet. Last checked 2026-11-13 08:07 UTC. Last push 2026-11-08.
Open-source laser cutting & engraving software: vector design, animated preview, GRBL control, material tests, image tracing and LightBurn .lbrn/.lbrn2 import/export.
Crecimiento de estrellas medido
- in 24h
- Recopilando historial
- in 7 days
- Recopilando historial
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
Original
Software open-source de diseño, previsualización y control de máquinas láser.
Alternativa libre inspirada en el flujo de trabajo de LightBurn, con importación y exportación de sus proyectos .lbrn y .lbrn2.
Características · Capturas · Inicio rápido · Web · LightBurn · Documentación · Roadmap

🆕 Novedades 0.10.0
Versión centrada en la edición de formas y la fluidez del editor.
- Alineación de texto: izquierda, centro y derecha desde la barra de texto o Tools → Align Text …, también para textos dentro de un grupo; el contorno exportado a GCode y LightBurn la respeta.
- Campos numéricos de forma:
X/Y/W/Hoperan sobre el bounding box real, con candado de proporción (también al arrastrar esquinas). - Reglas en los bordes del lienzo y medida en vivo (
W × H,ΔX/ΔY, ángulo y longitud) al mover, escalar o rotar. - Preview más fluido: capas cacheadas de fondo, trazos y raster, con raster escrito con
ImageDataen vez de punto por punto. - Script de Flatpak local (
scripts/flatpak-local.sh) para empaquetar el worktree sin commitear.
Detalle completo en CHANGELOG.md.
✨ Características
Diseño vectorial
- Línea, rectángulo, rectángulo redondeado, elipse, polígono, texto y medida.
- Selección múltiple, mover, escalar, rotar, voltear, alinear, distribuir, agrupar/desagrupar y orden.
- Booleanos (unión, resta, intersección, exclusión) con Paper.js.
- Offset de contornos, arrays en cuadrícula/circulares y edición de nodos.
- Texto a contornos con opentype.js (fuente Inter incluida) para cortar o grabar sin depender de fuentes.
- Add Tabs: puentes en contornos para que las piezas no se suelten.
- Pegado desde el portapapeles del sistema: texto, SVG (incluido el SVG comprimido de Inkscape) e imágenes, además de menú contextual en el lienzo.
Capas y operaciones
- Paleta de colores tipo LightBurn (
C00,C01, …), cada color es una capa. - Ventana Cuts / Layers tipo LightBurn: tabla con Modo, Spd/Pwr, Output, Show y Air, reordenación de capas, menús contextuales (activar/ocultar todo, invertir, Sort Cuts Last, copiar/pegar ajustes) y campos rápidos de Passes, Speed, Power Max, Power Min e Interval.
- Cut Settings Editor con pestañas Common/Advanced y campos por modo: Min Power, perforación (Cut/Skip), overcut, pausas de inicio/fin con Cut Through, lead-in/lead-out (línea o arco), Z offset y Z step por pasada.
- Modos Line, Fill, Offset Fill e Image con velocidad, potencia, pasadas, intervalo, overscan, bi-direccional, cross-hatch, flood fill, ramp y agrupación de relleno.
- Imagen tipo LightBurn: Threshold, Ordered, Atkinson, Dither, Stucki, Jarvis, Newsprint, Halftone, Sketch y Grayscale, con Negative, Dot Width Correction, Angle Increment y Pass-Through.
- Kerf compensation por capa (expande o contrae cortes cerrados), ángulo de scan, cross-hatch y scan offset.
- Trazos hairline de 1 px como LightBurn, independientes del zoom (también en grupos anidados y en la exportación SVG).
- Biblioteca de materiales editable (nombre, espesor, velocidad, potencia, pasadas, modo y kerf) con persistencia local.
- Overrides de corte por objeto (usados por los tests de material).
- Capa de anotaciones
NOTESque nunca se envía al láser.
Preview y GCode
- Generación de GCode GRBL por capas, con mapeo de origen y
M3/M4. - Preview animado con scrub, velocidad, cabeza láser, tiempo estimado y estadísticas por capa.
- Recorrido de máquina visible: líneas de travel entre cortes y cabeza animada que recorre también los movimientos en vacío (como LightBurn).
- Planificador de corte tipo LightBurn (Optimization Settings): Order by Layer/Group/Priority, corte de formas interiores primero, orden por dirección, reducción de viajes con búsqueda local, mejor punto de inicio, esquinas preferidas, mejor dirección, reducción de cambios de dirección y eliminación de líneas solapadas.
- Exportación de GCode (
.nc) y LightBurn (.lbrn/.lbrn2).
Control GRBL
- Conexión por Web Serial o simulador integrado (sin hardware).
- Streaming con control de flujo,
Frame,Start,Pause/Resume,Stop. - Jog (
$J), homing ($H), unlock ($X), set origin (G10 L20). - Consola bidireccional y macros persistentes.
- Estado en vivo: posición, feed, spindle, progreso y tiempo restante.
Actualizaciones
- Auto-update con
electron-updater: comprueba al arrancar, descarga en segundo plano y ofrece Restart & install. - Release manual desde Help → Check for Updates….
- Artefactos publicados automáticamente en GitHub Releases al crear un tag
v*(AppImage, NSIS y DMG/ZIP).
Escritorio y flujo de trabajo
- Autoguardado en el perfil de la app y recuperación del trabajo sin guardar tras un cierre inesperado.
- Pantalla de bienvenida con New Design, Open Project y la lista de recientes.
- Archivos recientes en File → Open Recent, con opción de limpiar la lista.
- Drag & drop de proyectos, SVG, DXF e imágenes en el punto donde se sueltan.
- Ventana persistente (tamaño, posición y maximizado) e historial de undo/redo acotado para sesiones largas.
- Confirmación Guardar / Descartar / Cancelar antes de descartar cambios.
Calibración
- Material Test potencia × velocidad con sublayers reales (una capa por celda), Interval Test, Focus Test con rampa de eje Z y Kerf Test (ranura o span de líneas).
- Biblioteca de materiales guardable y reutilizable con un clic, incluido el kerf medido.
- Eje Z configurable: offsets por objeto y movimientos
G1 Zen el GCode.
Imágenes
- Importación de PNG/JPG/GIF/BMP/WebP.
- Adjust Image: brillo, contraste, gamma, niveles, curva de tonos, umbral e invertir, con previsualización en vivo.
- Trace Image: vectorización monochrome o color con control de umbral y detalle, preview antes de aplicar y opción de una capa por color.
- Apply Mask to Image: recorta una imagen con una forma vectorial.
Compatibilidad LightBurn
- Abre proyectos
.lbrny.lbrn2(rectángulos, elipses, polígonos, paths con Bézier, grupos, texto con backup path, bitmaps y cut settings). - Exporta
.lbrn(legado, legible) y.lbrn2(compacto) con geometría, texto en contornos, bitmaps y capas. - Ver Compatibilidad con LightBurn.
📸 Capturas
![]() Preview — trayectorias, tiempos y cabeza láser |
![]() Material Test — matriz potencia × velocidad |
![]() LightBurn — abrir y exportar .lbrn/.lbrn2 |
![]() Adjust Image — previsualización en escala de grises |
![]() Focus Test — rampa de Z con etiquetas y offsets por objeto |
🚀 Inicio rápido
Requisitos
- Node.js 22.22+ y npm 10+
- Linux, macOS o Windows
- Opcional: máquina GRBL conectada por USB/serie
git clone https://github.com/SJLS27/openburn.git
cd openburn
npm install
Desarrollo
npm run dev # navegador con recarga en caliente
npm run dev:electron # app de escritorio (Electron + Vite)
npm run test # tests unitarios y de componentes (Vitest)
npm run test:e2e # tests end-to-end (Playwright + Electron)
Producción
npm run build # TypeScript + Vite + proceso principal
npm run build:app # instalador (AppImage / NSIS / DMG) con electron-builder
Descarga e instalación
AppImage (Linux x64): descarga el artefacto de la última Release y ejecútalo:
chmod +x OpenBurn-*.AppImage ./OpenBurn-*.AppImageFlatpak: el manifiesto y las fuentes offline están en
flatpak/. La publicación en Flathub está pendiente de revisión.
Web oficial
La web del proyecto está en producción en Cloudflare Pages: https://openburn.pages.dev (inglés) · https://openburn.pages.dev/es/ (español).
Está verificada en Google Search Console (1 de noviembre de 2026, método de
archivo HTML) y publica robots.txt y sitemap-index.xml. Quedan pendientes la
solicitud de indexación, el alta en Bing Webmaster Tools y la analítica sin
cookies (GoatCounter).
Incluye versión en inglés y español, descargas por plataforma, comparativa con LightBurn, FAQ y datos estructurados para Google.
npm run site:dev # http://localhost:4321
npm run site:build # sitio estático en website/dist/
npm run site:test # build + smoke tests de SEO, sitemap, assets y enlaces
npm run site:deploy # build + deploy a openburn.pages.dev (requiere wrangler login)
Los mismos comandos están disponibles dentro de website/
(npm run dev, build, test y deploy). El despliegue y la verificación en
Search Console están documentados en website/README.md.
Primeros pasos
- Al abrir, elige New Design u Open Project en la pantalla de bienvenida; también puedes arrastrar un
.obrn,.lbrn2, SVG, DXF o una imagen al lienzo. - Elige una herramienta en la barra izquierda y dibuja en el lienzo.
- Asigna color/capa desde la paleta y ajusta velocidad/potencia en Cuts / Layers.
- Pulsa Preview (
Alt+P) para revisar trayectorias y tiempos. - En el panel Laser, conecta tu GRBL o el Simulator (demo) y pulsa Start.
- Guarda como
.obrn(Ctrl+S) o exporta a LightBurn / GCode desde File.
Formato nativo:
.obrn. Los proyectos antiguos.ovbrnse pueden abrir; al guardar se convierten a.obrn.
⌨️ Atajos principales
| Acción | Atajo |
|---|---|
| Nuevo / Abrir / Guardar | Ctrl+N / Ctrl+O / Ctrl+S |
| Importar artwork / Exportar GCode | Ctrl+I / Ctrl+E |
| Deshacer / Rehacer | Ctrl+Z / Ctrl+Shift+Z (Ctrl+Y también) |
| Copiar / Cortar / Pegar / Duplicar | Ctrl+C / Ctrl+X / Ctrl+V / Ctrl+D |
| Pegar en su sitio | Alt+V |
| Seleccionar todo / Eliminar | Ctrl+A / Supr |
| Agrupar / Desagrupar | Ctrl+G / Ctrl+U (Ctrl+Shift+G también) |
| Voltear horizontal / vertical | H / V |
| Rotar 90° horario / antihorario | . / , |
| Espejo respecto a una línea / rotar por dos puntos | Ctrl+Shift+M / Ctrl+2 |
| Invertir selección / eliminar duplicados | Ctrl+Shift+I / Alt+D |
| Herramientas | S seleccionar · N nodos · L línea · R rectángulo · E elipse · P polígono · T texto · M medir |
| Preview | Alt+P |
| Zoom a página / a selección | Ctrl+0 / Ctrl+Shift+A |
| Zoom in / out | + / - |
| Paneo | Espacio + arrastrar, o botón central |
| Pegar desde el sistema (con portapapeles interno lleno) | Ctrl+Shift+V |
🔄 Compatibilidad con LightBurn
OpenBurn lee y escribe el formato XML de LightBurn sin usar su código original.
Abrir
- File → Open LightBurn Project… o simplemente File → Open… con un
.lbrn/.lbrn2. - Se importan capas (CutSetting), colores por índice, geometría, grupos, texto con contornos de respaldo, imágenes y ajustes de corte.
Exportar
- File → Export LightBurn (.lbrn)… — formato legado, XML legible.
- File → Export LightBurn 2 (.lbrn2)… — formato compacto actual.
Detalles y límites
- Los colores de capa en LightBurn se derivan del índice de la capa; los colores personalizados de OpenBurn pueden mostrarse con el color de la paleta en LightBurn.
- Los grupos se aplanan al exportar.
- Los overrides por objeto (Material Test) se exportan como ajustes de capa.
- Las imágenes rotadas se exportan sin rotación (con aviso).
- Texto: al exportar se convierten a contornos (no dependen de fuentes); al importar se usan los contornos de respaldo si existen.
- El formato no está documentado oficialmente; la implementación se validó contra archivos reales y round-trip. Si encuentras un proyecto que no abre, abre un issue con el archivo (o una versión anonimizada).
Más detalles en docs/FILE-FORMATS.md.
🧱 Arquitectura
openburn/
├─ electron/ # proceso principal, preload y auto-update (IPC, diálogos, assets)
├─ src/
│ ├─ core/ # .obrn, unidades, DXF, acceso a archivos
│ ├─ geometry/ # booleanos, offset, tabs (Paper.js)
│ ├─ gcode/ # planificación, optimización y generación de GCode
│ ├─ image/ # ajuste de imagen y vectorización
│ ├─ io/ # import/export LightBurn (.lbrn/.lbrn2)
│ ├─ serial/ # transportes, controlador GRBL y simulador
│ ├─ state/ # store observable + API del workspace
│ ├─ text/ # texto a contornos (opentype.js)
│ ├─ types/ # modelo de documento y tipos
│ ├─ ui/ # menús, toolbars, paneles, diálogos, iconos
│ └─ workspace/ # controlador Fabric.js (herramientas, historial)
├─ e2e/ # tests end-to-end (Playwright + Electron)
├─ public/fonts/ # Inter (OFL) para contornos
└─ docs/ # documentación y capturas
Puntos clave: el documento vive en un store observable, el lienzo en Fabric.js, la geometría de mecanizado en Paper.js, y el envío a la máquina en un controlador GRBL con transporte intercambiable (Web Serial o simulador).
Más en docs/ARCHITECTURE.md.
📚 Documentación
| Documento | Contenido |
|---|---|
| docs/USAGE.md | Guía de uso: diseño, capas, preview, GRBL, tests, imágenes y tabs |
| docs/FILE-FORMATS.md | .obrn y mapeo detallado .lbrn/.lbrn2 |
| docs/ARCHITECTURE.md | Módulos, flujo de datos y pipeline de GCode |
| docs/DEVELOPMENT.md | Entorno, scripts, pruebas y empaquetado |
| website/README.md | Web pública: contenido bilingüe, despliegue en Cloudflare Pages y Search Console |
| CHANGELOG.md | Novedades por versión |
| AGENTS.md | Política de tests, convenciones y checklist para agentes/contribuidores |
| TODO.md | Lista de tareas y roadmap |
🗺️ Roadmap
- Auto-update — comprobación al arrancar, descarga en segundo plano, aviso de reinicio y publicación automática en GitHub Releases
- Testing — Vitest + Testing Library, Playwright/Electron, CI y política en
AGENTS.md - Fase 1 — Núcleo de diseño vectorial y capas
- Fase 2 — Preview, GCode y control GRBL
- Fase 3 — Texto a contornos, Material/Interval/Focus Test, imágenes (ajuste/trace), tabs y optimización
- Calibración fina — kerf, ángulo/cross-hatch, scan offset, biblioteca de materiales, eje Z y Kerf Test
- Compatibilidad LightBurn (lectura y escritura
.lbrn/.lbrn2) - P6 — Fundamentos de escritorio — autoguardado y recuperación, recientes, pantalla de bienvenida, drag & drop, ventana persistente e historial acotado
- P6b — Varios documentos — pestañas/ventanas con store multi-documento
- Rotary, cámaras y Print & Cut
- Ruida/DSP y galvo (EZCad)
- Empaquetado firmado (certificados Windows/macOS)
Detalle y estado en TODO.md.
🧩 Stack
Electron · React 18 · TypeScript · Vite · Fabric.js 6 · Paper.js · opentype.js · ImageTracer · Web Serial
📄 Licencia y créditos
- Código: MIT — ver LICENSE.
- Apoyar el proyecto: PayPal · página de apoyo (sin anuncios ni cookies).
- Fuente Inter: SIL Open Font License 1.1 — public/fonts/Inter-LICENSE.txt.
- Fabric.js (MIT), Paper.js (MIT), opentype.js (MIT), ImageTracer (Unlicense).
Aviso: OpenBurn no está afiliado a LightBurn Software Inc. La interfaz se reconstruyó a partir de documentación pública y los iconos son propios. La compatibilidad de archivos se implementó a partir del formato XML y ejemplos públicos, sin utilizar el código fuente de LightBurn.
Hecho con ☕ y muchas pasadas de láser.
Explorar proyectos relacionados
freeCodeCamp/freeCodeCamp
Base de código abierto y plan de estudios de freeCodeCamp.org. Aprende matemáticas, programación y ciencias de la computación gratis.
459,068 estrellasdonnemartin/system-design-primer
Aprende a diseñar sistemas a gran escala y prepárate para la entrevista de diseño de sistemas. Incluye fichas de Anki.
377,736 estrellasreact/react
La biblioteca para interfaces de usuario web y nativas.
252,567 estrellasvuejs/vue
Este es el repositorio de Vue 2. Para Vue 3, visita https://github.com/vuejs/core
212,527 estrellas



