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
Embed GrapesJS in Your SaaS: A Weekend Guide
Embed GrapesJS in your SaaS and ship a white-label page builder over a weekend. Honest tradeoffs, real code, and the plugins that close the UX gap.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
Tutorial
GrapesJS vs Webflow vs Builder.io vs Puck: Which Visual Builder to Choose in 2026
A practitioner's 2026 comparison of GrapesJS, Webflow, Builder.io, and Puck — pricing, AI features, lock-in, and a one-line rule for picking the right one
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.