GrapesJS Issues

3,464 parsed GitHub issues โ€” 370 solved ยท 90 open. Search, filter and explore battle-tested answers.

545 issues found

๐Ÿ” typescript
#6651Nov 17, 2025by DavidHarvey2 answers
0 reactions

Droppable is ignored when moving a textable component into text

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 142.0.7444.61 Reproducible demo link https://codepen.io/DavidHarvey-the-lessful/pen/ZYWeMbG Describe the bug Component droppable status is ignored when moving a textable component into a text component. How to repro...

artf

https://github.com/GrapesJS/grapesjs/pull/6652#issuecomment-3551018995

GJS Helper

The issue you've encountered where droppable: false on a GrapesJS text component is ignored when a textable component is dragged into it is a known behavior stemming from how GrapesJS integrates its Rich Text Editor (RTE) and handles texta...

#6646Nov 11, 2025by soul-media3 answers
0 reactions

Javascript error when I want to add padding

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome & Firefox Reproducible demo link Describe the bug How to reproduce the bug? Chrome & Firefox: Add padding to a image / Text Sometimes the error occurs, sometimes it doesn't. https://github.com/user-attachments/asset...

trebor94

I've been running into the same issue and also using the grapesjs-mjml plugin. Apparently it only occurs when a project is loaded which has the style property present on the attributes of a component when the project is loaded. After each...

trebor94

Unfortunately haven't been able to figure out where or when exactly the style property gets added to the component style when exporting project data from a previously loaded project. Maybe someone else can pinpoint what causes the issue. @...

GJS Helper

It appears you've encountered a bug in GrapesJS, specifically when working with MJML components and applying styles like padding, which leads to invalid attributes being generated and stored. This issue seems to be a regression, as it work...

#6641Nov 8, 2025by bilogic2 answers
0 reactions

Error when setting defaults of an extended model

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Version 141.0.7390.123 (Official Build) (64-bit) Reproducible demo link https://codesandbox.io/p/sandbox/jovial-elion-js8zgy?file=%2Findex.js%3A1%2C1-15%2C1 Describe the bug The above worked in 0.15.x but not in 0.22.13. A...

artf

Hey @bilogic your demo seems to use the proper API for extending components, the one relying on .extend( was dropped a long time ago

GJS Helper

The issue you're encountering when extending a GrapesJS component model, specifically the 'link' type, and trying to set its defaults property by directly referencing linkType.model.prototype.defaults is a change in behavior between Grapes...

#6634Oct 28, 2025by ssteele3 answers
0 reactions

Accessibility errors

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 141.0.7390.123 Reproducible demo link https://grapesjs.com/demo.html Describe the bug Our application serves clients that require all pages to be accessible for all users. I am running the latest grapesjs libraries:...

niemyjski

I'm also seeing this behavior.

artf

This is related to https://github.com/GrapesJS/preset-webpage You're free to update styles on top of that plugin or submit a PR with the fixes there.

GJS Helper

Achieving full accessibility compliance in a complex, dynamic web editor like GrapesJS requires careful consideration and customization. The WAVE Evaluation Tool often flags issues related to missing ARIA attributes, insufficient contrast,...

#6606Sep 12, 2025by MisterKeyboard4 answers
2 reactions

Editor takes a long time to load (sometimes over 1 minute)

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Firefox Reproducible demo link https://grapesjs.com/demo.html Describe the bug Description The editor has very slow loading times. On complex pages (e.g. homepage with many elements and plugins such as carousels), it can t...

artf

Thanks @MisterKeyboard for providing the JSON. Your project contains 10K style rules, which is a lot, but still, I'd not expect the load to be impacted that much. @mohamedsalem401 I think we need to verify if data source related changes (e...

mohamedsalem401

@artf Will take a look and give an update on this.

artf

@MisterKeyboard can you share the JSON of the project so we can verify that

#6603Sep 4, 2025by nanto2 answers
1 reactions

Ampersand is not escaped in attribute value

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v142.0.7392.0 (canary) Reproducible demo link https://jsfiddle.net/xce183nm/1/ Describe the bug How to reproduce the bug? Create an editor instance and load HTML code that contains character references in attribute...

artf

Thanks for providing all the info and details, that was helpful. Thanks also for the PR.

GJS Helper

You've identified a critical bug in GrapesJS's HTML serialization process regarding attribute value escaping. The issue stems from the Component model's renderAttributes method, which directly inserts attribute values into the HTML string...

#6590Aug 18, 2025by yashvi20262 answers
1 reactions

Able to access/delete/drag the locked components in layermanager

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? chrome Reproducible demo link https://codepen.io/Harshsne/pen/zxvREjB Describe the bug How to reproduce the bug? Drag and drop the text component What is the expected behavior? It should not be selected /dragged in layerma...

artf

You can hide the component from layers with layerable: false property or create your own custom layer manager UI with all the UI logic you need.

GJS Helper

The issue you're experiencing where locked components can still be selected, dragged, and deleted in the GrapesJS Layer Manager is a common point of confusion. The locked property on a GrapesJS component primarily controls interactions on...

#6589Aug 16, 2025by mohammedmoulla1 answer
0 reactions

Cannot drag and drop elements in layerManager after change the root

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? google chrome v139.0.7258.128 Reproducible demo link https://codesandbox.io/p/sandbox/relaxed-payne-vt3pgc Describe the bug How to reproduce the bug? add some elements to the canvas try to find elements in layer manager an...

GJS Helper

Thank you for reporting this issue and providing a clear reproducible demo. The problem you're encountering with drag-and-drop in the Layer Manager after attempting to change its root is due to an incorrect usage of the layerManager.root c...

#6587Aug 13, 2025by Sebbones1 answer
0 reactions

Adding text to a symbol replaces the text node over and over again

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Firefox Developer 142.0b9, Chrome 138.0.7204.184 Reproducible demo link https://jsfiddle.net/artur_arseniev/ta19s6go/ Describe the bug How to reproduce the bug? Make the "Article" component a symbol Add a text component to...

GJS Helper

The issue you've described, where adding a text component to an original symbol instance leads to cursor resets, flickering, and continuous component:add events, is a known interaction conflict between GrapesJS's symbol update mechanism an...

#6570Jul 20, 2025by nanto1 answer
0 reactions

Parser ignores `parser.optionsHtml.keepEmptyTextNodes` option

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrom v140.0.7307.0 (canary) Reproducible demo link https://jsfiddle.net/y3gr69s4/ Describe the bug How to reproduce the bug? Create editor instance with parser.optionsHtml.keepEmptyTextNodes option set true. Load HTML cod...

GJS Helper

You've accurately identified a discrepancy in how the keepEmptyTextNodes option is handled in GrapesJS, leading to newlines being stripped from your HTML output. This is indeed a bug related to the parser's configuration and its TypeScript...

Browse all topics