Spell checking in markdown editor #566

Closed
opened 2026-02-04 21:04:22 +03:00 by OVERLORD · 15 comments
Owner

Originally created by @backwardspy on GitHub (Feb 2, 2018).

We would like to use spell checking, however it does not seem to work in the markdown editor. I have confirmed that the WYSIWYG editor works as intended.

Is it possible to add spell checking for markdown? I realise that this is probably non-trivial, given the formatting of markdown as compared to plain text.

Originally created by @backwardspy on GitHub (Feb 2, 2018). We would like to use spell checking, however it does not seem to work in the markdown editor. I have confirmed that the WYSIWYG editor works as intended. Is it possible to add spell checking for markdown? I realise that this is probably non-trivial, given the formatting of markdown as compared to plain text.
OVERLORD added the 🛠️ Enhancement label 2026-02-04 21:04:22 +03:00
Author
Owner

@domainzero commented on GitHub (Feb 2, 2018):

There is https://github.com/sparksuite/codemirror-spell-checker but I haven't tried to implement it. The Markdown editor uses CodeMirror for the editor portion so this should apply.

@domainzero commented on GitHub (Feb 2, 2018): There is https://github.com/sparksuite/codemirror-spell-checker but I haven't tried to implement it. The Markdown editor uses CodeMirror for the editor portion so this should apply.
Author
Owner

@Abijeet commented on GitHub (Jun 3, 2018):

I spent some time looking into this.

So one problem with that spell checker linked by @domainzero is that it supports only English.

A PR was created to add support for multiple languages here but was never merged.

We could fork that repo, merge that PR and then use the dictionaries maintained here

@ssddanbrown - What do you think?

@Abijeet commented on GitHub (Jun 3, 2018): I spent some time looking into this. So one problem with that spell checker linked by @domainzero is that it supports only English. A PR was created to add support for multiple languages [here](https://github.com/sparksuite/codemirror-spell-checker/pull/39) but was never merged. We could fork that repo, merge that PR and then use the dictionaries maintained [here](https://github.com/titoBouzout/Dictionaries/) @ssddanbrown - What do you think?
Author
Owner

@Abijeet commented on GitHub (Jun 3, 2018):

Note there is also another implementation of spellchecker for codemirror here.

Demo - https://codepen.io/anon/pen/veGzWN?editors=1000

@Abijeet commented on GitHub (Jun 3, 2018): Note there is also another implementation of spellchecker for codemirror [here](https://gist.github.com/kofifus/4b2f79cadc871a29439d919692099406). Demo - https://codepen.io/anon/pen/veGzWN?editors=1000
Author
Owner

@thomasjsn commented on GitHub (Oct 15, 2018):

Ideally I'd like to use the browser spell checker, as it would support all languages and allow me to use my own added words. This however doesn't work with CodeMirror; discussion here: https://github.com/codemirror/CodeMirror/issues/1017

It's a pretty big drawback to have no spellchecking with the markdown editor, are there other editors can that be integrated which are more browser spellchecker friendly?

@thomasjsn commented on GitHub (Oct 15, 2018): Ideally I'd like to use the browser spell checker, as it would support all languages and allow me to use my own added words. This however doesn't work with CodeMirror; discussion here: https://github.com/codemirror/CodeMirror/issues/1017 It's a pretty big drawback to have no spellchecking with the markdown editor, are there other editors can that be integrated which are more browser spellchecker friendly?
Author
Owner

@sadger commented on GitHub (Feb 26, 2020):

Any update on this? Would really like spell check in markdown mode or at least to use my browser spell checker.

@sadger commented on GitHub (Feb 26, 2020): Any update on this? Would really like spell check in markdown mode or at least to use my browser spell checker.
Author
Owner

@guiglass commented on GitHub (Jan 2, 2021):

I hope this is relevant but I just looked at the page HTML source code for the CodeMirror "Edit File" input area. And using Firefox I could clearly see on line:
<div class="CodeMirror-code" role="presentation" autocorrect="off" autocapitalize="off" tabindex="0" style="" spellcheck="off" contenteditable="true">

I noticed the attribute: spellcheck="off"
After changing the value to: spellcheck="on"
my browser is now highlighting all misspellings.

However when refreshing the page of committing changes the default value must be changed again. I am not sure if there is an automated way to set the spellcheck attribute to enabled whenever the page is loaded so that the CodeMirror-code Div will always take the form of:
<div class="CodeMirror-code" role="presentation" autocorrect="off" autocapitalize="off" tabindex="0" style="" spellcheck="on" contenteditable="true">

[edit]
I could not find any extensions for FireFox for automatically modifying the spellcheck attributes whenever the page loads. So I spent 15 minutes and wrote my first Firefox extension to add this automated functionality for my needs, but anyone is welcome to use it or improve it: https://github.com/guiglass/Firefox-Spellcheck-for-Github

@guiglass commented on GitHub (Jan 2, 2021): I hope this is relevant but I just looked at the page HTML source code for the CodeMirror "Edit File" input area. And using Firefox I could clearly see on line: `<div class="CodeMirror-code" role="presentation" autocorrect="off" autocapitalize="off" tabindex="0" style="" spellcheck="off" contenteditable="true">` I noticed the attribute: `spellcheck="off"` After changing the value to: `spellcheck="on"` my browser is now highlighting all misspellings. However when refreshing the page of committing changes the default value must be changed again. I am not sure if there is an automated way to set the spellcheck attribute to enabled whenever the page is loaded so that the CodeMirror-code Div will always take the form of: `<div class="CodeMirror-code" role="presentation" autocorrect="off" autocapitalize="off" tabindex="0" style="" spellcheck="on" contenteditable="true">` [edit] I could not find any extensions for FireFox for automatically modifying the `spellcheck` attributes whenever the page loads. So I spent 15 minutes and wrote my first Firefox extension to add this automated functionality for my needs, but anyone is welcome to use it or improve it: https://github.com/guiglass/Firefox-Spellcheck-for-Github
Author
Owner

@bamhm182 commented on GitHub (May 26, 2021):

For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked.

Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.

@bamhm182 commented on GitHub (May 26, 2021): For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked. Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.
Author
Owner

@MattAbrs commented on GitHub (Apr 13, 2022):

Hi,

Sorry to bring back this subject, but my team and I are interest by a Spell Checker on the Markdown Editor.

Some of you found a method to have spell checker on Markdown Editor ?

Thanks in advance.

Regards.

@MattAbrs commented on GitHub (Apr 13, 2022): Hi, Sorry to bring back this subject, but my team and I are interest by a Spell Checker on the Markdown Editor. Some of you found a method to have spell checker on Markdown Editor ? Thanks in advance. Regards.
Author
Owner

@guiglass commented on GitHub (Apr 14, 2022):

For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked.

Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.

I just tested the Firefox-Spellcheck-for-Github plugin I wrote and it seems to still be working okay:
spellcheck

@guiglass commented on GitHub (Apr 14, 2022): > For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked. > > Blows my mind that it's so hard to allow the browser's spellchecking to be passed through. I just tested the [Firefox-Spellcheck-for-Github](https://github.com/guiglass/Firefox-Spellcheck-for-Github) plugin I wrote and it seems to still be working okay: ![spellcheck](https://user-images.githubusercontent.com/27627161/163390532-7585de22-3ba6-4260-bc84-f2358f548981.png)
Author
Owner

@MattAbrs commented on GitHub (Apr 23, 2022):

For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked.
Blows my mind that it's so hard to allow the browser's spellchecking to be passed through.

I just tested the Firefox-Spellcheck-for-Github plugin I wrote and it seems to still be working okay: spellcheck

I tried to use your extension for Bookstack, and it didn't work… Did you test on the bookstack markdown editor?

@MattAbrs commented on GitHub (Apr 23, 2022): > > For what it's worth, this fix no longer works. I tried running your code and also just tried slapping spellcheck on every single div. Neither worked. > > Blows my mind that it's so hard to allow the browser's spellchecking to be passed through. > > I just tested the [Firefox-Spellcheck-for-Github](https://github.com/guiglass/Firefox-Spellcheck-for-Github) plugin I wrote and it seems to still be working okay: ![spellcheck](https://user-images.githubusercontent.com/27627161/163390532-7585de22-3ba6-4260-bc84-f2358f548981.png) I tried to use your extension for Bookstack, and it didn't work… Did you test on the bookstack markdown editor?
Author
Owner

@biswalneelam commented on GitHub (Apr 29, 2024):

Is there any solution for having spell checker in GitHub Markdown online how we get to see in MS Word document while writing? I tried the above the Firefox temp plugin, but it does not work.

@biswalneelam commented on GitHub (Apr 29, 2024): Is there any solution for having spell checker in GitHub Markdown online how we get to see in MS Word document while writing? I tried the above the Firefox temp plugin, but it does not work.
Author
Owner

@aaronnewsome commented on GitHub (Jul 17, 2024):

Any update on this? I absolutely love Bookstack and it's my primary tool for all writing. Not allowing the browser to do spell check in the markdown editor is a bit of a disappointment. I tried my own bit of hacking using the above hints as a guide. Since my instance sits behind a nginx proxy, I tried to use an nginx sub_filter to rewrite the page content, replacing spellcheck="off" to spellcheck="on", but it didn't work because spellcheck="off" never appears in the markdown editor page response.

Has anyone else been able to solve this?

I find it amusing that the markdown editor I'm using to type this comment DOES support spell check, but Bookstack itself doesn't.

@aaronnewsome commented on GitHub (Jul 17, 2024): Any update on this? I absolutely love Bookstack and it's my primary tool for all writing. Not allowing the browser to do spell check in the markdown editor is a bit of a disappointment. I tried my own bit of hacking using the above hints as a guide. Since my instance sits behind a nginx proxy, I tried to use an nginx sub_filter to rewrite the page content, replacing **spellcheck="off"** to **spellcheck="on"**, but it didn't work because spellcheck="off" never appears in the markdown editor page response. Has anyone else been able to solve this? I find it amusing that the markdown editor I'm using to type this comment DOES support spell check, but Bookstack itself doesn't.
Author
Owner

@KilledByAPixel commented on GitHub (Nov 22, 2024):

Hello! This was also bugging me so I tried the spellcheck fix mentioned by @guiglass. At first it looked like it was working fine, but now I see that it is only partially working. It does do spell checking, but not for the entire document. It seems like once I start typing in one area it will update the spell check around there. Still, even this is super useful, I would really like a way to enable it until there is a better solution.

I tested this in the Chrome browser on Windows 10.

image

@KilledByAPixel commented on GitHub (Nov 22, 2024): Hello! This was also bugging me so I tried the spellcheck fix mentioned by @guiglass. At first it looked like it was working fine, but now I see that it is only partially working. It does do spell checking, but not for the entire document. It seems like once I start typing in one area it will update the spell check around there. Still, even this is super useful, I would really like a way to enable it until there is a better solution. I tested this in the Chrome browser on Windows 10. ![image](https://github.com/user-attachments/assets/c00ea523-177c-4eb4-847a-34102e1ef94a)
Author
Owner

@ssddanbrown commented on GitHub (Jul 23, 2025):

Within #5725 I have added an option in the markdown editor to toggle a plain textarea view instead of the codemirror editor, where you'd then be able to use normal browser spellchecking functionality.
That will be part of the next feature release.

@ssddanbrown commented on GitHub (Jul 23, 2025): Within #5725 I have added an option in the markdown editor to toggle a plain textarea view instead of the codemirror editor, where you'd then be able to use normal browser spellchecking functionality. That will be part of the next feature release.
Author
Owner

@ssddanbrown commented on GitHub (Sep 4, 2025):

As per my comment above, it should be possible to now use spell-checking via the plain-text option in the MD editor.
I'll therefore close this off.

@ssddanbrown commented on GitHub (Sep 4, 2025): As per my comment above, it should be possible to now use spell-checking via the plain-text option in the MD editor. I'll therefore close this off.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#566