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.
- The workspace already has members4 of its 12 seats are taken, and Goldpan knows who is already in.
- Invite and pastePress “Invite people” and paste a list, or use the example.
- 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
| # | Role |
|---|
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.
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.
maxEmailsHow many addresses can still be accepted, green and yellow together. Usually the free seats of your list. Tick “no limit” to remove it.
onLimitThe addresses that do not fit are shown in red (“No place left”) or not added at all. When a seat frees up, the first red one waiting takes it.
duplicatesIgnore: the copy is not added and the first one lights up. Yellow: both stay and each takes a seat (e.g. two tickets for the same person). Red: the copy stays in the list as rejected.
existingWhat happens to the addresses already in your list (see “Addresses already registered” below). Yellow: invited, with a note. Red: rejected.
typoCheckSpots domains with a typo compared to a popular provider (hotmial.it → hotmail.it) and offers a “Fix” button. Real domains such as hotmail.be or aon.com are left alone. Yellow only warns; red rejects the address until it is fixed.
editableWhich addresses show the pencil, to correct them in place. The ✕ to remove them is always there.
rejectedWhat happens when you press “Invite” while red addresses are present. Warn: the first press shows them with a message, and the button turns into “Ignore and send”; the second press invites the others. Block: they are shown, and nobody is invited until they are fixed or removed. No warning: the others are invited straight away.
localeLanguage of the texts in the field: filters, messages, buttons. 8 languages are included and more can be added.
themeLight, dark or automatic (follows the setting of the device). Every colour can also be changed with CSS variables.
existingEmailsThe people already in your list (members, earlier invites): they turn yellow with the note “Already registered”. On a real page they come from your data; here you can type them, separated by commas.
blockedDomainsAddresses on these domains are always red. They add to the domains blocked out of the box: misspelled domains like gmal.com and throw-away mailboxes like mailinator.com. *.domain.com also blocks its sub-domains.
Events (for developers)
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.
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.