REPRODUCIBLE EXAMPLES

Text cleanup test cases

See what changes, what stays and where automatic cleanup needs human judgment.

By Textidy · Updated

These twelve synthetic cases are checked against Textidy's transformations before release. They are a small regression collection, not a benchmark proving superiority over other tools. Each case includes the settings that matter and a link to load that sample into the matching editor.

Invisible characters are labelled here as ⟦U+200B⟧, ⟦U+00A0⟧ and ⟦U+200D⟧. The downloadable fixtures and tool inputs contain the actual characters. The rich-text case shows the plain-text alternative; destination formatting needs a separate paste check.

Download all cases as JSON · Read our testing method

You may reuse these original synthetic examples and expected outputs under CC0 1.0. Read the CC0 terms. This applies to the fixture data, not third-party libraries or the site's source code.

Chat framing and numbered steps

Natural prose removes recognised boundary chat paragraphs and simple bullet markers. Numbered steps retain their order.

Input

Sure!

## Update

- The draft is ready.
- The references are attached.

1. Review the draft.
2. Approve the release.

I hope this helps!

Expected text output

Update

The draft is ready.

The references are attached.

1. Review the draft.
2. Approve the release.
Try this example in the tool →

Punctuation with protected code

Em-dash replacement is opt-in. Code and blockquote punctuation remain; Markdown markers are removed. Review whether each comma fits the sentence.

Input

A useful change—when reviewed.

`a—b`

> A quoted—phrase

Expected text output

A useful change, when reviewed.

a—b

A quoted—phrase
Try this example in the tool →

Wrapped PDF paragraphs

Blank lines preserve paragraph boundaries. Missing paragraph boundaries cannot be inferred reliably.

Input

A paragraph copied from a PDF
can wrap at every printed line.

Keep the next paragraph
separate from the first.

Expected text output

A paragraph copied from a PDF can wrap at every printed line.

Keep the next paragraph separate from the first.
Try this example in the tool →

Optional hyphen repair

This is an intentional counterexample: document is repaired but well-known loses a meaningful hyphen. Review joined words; the option is off by default.

Input

A docu-
ment contains a well-
known example.

Expected text output

A document contains a wellknown example.
Try this example in the tool →

An address is not a paragraph

An address or poem can need every line break. Default line joining cannot identify this intent; keep the original or edit only prose excerpts.

Input

Alex Example
12 Sample Street
Sydney

Expected text output

Alex Example 12 Sample Street Sydney
Try this example in the tool →

Restore a missing separator

The first row is the header. A missing separator and uneven spacing are repaired without adding cell values.

Input

| Name|Count |
| A|2|

Expected text output

| Name | Count |
| ---- | ----- |
| A    | 2     |
Try this example in the tool →

Extra data must not disappear

Three data cells under two headings stop conversion. Correct the source; extra cells are never discarded.

Input

| Name | Count |
| A | 2 | extra |

Expected behaviour

Conversion stops: correct the uneven row before copying.
Try this example in the tool →

A pipe inside code

A pipe inside a complete code span is escaped for a GFM table. An unescaped pipe in ordinary text is still a cell boundary.

Input

| Value |
| `a|b` |

Expected text output

| Value  |
| ------ |
| `a\|b` |
Try this example in the tool →

Links and code survive

Default plain-text conversion keeps link destinations and code contents. It does not validate the source.

Input

## Notes

Read [the source](https://example.com/source).

Keep `user_id` unchanged.

Expected text output

Notes

Read the source (https://example.com/source).

Keep user_id unchanged.
Try this example in the tool →

Headings, links and a table

The shown expected output is the plain-text clipboard alternative. Formatted copying additionally supplies HTML headings, emphasis, links, numbering and a table. Destination appearance must be checked.

Input

# Textidy paste test

A **bold** note with [a reference](https://example.com).

1. Review
2. Publish

| Name | Count |
| --- | --- |
| A | 2 |

Expected text output

Textidy paste test

A bold note with a reference (https://example.com).

1. Review
2. Publish

Name	Count
A	2
Try this example in the tool →

Hidden space versus non-breaking space

Select U+200B to remove zero-width spaces and U+00A0 to replace non-breaking spaces with ordinary spaces. Removal can join words.

Input

hidden⟦U+200B⟧space and keep⟦U+00A0⟧together

Expected text output

hiddenspace and keep together
Try this example in the tool →

Keep emoji joiners

U+200D joins parts of the emoji. It is protected even if requested for removal.

Input

Developer: 👩⟦U+200D⟧💻

Expected text output

Developer: 👩⟦U+200D⟧💻
Try this example in the tool →