Extract from text
Find email addresses, web links, labelled values or repeated patterns in pasted text or a local text file. Review the matches and download a table or a plain list.
Your text stays in this browser. Nothing is uploaded. Privacy details
1 Add text
Up to 1 MiB of UTF-8 text. This reads file contents as text; PDF, Word, Excel and scanned images are not supported.
2 Choose what to extract
Extracts the text after this literal label and separator through the end of the line. Leading and trailing whitespace in the value is removed.
Advanced pattern settings
0 extracts the full match. 1 extracts the first parenthesised capture group, 2 the second, up to 20. Patterns use JavaScript Unicode and multiline matching. Enter \n to match a line break. Empty matches and unmatched optional groups produce no values. Processing stops after 2 seconds.
Unique values use exact extracted text, including case. Turn this off to keep every occurrence in source order.
3 Review and download
Plain text uses tabs between columns and quotes cells containing tabs or line breaks. Spreadsheet protection applies to CSV and TSV.
Protection adds an apostrophe to potentially executable cells, including negative numbers. Turn it off for exact cell text.
Table preview shows the first 100 rows. Copies and downloads include every output row.
No output yet.
View formatted output
Preview limited to 30,000 characters. Copy and download include the complete output.
Turn text into a list
Paste text or load a local UTF-8 file, choose a preset and select Extract values. Try an example loads fictional text and runs the current preset. Each preset has its own example. Changing the text or matching settings clears the old result; run extraction again to create a new one.
Email addresses finds common ASCII email forms with a dotted domain. It does not verify delivery, support every valid address format, or extract internationalised email addresses. Web links finds HTTP and HTTPS links, checks their URL structure, and removes trailing sentence punctuation and unmatched closing brackets. It does not open links or check whether they exist. Links without a scheme are not included.
Labelled values finds a literal label at the start of a line, with optional leading spaces and a colon or equals sign. For example, Order: DEMO-001 exports DEMO-001 when the label is Order. It ignores empty values. Advanced pattern can extract repeated IDs, codes or captured parts of text. With DEMO-([0-9]+), group 0 returns DEMO-001 and group 1 returns 001.
Line and column references point to the start of the whole match, even when a capture group is exported. Lines count CRLF, LF and CR line endings. Columns count UTF-16 code units, so an emoji can occupy two positions. With unique values enabled, references point to the first occurrence. Values only exports one value per line without headings, counts or references; embedded line breaks inside a value remain line breaks.
Privacy and limits
Input and results stay in browser memory. The tool does not upload them, save them in browser storage, or include them in URLs. Clear all data removes inputs and results and cancels processing. Reloading clears tool data. Only the site theme preference is stored. Copy and download act only when selected.
Input allows 1 MiB of UTF-8 text and at most 1,048,576 UTF-16 code units. Patterns allow 1,000 characters, labels 200, and capture groups 0–20. Processing stops above 20,000 matches, including empty matches, or 20 million extracted characters. Output format limits also apply. The table shows 100 rows and formatted text shows 30,000 characters; copy and download include the complete output.
Matching runs in a local browser worker. A 2-second deadline and Cancel extraction stop patterns that take too long. A timeout clears the result and preserves source text. Workers and modern JavaScript are required; use the hosted page or a local web server. Clipboard access may require HTTPS or permission. Spreadsheet protection applies to CSV and TSV; Values only preserves raw extracted text.