Keep Only English Words [LP]
Keep Only English Words [LP] — ComfyUI Node Guide
- text TEXT
The prose sibling to this pack's Keep Only English Tags. Same underlying idea - strip out anything that isn't English - but built for freeform sentences and captions rather than comma-separated tag lists.
Why the split matters
LevelPixel ships this as a separate node in a separate category ("Text" rather than "Tags") from its tag-list counterpart, and that split is the useful signal for which one you actually want. A Danbooru-style tag string (1girl, long hair, looking at viewer) and a natural-language caption ("a woman with long hair looking directly at the camera") are structurally different inputs, and a filter tuned for one doesn't necessarily behave sensibly on the other. If your text is running prose - a caption from an image captioning model, a description pulled from metadata, notes you're cleaning before feeding into a natural-language-prompting model like Flux - this is the node built for that shape, not the tag-list one.
This kind of cleanup step earns its place specifically because prompting paradigms don't transfer cleanly across model families: tag-trained models want exact vocabulary, caption-trained models want coherent sentences, and mixed-language noise in either direction quietly degrades results rather than throwing an obvious error. Catching stray non-English tokens before they reach the model is cheap insurance against that silent degradation.
Inputs and outputs
text(STRING, multiline, default empty) - your input text.
Output: text TEXT (STRING) - the same content with non-English words removed.
Installing it
ComfyUI Manager: search "ComfyUI-LevelPixel" (listed as "Level Pixel"), install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/LevelPixel/ComfyUI-LevelPixel.git, restart ComfyUI. No models, no extra dependencies - this is text filtering, nothing GPU-side.
Common issues
Removing words from running prose can leave you with a sentence that reads oddly or loses grammatical structure if enough was stripped - unlike a tag list, where dropping an entry barely changes anything else around it, dropping words out of a sentence can leave gaps that change meaning or just read as broken. Worth a manual glance at the output before feeding it straight into a prompt, especially the first few times you use this on a new source of text.
If you're actually holding a comma-separated tag string rather than prose, Keep Only English Tags in this same pack (category "Tags" instead of "Text") is very likely the better fit - the two nodes exist as a pair specifically because the two input shapes call for different handling, even though the surface goal ("keep only English") is the same for both.
As with the tag version, this filters by language, not by correctness or coherence - a nonsense but Latin-alphabet phrase will pass through unchanged, since detecting "is this English" isn't the same as detecting "does this make sense."
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text TEXT | STRING | — |