Skip to main content

AltF Flow recipe

Clean an email list in one pass

To clean an email list, extract every address from the pasted text, lowercase them, remove duplicates and sort the result. This recipe does exactly that in four steps, so names, angle brackets, semicolons and repeated addresses in different capitalisation collapse into one clean address per line, ready to import into a mailing tool.

  • Free, no sign-up
  • Runs in your browser
  • Nothing uploaded
  • Share recipes as a link

4 steps · runs in your browser · nothing uploaded

Pipeline

  1. Email addresses

    7 → 8 lines (+1)
  2. lowercase

    8 → 8 lines
  3. Keep the first copy of each line and drop repeats.

    8 → 6 lines (-2)
  4. Alphabetical

    6 → 6 lines

7lines21words256chars

6lines6words121chars-1 lines vs input

The 4 steps in this recipe

  1. 1

    Extract - Email addresses

    Pull out URLs, emails, domains, numbers, hashtags, @mentions, IPv4 addresses or phone numbers, one per line.

  2. 2

    Change case - lowercase

    UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case or CONSTANT_CASE.

  3. 3

    Remove duplicate lines

    Keep the first copy of each line and drop repeats.

  4. 4

    Sort lines - Alphabetical

    Sort A to Z, Z to A, naturally (2 before 10), by number or by length.

Change any option in the workspace above, switch a step off to compare, or add your own steps. Save it to reuse it, or share the recipe as a link.

Worked example

Before
Jane Example <Jane.Example@Example.com>
  bob.sample@example.org  
jane.example@example.com
not an email, just a note
Contact: Priya Test (priya.test@example.net), Sam Placeholder <sam@example.com>
BOB.SAMPLE@EXAMPLE.ORG
info@example.com; sales@example.com
After
bob.sample@example.org
info@example.com
jane.example@example.com
priya.test@example.net
sales@example.com
sam@example.com

Why each step is there

  • Extract - Email addresses pulls every address out of names, brackets and punctuation, so you do not have to split columns first.
  • Change case - lowercase makes Jane.Example@Example.com and jane.example@example.com identical.
  • Remove duplicate lines then keeps the first copy of each address.
  • Sort lines A-Z makes the list easy to scan and compare with another export.

Variations

To exclude role addresses such as info@ or sales@, add Filter lines set to Remove with the regular expression ^(info|sales|support|noreply)@. To paste the result into a To or BCC field, end with Join lines using ", " or "; " as the separator.

Clean an email list: questions and answers

Is lowercasing email addresses safe?

Domains are case-insensitive. The part before the @ can technically be case-sensitive, but virtually all mail providers treat it as case-insensitive, so lowercasing is the usual way to dedupe.

Does this check that the addresses work?

No. It finds text shaped like an email address. Use an email validator to check syntax and domain records before sending.

Will it find addresses inside a CSV export?

Yes. Extract scans the whole text, so addresses in any column are picked up and the other columns are dropped.

More recipes like this

Every step you can add (41)

Clean up

  • Trim whitespace
  • Trim every line
  • Remove empty lines
  • Collapse repeated spaces
  • Remove line breaks
  • Strip HTML tags
  • Straighten smart quotes
  • Remove accents
  • Remove punctuation
  • Remove emoji
  • Remove non-ASCII characters

Change case

  • Change case
  • Make URL slugs

Lines

  • Sort lines
  • Remove duplicate lines
  • Keep only duplicated lines
  • Compare with another list
  • Count repeated lines
  • Reverse line order
  • Shuffle lines
  • Keep a range of lines
  • Truncate long lines
  • Wrap at a width
  • Split into lines
  • Join lines

Find and filter

  • Find and replace
  • Filter lines
  • Remove words or characters

Extract

  • Extract

Data and formats

  • Format JSON
  • Minify JSON
  • CSV to JSON
  • JSON to CSV
  • Lines to JSON array
  • JSON array to lines

Encode and decode

  • Encode or decode

Build output

  • Add prefix / suffix
  • Quote each line
  • Number lines
  • Apply a line template
  • Add timestamp
What each step does, with its options

AltF Flow runs entirely in your browser. Your text is never sent to AltFTool; saved recipes stay in this browser and shared links carry the steps only.