# What is GrapesJS?
At first glance one might think this is just another page/HTML builder, but it's something more. GrapesJS is a multi-purpose, Web Builder Framework, which means it allows you to easily create a drag & drop enabled builder of "things". By "things" we mean anything with HTML-like structure, which entails much more than web pages. We use HTML-like structure basically everywhere: Newsletters (eg. MJML (opens new window)), Native Mobile Applications (eg. React Native (opens new window)), Native Desktop Applications (eg. Vuido (opens new window)), PDFs (eg. React PDF (opens new window)), etc. So, for everything you can imagine as a set of elements like
<tag some="attribute">... other nested elements ...</tag> you can create easily a GrapesJS builder around it and then use it independently in your applications.
GrapesJS ships with features and tools that enable you to craft easy to use builders. Which allows your users to create complex HTML-like templates without any knowledge of coding.
# Why GrapesJS?
GrapesJS was designed primarily for use inside Content Management Systems to speed up the creation of dynamic templates and replace common WYSIWYG editors, which are good for content editing, but inappropriate for creating HTML structures. Instead of creating an application we decided to create an extensible framework that could be used by anyone for any purpose.
# Quick Start
To showcase the power of GrapesJS we have created some presets.
- grapesjs-preset-webpage (opens new window) - Webpage Builder (opens new window)
- grapesjs-preset-newsletter (opens new window) - Newsletter Builder (opens new window)
- grapesjs-mjml (opens new window) - Newsletter Builder with MJML (opens new window)
You can actually use them as a starting point for your editors, so, just follow the instructions on their repositories to get a quick start for your builder.
Latest version: (opens new window)
You can download GrapesJS from one of these sources
npm i grapesjs
git clone https://github.com/GrapesJS/grapesjs.git
To track changes made in the library we rely on Github Releases (opens new window)