Text & writing

Text pattern extractor

Pull email addresses, URLs, numbers, hashtags, IP addresses, dates or colours out of pasted text.

Text pattern extractor
Esc to restore

Your inputs

Up to 2 MB. Nothing is uploaded.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded or saved.

A clear answer. Here’s how.

Applies fixed, linear-time patterns to the text. Email and URL candidates are found by splitting on spaces and punctuation, trimming trailing punctuation and testing each token, so long inputs stay fast. Numbers may carry a sign, thousands commas, a decimal part and an exponent. IPv4 addresses need four octets from 0 to 255, dates must be real calendar dates, hashtags and mentions follow common social-media rules, and colours are #RGB, #RGBA, #RRGGBB or #RRGGBBAA. These look for text that resembles each kind, not valid ones: an address match does not mean the mailbox exists.

How this is checked

4 reference checks passed These 4 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.

See the checks and where each expected answer comes from
  1. Case 1

    Inputs
    Text Contact ann@example.com, bob@test.org; or ann@example.com.Extract emailsDuplicates yesOrder first
    Expected, and what Toolmoz gave
    text expected ann@example.com bob@test.org, Toolmoz ann@example.com bob@test.orgMatches found expected 3, Toolmoz 3Distinct values expected 2, Toolmoz 2
    Where the expected answer comes from
    Two distinct addresses, one repeated, counted by hand; the sentence’s final full stop is trimmed
    Allowed difference
    exact
  2. Case 2

    Inputs
    Text Paid 1,250.50 on 3 days; rate -2.5e3, then 42Extract numbersDuplicates noOrder first
    Expected, and what Toolmoz gave
    text expected 1,250.50 3 -2.5e3 42, Toolmoz 1,250.50 3 -2.5e3 42Matches found expected 4, Toolmoz 4
    Where the expected answer comes from
    Four numbers read off the sentence by hand: a number with a thousands comma and decimals, an integer, a signed exponent and an integer
    Allowed difference
    exact
  3. Case 3

    Inputs
    Text Hosts 192.168.1.10, 10.0.0.256 and 8.8.8.8Extract ipv4Duplicates yesOrder first
    Expected, and what Toolmoz gave
    text expected 192.168.1.10 8.8.8.8, Toolmoz 192.168.1.10 8.8.8.8Matches found expected 2, Toolmoz 2
    Where the expected answer comes from
    An octet of 256 is not a valid IPv4 address, so only two of the three candidates count
    Allowed difference
    exact
  4. Case 4

    Inputs
    Text Due 2026-10-18; bad 2026-02-30; also 2024-02-29.Extract datesDuplicates yesOrder first
    Expected, and what Toolmoz gave
    text expected 2026-10-18 2024-02-29, Toolmoz 2026-10-18 2024-02-29Matches found expected 2, Toolmoz 2
    Where the expected answer comes from
    February 30 does not exist, and 2024 is a leap year so 29 February is real (Gregorian rules)
    Allowed difference
    exact

What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Text
Contact ann@example.com, bob@test.org; or ann@example.com.
See https://example.com/docs and www.example.org.
Extract
Email addresses
Duplicates
List each value once, with a count
Order
In order of appearance

Example result

Example result
ValueCount
ann@example.com2
bob@test.org1

Fixed patterns, not a validator: an email match means “looks like an address”, and a URL match means it starts with http://, https:// or www. Trailing punctuation is trimmed. Copy gives one value per line; the download holds the counts.