Discover / GTM & Growth
GrapesJS
by GrapesJSTypeScript
Free open source web builder framework for creating landing pages without coding.
Maturity: experimental because latest release v0.23.3 is pre 1.0. Derived from release and commit history, not a rating.
- Stars
- 26k
- Forks
- 4.6k
- Downloads / mo
- —
- Last commit
- 2026-07-31
- License
- NOASSERTION
- Open issues
- 41
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceAdding a drag and drop template editor to a CMS means building block, style and layer management from scratch.
Use it when
Use it when your product needs an in house page or newsletter editor that outputs HTML and CSS you control.
Not the right pick when
If you want a ready made hosted editor rather than a framework, the README points you at the paid Studio SDK instead.
Capabilities
- block manager, style manager and layer manager
- code viewer and asset manager
- local and remote storage
- built-in commands for creating and managing components
- initialised with grapesjs.init on a container element
- official and community plugins plus a React wrapper
Cost: Open source with a paid cloud option
Install
Derived from the published package name in the repository, not from a model.
Video walkthroughs
Grapes Studio SDK Docs Walkthrough | Master No-Code Website Building with GrapesJS
Cursor Just Got a Web Builder | GrapesJS Integration
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v0.23.3
Published 2026-07-24
What's Changed
- fix(asset-manager): enforce accept filter on drag-and-dropped files by @geonsang-jo in https://github.com/GrapesJS/grapesjs/pull/6778
- fix(parser): don't drop @container/@layer at-rules on CSS parse (#5969) by @TowyTowy in https://github.com/GrapesJS/grapesjs/pull/6788
- docs: update DataSources examples to dataResolver format by @Gxrvish in https://github.com/GrapesJS/grapesjs/pull/6787
- Improve pages/frames by @artf in https://github.com/GrapesJS/grapesjs/pull/6790
New Contributors
- @TowyTowy made their first contribution in https://github.com/GrapesJS/grapesjs/pull/6788
- @Gxrvish made their first contribution in https://github.com/GrapesJS/grapesjs/pull/6787
Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.23.1...v0.23.3
Tags
README
GrapesJS
If you looking to embed the Studio editor in your application, we now offer the Studio SDK, a ready-to-use visual builder that's easy to embed in external applications, with GrapesJS team support included.
<p align="center"><img src="http://grapesjs.com/assets/images/grapesjs-front-page-m.jpg" alt="GrapesJS" width="500" align="center"/></p>
GrapesJS is a free and open source Web Builder Framework which helps building HTML templates, faster and easily, to be delivered in sites, newsletters or mobile apps. Mainly, GrapesJS was designed to be used inside a [CMS] to speed up the creation of dynamic templates. To better understand this concept check the image below
<br/>
<p align="center"><img src="http://grapesjs.com/assets/images/gjs-concept.png" alt="GrapesJS - Style Manager" height="400" align="center"/></p>
<br/>
Generally any 'template system', that you'd find in various applications like CMS, is composed by the structure (HTML), style (CSS) and variables, which are then replaced with other templates and contents on server-side and rendered on client.
This demos show examples of what is possible to achieve:<br/>
Webpage Demo - http://grapesjs.com/demo.html<br/>
Newsletter Demo - http://grapesjs.com/demo-newsletter-editor.html<br/>
Table of contents
- Features
- Download
- Usage
- Development
- Documentation
- API
- Testing
- Plugins
- Support
- Changelog
- Contributing
- License
Features
| Blocks | Style Manager | Layer Manager |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="http://grapesjs.com/assets/images/sc-grapesjs-blocks-prp.jpg" alt="GrapesJS - Block Manager" height="400" align="center"/> | <img src="http://grapesjs.com/assets/images/sc-grapesjs-style-2.jpg" alt="GrapesJS - Style Manager" height="400" align="center"/> | <img src="http://grapesjs.com/assets/images/sc-grapesjs-layers-2.jpg" alt="GrapesJS - Layer Manager" height="400" align="center"/> |
| Code Viewer | Asset Manager |
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="http://grapesjs.com/assets/images/sc-grapesjs-code.jpg" alt="GrapesJS - Code Viewer" height="300" align="center"/> | <img src="http://grapesjs.com/assets/images/sc-grapesjs-assets-1.jpg" alt="GrapesJS - Asset Manager" height="250" align="center"/> |
- Local and remote storage
- Default built-in commands (basically for creating and managing different components)
Download
- CDNs
- UNPKG (resolves to the latest version)
https://unpkg.com/grapesjshttps://unpkg.com/grapesjs/dist/css/grapes.min.css- CDNJS (replace
X.X.Xwith the current version) https://cdnjs.cloudflare.com/ajax/libs/grapesjs/X.X.X/grapes.min.jshttps://cdnjs.cloudflare.com/ajax/libs/grapesjs/X.X.X/css/grapes.min.css- NPM
npm i grapesjs- GIT
git clone https://github.com/GrapesJS/grapesjs.git
For the development purpose you should follow instructions below.
Usage
<link rel="stylesheet" href="path/to/grapes.min.css" />
<script src="path/to/grapes.min.js"></script>
<div id="gjs"></div>
<script type="text/javascript">
var editor = grapesjs.init({
container: '#gjs',
components: '<div class="txt-red">Hello world!</div>',
style: '.txt-red{color: red}',
});
</script>
For a more practical example I'd suggest looking up the code inside this demo: http://grapesjs.com/demo.html
Development
Follow the Contributing Guide.
Documentation
Check the getting started guide here: [Documentation]
API
API References could be found here: [API-Reference]
Testing
$ pnpm test
Plugins
Official Plugins | Community Plugins
Wrappers
- @grapesjs/react - GrapesJS wrapper for React that allows you to build custom and declarative UI for your editor.
Extensions
- grapesjs-plugin-export - Export GrapesJS templates in a zip archive
- grapesjs-plugin-filestack - Add Filestack uploader in Asset Manager
- grapesjs-plugin-ckeditor - Replaces the built-in RTE with CKEditor
- grapesjs-tui-image-editor - GrapesJS TOAST UI Image Editor
- grapesjs-blocks-basic - Basic set of blocks
- grapesjs-plugin-forms - Set of form components and blocks
- grapesjs-navbar - Simple navbar component
- grapesjs-component-countdown - Simple countdown component
- grapesjs-style-gradient - Add
gradienttype input to the Style Manager - grapesjs-style-filter - Add
filtertype input to the Style Manager - grapesjs-style-bg - Full-stack background style property type, with the possibility to add images, colors, and gradients
- grapesjs-blocks-flexbox - Add the flexbox block
- grapesjs-lory-slider - Slider component by using lory
- grapesjs-tabs - Simple tabs component
- grapesjs-tooltip - Simple, CSS only, tooltip component for GrapesJS
- grapesjs-custom-code - Embed custom code
- grapesjs-touch - Enable touch support
- grapesjs-indexeddb - Storage wrapper for IndexedDB
- grapesjs-firestore - Storage wrapper for Cloud Firestore
- grapesjs-parser-postcss - Custom CSS parser for GrapesJS by using PostCSS
- grapesjs-typed - Typed component made by wrapping Typed.js library
- grapesjs-ui-suggest-classes - Enable auto-complete of classes in the SelectorManager UI
- grapesjs-fonts - Custom Fonts plugin, adds a UI to manage fonts in websites
- grapesjs-symbols - Symbols plugin to reuse elements in a website and accross pages
- grapesjs-click - Grab and drop blocks and components with click (no more drag-and-drop)
- grapesjs-float - Anchor a floating element next to another element (selected component, ...)
Presets
- grapesjs-preset-webpage - Webpage Builder
- grapesjs-preset-newsletter - Newsletter Builder
- grapesjs-mjml - Newsletter Builder with MJML components
Find out more about plugins here: Creating plugins
Support
If you like the project and you wish to see it grow, please consider supporting us with a donation of your choice or become a backer/sponsor via Open Collective
<a href="https://opencollective.com/grapesjs"><img src="https://opencollective.com/grapesjs/tiers/sponsors.svg?avatarHeight=64"></a>
<a href="https://opencollective.com/grapesjs"><img src="https://opencollective.com/grapesjs/tiers/backers.svg?avatarHeight=64"></a>
<br>
BrowserStack<br/>
Thanks to BrowserStack for providing us browser testing services
License
BSD 3-clause
[Documentation]: https://grapesjs.com/docs/
[API-Reference]: https://grapesjs.com/docs/api/
[CMS]: https://en.wikipedia.org/wiki/Content_management_system