# TXSpell

> Spell checking without a WPF window: the TXSpell class of TXTextControl.TXSpell.Core.SDK for services, servers and Linux, compared with the XAML TXSpellChecker.

- **Product:** TX Spell .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Spell .NET for WPF > Overview > Components > TXSpell
- **1340 words**
- **Web URL:** https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/components/txspell/
- **LLMs URL:** https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/components/txspell/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/components/txspell/llms-full.txt

---

Not every text that needs checking is in a window. A service that validates form input, a batch job that checks documents before they are published, or the server behind the Document Editor of TX Text Control .NET Server needs spell checking without dialogs or menus. `TXSpell` is the class for that: the spell checking engine of TX Spell .NET without a user interface.

### What TXSpell Is

The class is `TXTextControl.Proofing.TXSpell`. It checks text, creates suggestions, hyphenates words, looks up synonyms and detects languages, with the same language data as the [TXSpellChecker](https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/components/txspellchecker/llms-full.txt) component. It has no dialogs, no context menu items and no events: your code calls a method and reads the result.

Unlike `TXSpellChecker`, it must always be initialized with `Create`, and it connects to TX Text Control only through the `ServerTextControl` of TX Text Control .NET Server, not to the `TextControl` of WPF. [Product Architecture](https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/architecture/#the-two-classes) compares the two classes.

Use `TXSpellChecker` when a WPF control shows the text; the class description in the reference recommends it for text components. Use `TXSpell` everywhere else.

### Where It Runs

`TXSpell` is in *TXSpell.dll*, the assembly that all TX Spell .NET packages share. The package `TXTextControl.TXSpell.Core.SDK` contains only this assembly, its German resources, the license file and the US English language data. It targets .NET 8 and doesn't depend on TX Text Control or any other package, so it runs in:

- console applications, services and ASP.NET Core applications;
- on Windows and on Linux, for example in a Docker container;
- together with the `ServerTextControl` and the Document Editor of TX Text Control .NET Server.

The setup of TX Spell .NET for WPF provides the package through the package source **Text Control Offline Packages**. Without TX Text Control, an application that uses it is published without a target runtime. The blog article [Document Editor with TX Spell .NET on Linux using ASP.NET Core](https://www.textcontrol.com/blog/2026/01/28/document-editor-tx-spell-net-linux-aspnet-core/) runs it in a Linux container.

### How You Work With It

1. Create an instance and call [Create](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/create-method/llms-full.txt). It loads the language data; before it, every check throws an exception that asks for it.
2. Call a method: [Check](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/check-method/llms-full.txt), [CreateSuggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/createsuggestions-method/llms-full.txt), [GetHyphenationPoints](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/gethyphenationpoints-method/llms-full.txt), [CreateSynonyms](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/createsynonyms-method/llms-full.txt) or [DetectLanguageScopes](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/detectlanguagescopes-method/llms-full.txt).
3. Read the result from the matching property, such as [IncorrectWords](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/incorrectwords-property/llms-full.txt) or [Suggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/suggestions-property/llms-full.txt).

`TXSpell` doesn't implement `IDisposable`, so it needs no `using` statement. With TX Text Control .NET Server, assign the instance to the [SpellChecker](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/spellchecker-property/llms-full.txt) property of a `ServerTextControl`, which then finds the misspelled words and hyphenates documents in code.

[Checking Text in Code](https://docs.textcontrol.com/tx-spell-dotnet-wpf/getting-started/in-code/llms-full.txt) builds a console application with `TXSpell` step by step, from creating the project to running it.

### Key Members

| Member | Purpose |
|---|---|
| [Create](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/create-method/llms-full.txt) | Loads the language data; call it first |
| [Check](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/check-method/llms-full.txt), [IncorrectWords](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/incorrectwords-property/llms-full.txt) | Check a text, and the words found |
| [CreateSuggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/createsuggestions-method/llms-full.txt), [Suggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/suggestions-property/llms-full.txt) | Suggestions for a word |
| [IgnoreWord](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/ignoreword-property/llms-full.txt), [IgnoreCase](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/ignorecase-property/llms-full.txt) | Which words are skipped |
| [Dictionaries](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/dictionaries-property/llms-full.txt), [Language](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/language-property/llms-full.txt) | The dictionaries, and the default one |
| [GetHyphenationPoints](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/gethyphenationpoints-method/llms-full.txt), [HyphenationLists](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/hyphenationlists-property/llms-full.txt) | Hyphenation points of a word |
| [CreateSynonyms](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/createsynonyms-method/llms-full.txt), [SynonymLists](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/synonymlists-property/llms-full.txt) | Synonyms of a word |
| [DetectLanguageScopes](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/detectlanguagescopes-method/llms-full.txt), [LanguageScopes](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/languagescopes-property/llms-full.txt) | The languages of a text |
| [DictionariesDirectoryPath](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/dictionariesdirectorypath-property/llms-full.txt) | The folder of the dictionaries, and like it the folders of the other language data |

The [TXSpell](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/llms-full.txt) reference lists all members.

### Next Steps

- [Checking Text in Code](https://docs.textcontrol.com/tx-spell-dotnet-wpf/getting-started/in-code/llms-full.txt): the console application, step by step.
- [Incorrect Words and Suggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/spell-checking/suggestions/llms-full.txt): the results of `Check` and `CreateSuggestions`.
- [Hyphenating Text in Code](https://docs.textcontrol.com/tx-spell-dotnet-wpf/hyphenation/in-code/llms-full.txt): hyphenation points of words.
- [TXSpellChecker](https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/components/txspellchecker/llms-full.txt): the component with a user interface.

---

## Nearby

- **Previous:** [Context Menu and Suggestion Controls](https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/components/context-menu/llms-full.txt)
- **Next:** [Supported Platforms](https://docs.textcontrol.com/tx-spell-dotnet-wpf/overview/platforms/llms-full.txt)
