A "." character is injected when inserting two whitespaces when editing any text component in grapesjs
This is a behavior introduced by macOS, not a bug from Grapesjs https://howchoo.com/macos/disable-double-space-bar-period-dot-macos
Read full answer below βQuestion
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://grapesjs.com/demo.html Describe the bug Double click any text component Put the cursor between a word Insert 2 whitespaces Expected Behavior: 2 whitespaces are inserted Current Behavior: a whitespace character and "." character are inserted. Video Example: https://user-images.githubusercontent.com/5863227/173638822-8a9243d9-d4ab-49d3-8f5f-a9aa4833c35f.mp4 Code of Conduct [X] I agree to follow this project's Code of Conduct
Answers (2)
This is a behavior introduced by macOS, not a bug from Grapesjs
https://howchoo.com/macos/disable-double-space-bar-period-dot-macos
Thanks for reporting this, @Singwai. The issue with A "." character is injected when inserting two whitespaces when editing any text component in grapesjs appears to be a race condition or state management timing problem. This typically happens when component lifecycle events and DOM modifications...
Related Questions and Answers
Continue research with similar issue discussions.
Issue #4247
Components disappearing/not being rendered at cloning, moving or adding
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chromium v96 Reproducible demo link https:...
Issue #3832
The css classes are removed and the autogenerated ids for each html tags gets changed ( Example : ivj5m-2) after each reload
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link Not there De...
Issue #4384
Index.d.ts says that components must be Backbone.Collection<Component> but the docs say Component[] is also accepted
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? AnyReproducible demo link https://grapesjs.c...
Issue #6458
Sector.setName doesn't work
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://jsfi...
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
UnStudio for GrapesJS: 4 Plugins to Build Better Visual Editors
Meet UnStudio, a new GrapesJS plugin studio with four tools, safer and better editor: Command Palette, Responsive Pack, Autosave & Restore, and Autofill
Tutorial
Claude Skill for GrapesJS: How AI Is Changing the Way We Build Visual Editors
We've released the Claude Skill for GrapesJS Development β a free, open-source skill that turns Claude into a developer who actually knows GrapesJS
Tutorial
Vanilla GrapesJS vs GrapesJS With Plugins: What You Actually Get Out of the Box (2026)
New to GrapesJS? See exactly what the stock editor gives you, where it falls short, and which plugins close the gaps β a beginner-friendly 2026 comparison
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.