LanguageTool engine without Java

One of the worst night mares we have had over the last few years has been the need to run java on the server. And the only reason for doing that has been LanguageTool.

Running a grammar/spell checker that is deterministic and not based on LLM may not be interesting to a lot of people in 2026, but some of our academic users still prefer that. So we are super happy to be able to say that we are now able to run it without Java!

DeepSeek v4.1 Flash has helped us in porting the engine to Rust - with bindings for Python and JavaScript and compilable to wasm so that in a lot of settings, one can have the checks happen directly in the browser, without all the privacy issues related to running it on a server or asking users to send their documents to third party servers.

Demo: LingoTweaker demo — grammar checking in WebAssembly
Code: GitHub - fiduswriter/LingoTweaker · GitHub

LanguageTool now has a trademark, which also means they are obliged to enforce it. So we had to call it something else. The only thing that I don’t quite get is that it seems like the usage of various hunspell features, etc. is a bit random. For example, the suggestion engine is used by Gallician, Danish and Swedish, but not a lot of other languages. This seems a bit random. Maybe it just has to do with who was maintaining a given language at a specific moment?

Note: LingoTweaker is an independent project, not affiliated with or endorsed by the LanguageTool project, whose name and trademark belong to their owners. Upstream references and licenses are kept.

@dnaber @bminixhofer @qsam @tokestermw @ananthakumarj

2 Likes

Thanks, that is quite a cool project.

Yes, the suggestion engine of hunspell is quite slow, at least for some languages, so we tried to get suggestions without it. For some less common languages this was probably never considered an issue.

1 Like

This is really cool. We (LanguageTool) always wanted the grammar checker to run on the client.

1 Like

Now that you know that this can be achieved with an LLM and a developer in something like a week, you can of course just replicate my work on this. But also, I know there are discussions on whether copyright stays or not when creating a very similar implementation in another language, but my/our interpretation of this particular case is that the license probably still stays the same (as the original Java source file) and the license of those parts that I have contributed (LGPL) should also be such that you can incorporate it into your own official LanguageTool rust tool if you ever decide to want to go that way.

1 Like