List Algebra
Compare multiple lists with set and multiset operations. Paste lists, normalize them, and compute overlaps,
differences, and frequency tables. Works offline in your browser.
Instructions
- Paste each list into its own box (one item per line).
- Adjust normalization options if needed (case, accents, whitespace, punctuation).
- Choose the operation you want (union, intersection, differences, or multiset counts).
- Use Copy or download formats to export the result.
IMPORTANT: This tool runs offline. Your data stays in your browser and is never sent to our servers.
Detailed description
This tool compares multiple lists and makes their relationships explicit. It answers questions such as: “What appears in every source?”, “What is unique to one list?”, “Which items are shared by at least k lists?”, and “How many total occurrences does each item have across all inputs?” Typical use cases include merging datasets, reconciling inventory or contact lists, comparing research notes, and measuring consensus across multiple contributors.
There are two families of operations, and the choice changes how duplicates are treated:
- Family-of-sets operations treat each list as a set: duplicate lines inside one list do not change the result.
- Multiset operations treat duplicates as counts: repeated lines increase totals and can change the result.
Family-of-sets operations (duplicates inside each list are ignored):
- Union: every unique element that appears in at least one list.
- Intersection: elements that appear in every list (shared by all).
- Difference (A minus others): elements in the first list that never appear in the remaining lists.
- Symmetric difference: elements that are not shared by all lists (unique to some, but not common to all).
- At least k lists: elements that appear in k or more lists.
- Exactly k lists: elements that appear in exactly k lists (no more, no less).
- Support count: table showing how many lists contain each element.
Multiset operations (duplicates count):
- Total frequency: total number of occurrences across all lists for each element.
- Multiset union (max): for each element, take the highest count it has in any single list.
- Multiset intersection (min): for each element, take the lowest count across lists, excluding elements that are missing from any list.
- Multiset sum: for each element, add up its counts across all lists.
Vocabulary for translation plugins
List algebra app
Add list
List
Remove
Lines
Unique
Duplicates
Empty
Normalization options
Trimming and empty-line removal are applied only for comparison. Textareas are never rewritten.
Lowercase comparison
Remove accents and diacritics
Collapse internal spaces
Split on commas and semicolons
Family-of-sets operations (duplicates inside each list are ignored)
Multiset operations (duplicates are meaningful)
Union
All elements that appear in any list.
Intersection
Elements that appear in every list.
Difference (A minus others)
Elements in the first list that do not appear in the remaining lists.
Symmetric difference
Elements that are not shared by all lists.
At least k lists
Elements that appear in k or more lists.
Exactly k lists
Elements that appear in exactly k lists.
Support count
Table with how many lists contain each element.
Total frequency
Total number of occurrences across all lists for each element.
Multiset union (max)
Highest count per element among all lists.
Multiset intersection (min)
Lowest count per element across all lists, ignoring elements that are missing in some lists.
Multiset sum
Sum of counts across all lists for each element.
k:
Result
Copy
Download TXT
Download CSV
Download JSON
No result to export yet.
At least two lists are required for this operation.
Unknown operation.
Operation failed:
Element
Lists
Total count
Max count
Min count
Sum count
Starting ListAlgebraApp self-tests.
Self-test passed
Self-test failed
Tests passed
Tests failed
Verdict
Tests passed; app seems to be behaving as expected.
App has failing tests and should not be trusted.
Clipboard not available. Select the box and copy manually.
Offline cache not available in this browser.