Skip to content
100% local

Concordance generator

List every occurrence of a word or pattern with the text around it, KWIC-style.

Input
Output

Concordance generator

Paste any text and search for a word, phrase or regular expression, and this tool lists every occurrence as a KWIC (key word in context) concordance — one line per match, with the surrounding text on each side and the search term lined up in the same column. It is the classic view used in corpus linguistics and close reading: instead of jumping between scattered hits, you see how a word is actually used across a whole document at a glance.

Context width can be measured in words or characters, and each match reports the line it came from and its character position within that line. Case-insensitive matching is on by default; turn it off for exact-case searches. Ignoring diacritics lets a plain "cafe" also find "café" without rewriting your search term. Turning on "Treat term as a regular expression" unlocks patterns like \briver(s)?\b for matching word variants, plurals or optional parts in one search. Results can be sorted by order of appearance, or alphabetically by their left or right context — sorting by left context is a fast way to spot which words most often precede your search term.

Matching stays within a single line, since a concordance line is meant to be one citation; very long inputs and pathological patterns are capped so the browser tab never freezes. Numbering the occurrences adds a running count to each row, and the output can be an aligned plain-text table or a CSV file with line, position, left context, match and right context as separate columns — ready to drop into a spreadsheet.

Everything runs locally in your browser. Your text is never uploaded to a server, which makes this safe to use on unpublished manuscripts, private correspondence or confidential documents. Copy the result, download it as a .txt file, or send it to the input to search again with a different term.

FAQ

What does KWIC mean?
"Key word in context": a display format where every occurrence of a search term is shown on its own line, aligned so the term sits in the same column with matching text on either side.
Can I search across line breaks?
No. Each match must fall within a single line, so a concordance line always corresponds to one citation from the text.
What happens with an invalid regular expression?
The tool shows a message telling you the pattern is invalid instead of an error page, so you can fix the syntax and try again.
How is the CSV output structured?
One row per occurrence, with columns for line, position, left context, the match itself, and right context — plus a leading number column when numbering is turned on.
Is my text uploaded anywhere?
No. The concordance is built entirely in your browser — your text never leaves your device.