Goldpan

New addresses for your list. Only the gold gets in.

Goldpan is an email field for adding people to a list you already have: team members, subscribers, guests. Paste the new addresses from Excel, Outlook or anywhere: it spots who is already in, drops duplicates, fixes misspelled domains in one click and stops at the places left.

  1. The workspace already has members4 of its 12 seats are taken, and Goldpan knows who is already in.
  2. Invite and pastePress “Invite people” and paste a list, or use the example.
  3. Check the colours, then inviteGreen and yellow will be invited. Red ones can be fixed, or left out with “Ignore and send”.
  • No dependencies
  • ~10 kB gzipped
  • TypeScript types
  • Accessible
  • 8 languages
npm install goldpan

Team workspace

#EmailRole
The three colours

Three colours, one rule: only red is left out

As soon as you paste them, the addresses take a colour. Green and yellow ones will be invited, red ones will not. Yellow is only a warning: worth a look before you send.

Valid

Will be invited.

  • Written correctly
  • On a domain that is not blocked
  • Not registered yet, and there is room

To check

Will be invited, with a warning.

  • Maybe a typo (hotmial.it): “Fix” corrects it in one click
  • Already registered: members, or people already invited
  • Flagged by a check you added

Rejected

Left out.

  • Not email addresses (no domain, a space…)
  • Blocked domain: throw-away mailboxes, or misspelled domains like gmal.com (with “Fix”)
  • No free seats left

An address pasted twice is ignored: the first one stays and lights up for a moment.

Playground

Change a setting and watch the colours change

Each setting is an option of the library: press ⓘ to see what it does. The code below follows your choices.

maxEmails
onLimit
duplicates
existing
typoCheck
editable
rejected
locale
theme
existingEmails
blockedDomains
Code for these settings

      
Events (for developers)
What your code receives on every change
    Plain HTML form

    Also works on an ordinary form field

    No list, no popup: it attaches to a field you already have. The field stays in the form and always holds the accepted addresses, ready to be sent. With red addresses, the first press shows them and the button turns into “Ignore and send”. A required field is never sent empty.

    What the form sends
    
          
    What it does

    Built for real lists, the copied-and-pasted kind

    Starts from your data

    It knows who is already registered and how many seats are left.

    Paste from anywhere

    An Excel column, an Outlook line with names, a list with commas or semicolons: it reads them all.

    Fixes typos

    It suggests gmail.com for gmial.com in one click, and leaves real domains such as hotmail.be or aon.com alone.

    Keeps unwanted domains out

    Throw-away mailboxes, and the domains you choose, are rejected.

    Respects the seats

    It never accepts more addresses than there are free seats. Remove one, and the first address left out takes its place.

    No double invites

    An address pasted twice is ignored and the first one lights up: nobody gets two emails.

    Usable by everyone

    It works with the keyboard alone, with screen readers, with Chinese and Japanese keyboards and in high-contrast mode.

    8 languages

    English, Italian, Spanish, French, German, Portuguese, Chinese, Japanese. Adding one takes a single file.

    Fits your site

    Colours change with CSS variables, light or dark follows the device, and it works with React, Vue or plain HTML.

    For developers: one line of code to attach it to an existing field, about 10 kB, no other libraries, TypeScript types and events. Pasted text is never run as code.