Lienzo visual
Los usuarios editan páginas directamente en un entorno visual, trabajando en la página renderizada en lugar de en una descripción de la misma.
PageKit: el creador de sitios GrapesJS autoalojado, con el código fuente incluido. Obtener acceso anticipado
Proporciona a tus usuarios un editor visual para crear páginas responsivas con contenido editable, componentes reutilizables y estilos personalizables — sin necesidad de escribir HTML y CSS a mano.
26k+
GitHub estrellas
1.4M+
Descargas mensuales
100+
Plugins en GJS.Market
BSD-3-Clause
Licencia principal
Haz clic en cualquier elemento de abajo, vuelve a escribirlo en su sitio y luego cambia cómo se ve. Nada aquí es una vista previa: el lienzo es la página, y el panel de estilo edita los mismos elementos que estás leyendo.
Haz clic en un elemento y luego escribe para editarlo
Ahora en beta privada
Cada palabra de esta página es editable
Selecciona este párrafo y empieza a escribir. Luego cambia su tamaño, color, alineación y espacio desde el panel de la derecha — exactamente como lo harían tus usuarios.
Empieza
Estilos
Antetítulo
Color
Alineación
El patio de juegos de arriba es nuestro. Estos son los auténticos — editores completos de GrapesJS, cargados solo cuando pides uno para que la página se mantenga rápida hasta entonces.
El editor de stock: lienzo, bloques, árbol de capas, gestor de estilos y conmutador de dispositivos, sin nada añadido.
Carga un iframe desde la propia web de la demo.
WYSIWYG significa "Lo que ves es lo que obtienes". Un editor WYSIWYG permite a los usuarios trabajar con una representación visual de su contenido en lugar de editar directamente HTML y CSS en bruto. La página que están mirando mientras trabajan es la página que publicarán.
Escribir HTML
Estructura, en marcado
Escribe CSS
Apariencia, en otro lugar
Guardar y construir
Aún así nada que ver
Abre una vista previa
Primera vista del resultado
El resultado llega al final, y solo un desarrollador puede llegar allí.
Abre el lienzo visual
La página ya está ahí
Edición lista
Escribe donde se asienta el texto
Estilo visual
Cámbialo y verás cómo cambia
Ver el resultado
Lo has estado viendo todo el tiempo
El resultado está presente en cada paso, y cualquiera puede llegar allí.
Los usuarios pueden ver la página mientras la construyen.
Un editor de texto enriquecido es la herramienta adecuada para un párrafo. Formatea el texto, gestiona encabezados y listas, y gestiona el contenido en línea. Un constructor de páginas funciona a un nivel superior: en las secciones, columnas, componentes, imágenes, botones, estilo y comportamiento responsivo que conforman la página alrededor de ese texto.
| Capacidad | Editor de texto enriquecido | Constructor de páginas WYSIWYG |
|---|---|---|
| Edición de texto | Sí | Sí |
| Diseño de página | Limitada | Sí |
| Arrastrar y soltar | Limitada | Sí |
| Componentes | Limitada | Sí |
| Bloques reutilizables | — | Sí |
| Disposiciones responsivas | Limitada | Sí |
| Componentes personalizados | Limitada | Sí |
| Estilismo visual | Limitada | Sí |
GrapesJS combina edición visual de páginas con una arquitectura de componentes extensible — y aún así contiene un editor de texto rico, porque editar un párrafo en el lugar es la mitad de lo que significa WYSIWYG. Si tu producto ya utiliza CKEditor, TinyMCE, Froala o Quill, puedes conservarlo: las integraciones para cada una están en GJS.Market.
Los bloques de construcción de una experiencia de edición visual, todos parte del núcleo de GrapesJS más que algo que uno mismo ensamble.
Los usuarios editan páginas directamente en un entorno visual, trabajando en la página renderizada en lugar de en una descripción de la misma.
El contenido cambia donde aparece en la página, así que no hay espacio entre escribir y ver el resultado.
Los bloques y componentes se mueven visualmente, con objetivos de caída que muestran dónde caerá un elemento.
La tipografía, el espacio, los colores y la disposición se controlan mediante viñetas en lugar de hojas de estilo.
Las páginas se ajustan por tamaño de ventana desde dentro del editor, sin salir del lienzo.
Los elementos de página pueden definirse una vez y reutilizarse, por lo que un cambio en un lugar puede propagarse en cualquier lugar donde se use.
Las imágenes y otros medios se gestionan a través de un gestor de activos que puedes dirigir a tu propio almacenamiento.
Un historial completo de comandos permite a los usuarios experimentar con los diseños sin miedo a perder trabajo.
Empieza con una página
El usuario abre un lienzo o plantilla vacío, ya renderizado como la página en la que se convertirá.
Añadir componentes
Secciones, columnas, texto, imágenes y botones se colocan sobre el lienzo desde el panel de bloques.
Editar contenido
El texto se vuelve a escribir en su lugar y las imágenes se intercambian, directamente sobre el elemento en lugar de en una forma.
Personalizar el diseño
La tipografía, el color, el espaciado y la disposición se modifican a través del gestor de estilos y se aplican en directo.
Ajustar el diseño responsivo
El conmutador de dispositivos estrecha el lienzo para que la misma página pueda ajustarse por punto de interrupción.
Vista previa
El editor Chrome está oculto para que el usuario vea la página exactamente como lo hará un visitante.
Salvar
El proyecto se escribe a través del Gestor de Almacenamiento hacia donde decidas guardarlo.
Publicar
Tu aplicación toma el HTML y CSS resultante y los pone en línea a través de tu propio pipeline.
El mismo motor de edición visual se encuentra debajo de productos muy diferentes. Estas son las formas que más suele adoptar.
Permite a los usuarios crear sitios web completos visualmente, con múltiples páginas y componentes compartidos.
Creador de páginas de código abiertoConstruye páginas de destino centradas en la conversión sin necesidad de programar, a partir de bloques que un marketer puede reorganizar.
Creador de páginas de aterrizajeDar a los editores control visual sobre la disposición de las páginas en lugar de un formulario que se renderice en una plantilla fija.
Editor de CMS sin cabezaAñade edición visual de página directamente a tu aplicación como una función que usan tus clientes.
Creador de páginas SaaSDeja que los profesionales del marketing creen y actualicen páginas sin que un desarrollador esté al tanto de cada cambio.
Constructor sin código para desarrolladoresDale a los clientes una edición visual controlada, con las partes que no quieres tocar fijas.
Creador de páginas de marca blancaLa edición visual suele ser solicitada por un equipo y construida por otro. Estas son las personas que están en ambos lados de esa conversación.
Construye sobre un motor de edición extensible en lugar de escribir selección, arrastrar y deshacer desde cero.
Añade la creación visual de páginas como una característica del producto, tanto en tu propia hoja de ruta como dentro de tu propia aplicación.
Sustituye un flujo de contenido de formulario y previsualización por una experiencia de edición que la gente realmente disfrute usar.
Da a los usuarios no técnicos control visual sobre las páginas, para que lanzar un cambio no necesite una liberación.
Añadir edición visual a un sistema de contenido existente sin reemplazar el modelo de contenido que hay debajo.
Crea flujos de trabajo de edición visual reutilizables y entrega a los clientes una versión que esté marcada como tuya.
De serie, el editor conoce el texto, las imágenes, los botones y las secciones. Lo que hace que se sienta nativo para tu aplicación es enseñarle sobre los objetos que ya tiene.
01
Texto, imagen, botón, sección — los bloques genéricos que toda página necesita, disponibles inmediatamente.
02
Las mismas primitivas con tus restricciones aplicadas: cuáles se pueden arrastrar, anidar, eliminar o editar, y qué rasgos aparecen en el panel de ajustes.
03
Tipos que defines tú mismo — una tarjeta de producto, una tabla de precios, un widget de reserva, un mapa, un formulario, una llamada a la acción personalizada — cada uno respaldado por tus propios datos y representado por tu propio código.
Los ejemplos del tercer peldaño son componentes que construirías para tu propio producto, no plugins disponibles para descargar. GrapesJS te da la API del componente; lo que el componente sabe depende de ti.
Previsualiza y ajusta tus diseños según el tamaño de los viewports mientras trabajas dentro del editor visual, en lugar de publicar y revisar en el móvil.
Controles por ventana de visualización
Los dispositivos son configurables: los tres anteriores son los valores predeterminados, y puedes definir los puntos de interrupción que realmente use tu sistema de diseño. Los estilos establecidos en un dispositivo más estrecho se aplican desde ese punto de ruptura hacia abajo.
GrapesJS proporciona la capa de edición visual. Todo lo que la rodea — usuarios, permisos, datos, almacenamiento y publicación — permanece dentro de la aplicación que ya ejecutas.
Tu solicitud
Tu infraestructura
Si la pregunta es específicamente cómo montar el editor dentro de un producto existente, esa guía tiene su propia página. Creador de páginas embebible
Construye el editor alrededor de la arquitectura de tu aplicación existente en lugar de mover tu contenido a una plataforma alojada separada.
Dónde va una página
const editor = grapesjs.init({
container: '#editor',
// Each page is a row in your database, behind your own auth.
storageManager: {
type: 'remote',
autosave: true,
options: {
remote: {
urlStore: `/api/pages/${pageId}`,
urlLoad: `/api/pages/${pageId}`,
fetchOptions: { credentials: 'include' },
},
},
},
});
// Publishing stays on your side — your domains, your CDN, your workflow.
async function publish() {
await fetch(`/api/pages/${pageId}/publish`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ html: editor.getHtml(), css: editor.getCss() }),
});
}GJS.Market vende plugins; no aloja tu editor, no almacena tus páginas ni ejecuta tu base de datos. El Gestor de Almacenamiento apunta al punto final que le asignes, detrás de tu propia autenticación.
Un editor visual parece una sola función y resulta ser una docena de subsistemas, cada uno de los cuales tiene que funcionar antes de que cualquiera parezca terminado.
De qué está hecho un editor WYSIWYG
Desde cero
Todo
Con GrapesJS
Empieza aquí
Esto es una comparación de alcance, no de calendario: cuánto tiempo tarda un editor en construir depende de tu equipo y de cuánto realmente necesites. Construye tu producto, no otro editor desde cero.
Un lienzo en blanco es lo más difícil de entregar a un usuario no técnico. Los diseños iniciales les dan algo que cambiar en lugar de algo que inventar.
Diseños que los usuarios solicitan
Estos son los tipos de diseño que piden los usuarios de un constructor, no listados de productos. Los puntos de partida ya hechos se envían como presets en GJS.Market.
Todo lo que hay a continuación es una lista real en GJS.Market, con su nombre activo y precio. Cada grupo también enlaza su categoría, así que siempre hay más de lo que encaja aquí.
Editar el texto donde está es la mitad de WYSIWYG. Cambia el editor integrado por el que ya usa tu producto.
Explora esta categoríaSustituye el editor de texto enriquecido integrado por CKEditor 5, editando en el mismo lugar en el lienzo.
Lleva TinyMCE 6 al lienzo para equipos ya estandarizados en él.
Extiende la barra de herramientas predeterminada con las acciones de formato que la original oye.
Dale al panel de estilos mejores controles: selectores de color, fuentes reales y espaciado preciso.
Explora esta categoríaUn selector de color adecuado, incluyendo degradados, dentro del gestor de estilo.
Añade tus propias familias de fuentes a los controles de tipografía.
Hace que el margen y el relleno sean ajustables arrastrando sobre el lienzo.
Bloques visuales ya hechos para que el lienzo sea útil desde el primer día.
Explora esta categoríaComponentes editables especializados, incluyendo elementos reutilizados en muchas páginas.
Explora esta categoríaFuncionalidad adicional de medios — subidas, alojamiento y edición de imágenes en el editor.
Explora esta categoríaPuntos de partida preconstruidos para que los usuarios nunca se enfrenten a un lienzo vacío.
Explora esta categoríaUn lugar donde poner los datos del proyecto que produce el editor.
Explora esta categoríaProyectos de varias páginas, para cuando un lienzo no es todo el sitio.
Explora esta categoríaCuatro combinaciones iniciales, cada una dirigida a un tipo diferente de producto. Cada plugin listado es un anuncio real con su precio en vivo.
La cosa más pequeña que sigue pareciendo un creador de páginas
Creador de páginas de código abiertoEditores que gestionan muchas páginas de contenido existente
Editor de CMS sin cabezaEdición visual como característica de tu producto
Marketers que envían landing pages sin un desarrollador
Los precios provienen directamente del catálogo y pueden cambiar; la página del producto es autoritaria.
Edición
El usuario trabaja en el lienzo; el editor mantiene la página como datos estructurados del proyecto.
Salvar
El Gestor de Almacenamiento envía esos datos a tu endpoint, ya sea en autoguardado o bajo demanda.
Vista previa
Chrome del editor está oculto, o la página se renderiza a través de tu propia ruta de vista previa.
Publicar
Tu aplicación exporta HTML y CSS y los mueve a tu pipeline de entrega.
Página en directo
La página se ofrece desde tu infraestructura, en tu dominio, bajo tus reglas de caché.
Conecta el editor con tu propio flujo de trabajo e infraestructura de publicación. GrapesJS produce la página; decidir qué significa "activo" es tarea de tu aplicación.
El núcleo es un paquete npm y un elemento contenedor. Todo lo que viene después decide cuánto del editor deben ver tus usuarios.
npm install grapesjsimport grapesjs from 'grapesjs';
import 'grapesjs/dist/css/grapes.min.css';
// The visual canvas. Everything the user sees here is the page itself,
// not a preview of it.
const editor = grapesjs.init({
container: '#editor',
// The panels that make the editing visual rather than textual.
styleManager: { appendTo: '#styles' },
deviceManager: {
devices: [
{ id: 'desktop', name: 'Desktop', width: '' },
{ id: 'tablet', name: 'Tablet', width: '768px' },
{ id: 'mobile', name: 'Mobile', width: '375px' },
],
},
});Edición en línea y un componente que conozca tus reglas — las dos piezas que convierten un lienzo en un editor WYSIWYG para tu producto:
// "What you see is what you get" starts with editing text where it
// already sits. GrapesJS ships an inline rich-text editor, and you can
// replace it with whichever one your product already uses.
editor.setCustomRte({
enable(el, rte) {
el.contentEditable = true;
return rte;
},
disable(el) {
el.contentEditable = false;
},
});
// A component decides what the user is allowed to change visually.
editor.DomComponents.addType('quote', {
model: {
defaults: {
// Editable in place, but the frame around it stays yours.
editable: true,
droppable: false,
traits: ['author', 'source'],
},
},
});Eso es toda la superficie: inicializar, extender, almacenar, publicar. La documentación abarca a cada responsable en profundidad.
El núcleo es independiente del framework; estas páginas cubren el montaje dentro de uno específico.
El núcleo sin envoltorio — un elemento contenedor y una llamada de inicio.
Constructor HTMLEl envoltorio oficial, así que el editor está dentro de tu árbol de componentes.
Integración de GrapesJS ReactMontaje solo para el cliente, ya que el editor necesita un DOM real.
Integración Next.js GrapesJSMontar el editor desde los ganchos del ciclo de vida de un componente de Vue.
GrapesJS con VueConectar el editor a un componente Angular y su detección de cambios.
GrapesJS con AngularEmpieza con una base de edición visual de código abierto y amplíala según los requisitos de tu producto.
El núcleo GrapesJS se lanza bajo la licencia BSD-3-Clause. El envoltorio oficial de React es MIT.
No hay cargo por cada asiento ni por página del editor — $0 a la biblioteca, lo que decidas pagar por plugins.
El editor se ejecuta en tu aplicación. No hay ningún servicio del que depender ni nada que se pueda desactivar desde fuera.
Las cifras de estrellas y descargas se verificaron por última vez en 2026-09-03 con las APIs de GitHub y npm.
Páginas contiguas para las preguntas que esta solo toca.
El propio gesto: paletas de bloqueos, dejar caer objetivos y qué ocurre entre recoger algo y dejarlo en el suelo.
Leer másCómo montar el editor dentro de un producto existente, incluyendo iframes, enrutamiento y autenticación.
Leer másEl caso de negocio para añadir un constructor a un SaaS y cómo Teams lo empaqueta.
Leer másHacer que el editor parezca tu producto en lugar de la biblioteca de otra persona.
Leer másEmpieza con GrapesJS, personaliza la experiencia de edición y añade los plugins que tu producto necesita.
Instala el núcleo, móntalo en un contenedor y ten un editor visual funcional delante de ti hoy.
Empieza a construirEditores en línea, controles de estilo, bloques, recursos, almacenamiento y plantillas — anuncios reales, precios reales.
Explorar pluginsCuéntanos qué tiene que hacer el editor dentro de tu producto y nosotros lo construiremos contigo.
HáblanosMás sobre cómo construir editores visuales: