This line set compare page takes two texts and treats each line as one member of a set. It lists the lines that appear only in A, the lines that appear only in B, and the lines that appear in both. The question is membership, not an ordered edit. Text Diff remains the page for an ordered line edit with context. This page does not show a hunk, a character change, or a moved block.
The boxes turn CR and CRLF into LF before Compare, so those three spellings of a line break are the same break. A line is the text between LF boundaries. A final LF creates a trailing empty line. With trim off, that empty line is a real member. With trim on, the page removes leading and trailing ASCII spaces and tabs from each line, and a line that becomes empty is discarded. A no-break space is not trimmed. Comparison is case-sensitive, so A and a are different lines. The lists are not sorted.
Order inside a result follows first-seen order. Only in A and In both follow the order of A. Only in B follows the order of B. A repeated line does not create a repeated row. The first copy is the member. Later copies on that side are ignored duplicates, and the count says how many were ignored. If A contains the same line three times and B contains it once, the line appears once in In both, and A reports two ignored copies.
An empty side is a valid empty set. Both sides empty is valid. The page does not raise an error only because a box is empty. Over the character cap or the line cap, the page clears every list and does not show a partial comparison.
Copy writes three labeled blocks: Only in A, Only in B, and In both. The counts stay on the page and are not part of the copy. A line is text. A line that looks like markup is not turned into HTML.
Nothing is sent off the page. The texts are not stored. A line is not parsed as code.
Text A of a, then b, and text B of b, then c, produces only in A as a, only in B as c, and in both as b. Text A of b, then a, and text B of a, then b, produces in both as b then a, because In both follows A. Text A of A and text B of a produces an empty In both list, because the compare is case-sensitive.
Text A of a, a line break, a, and a final line break, against text B of a, has one unique a in both and one ignored duplicate on A, plus a trailing empty line only in A when trim is off. With trim on, the line space a space matches a. A line that is a followed by a no-break space still differs from a when trim is on. Both boxes empty produces zero unique lines and three empty lists.
The compare stays in the browser. A result names whole lines. It does not say which characters changed inside a line, and it does not merge the two texts.
Whole-line membership. Order does not matter, and the lists are not sorted. The boxes turn CR and CRLF into LF. A final LF is a trailing empty line. With trim off, that empty line is a member. Trim removes only leading and trailing ASCII spaces and tabs. A no-break space stays. Comparison is case-sensitive. Extra copies of a line on one side are counted as ignored duplicates and are not extra rows. In both follows the first-seen order in A. An empty side is an empty set. This is not Text Diff, not a character diff, and not a fuzzy match. Nothing is sent or stored. Clear empties both texts and the lists and leaves the trim checkbox as it is.
Text Diff shows an ordered edit with context. This page answers membership: which whole lines are only in A, only in B, or in both. It does not describe an edit.
No. A line is one member. Extra copies on a side are counted as ignored duplicates. If A has the same line three times and B has it once, it appears once in In both, and A has two ignored copies.
It removes leading and trailing ASCII spaces and tabs only. A no-break space stays. With the option off, a trailing empty line created by a final line break is a member.
No. An empty side is an empty set. Both boxes can be empty. The result is three empty lists and zero counts.