Layers text does not center after creating a new line
Ok, I'll push a fix for the editing of layers name, probably it doesn't make sense having new lines enabled there (I'll make stop the editing on Enter/Esc). For the second issue, If you're using something yours to resize the canvas, probably you should call editor.refresh() to adjust the toolbar
Read full answer below โQuestion
Version: current?
You can get the version by typing grapesjs.version into the console
Are you able to reproduce the bug from the demo? [ ] Yes [ x] No // to be fair never tried in the demo
What is the expected behavior? when editing the layers text and adding a new line then backspacing i would expect the edited text to be recentered
Describe the bug detailed the text does not recenter but is raised (please see attatched image)
What is the current behavior? text is raised above the center after pressing enter to start a new line and then backspacing out of the line. however completely clearing all text and the retyping does recenter the text.
Are you able to attach screenshots, screencasts or a live demo?
[ x] Yes (attach)
[ ] No
cce9b8ed74f8.png)
also attatched is a second image of something which i dont know how to fix. but the toolbar stays in position when resizing the canvas container (not the one grapesjs provides but my own i use for positioning). how can i prevent this from happening? This also happens with the tooltip that says the name of the object when hovering and the outline when hovering. it does not reset

Answers (3)
Ok, I'll push a fix for the editing of layers name, probably it doesn't make sense having new lines enabled there (I'll make stop the editing on Enter/Esc).
For the second issue, If you're using something yours to resize the canvas, probably you should call editor.refresh() to adjust the toolbar
yeah I didn't realize editor.refresh() was a thing until after. otherwise thanks. awesome project
Thanks for reporting this, @anatoli-dp.
Great question about layers text does not center after creating a new line. The recommended approach with Canvas is to use the event-driven API.
Start here:
- Check the GrapesJS documentation for your specific module
- Look for the
on()event listener method - Most operations can be achieved by listening to editor and component events
Common patterns:
// Listen for changes
editor.on('change', () => console.log('something changed'));
// Component lifecycle
editor.on('component:mount', (c) => console.log('component ready', c));
editor.on('component:update', (c) => console.log('component updated', c));
If you're still stuck:
- Share a minimal CodeSandbox reproduction
- Include what you've already tried
- Mention your GrapesJS version
- The community is here to help!
Related Questions and Answers
Continue research with similar issue discussions.
Issue #3166
Problem with copy and paste a node
*Version:0.16.27 Are you able to reproduce the bug from the demo? [ ] Yes [ ] No What is the expected behavior? In the right panel and canv...
Issue #3579
RTE misplaced when opened right after dropping `activeOnRender` component
Version: 0.17.4 Are you able to reproduce the bug from the demo?[x] Yes[ ] No Steps to reproduce:Go to the demoDrop a "Text" block inside t...
Issue #3679
Device width is invalid by default
Thanks for #3673 I have a new bug feedback. Version:. 0.17.22 Are you able to reproduce the bug from the demo?[ ] Yes[ ] No What is the exp...
Issue #3295
BUG (v0.16.41): Button component with draggable property is not working properly
Version: v0.16.41 Are you able to reproduce the bug from the demo? [ ] Yes [ ] No What is the expected behavior? When we have a button with...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.
Browse free plugins โPremium plugins ship with support, regular updates, and production-ready features โ save days of integration work.
Browse premium plugins โRelated tutorials
In-depth guides on the same topic.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Tutorial
GrapesJS vs Webflow vs Tilda: What to Choose for Your Business in 2026
Choosing the right website platform in 2026 is no longer just about building a site
Tutorial
GJS Market 2.0 - Donations, Tracking, Labels and Better Product Discovery
Weโve rolled out a new set of GrapesJS marketplace updates across GJS Market, focused on improving how creators distribute products
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.