A colleague of mine is arguing that we should use an input mask for email fields.

Personally I don't think it is necessary. For phone numbers I can understand since a phone number can be written in different ways.

However everybody knows how to write an email address. Is it really useful to use a mask (and all the trouble it can get you with multiple devices)? Will people forget the @ if we don't provide the mask? I don't think so.

If the user enters an invalid email address we already use inline error (on blur) so what is the point. What do you guys think?

  • Practice has shown that the combination of delimiter placeholders and input fields is quite convenient: react-flexinput-mask Commented Nov 15, 2022 at 12:03
  • @Oleg Hmmm I doubt it. I tried your demo and erasing the email is quite cumbersome.
    – Max
    Commented Nov 17, 2022 at 18:23

2 Answers 2


By itself, it doesn't make sense for a new user to be shown an input mask for an email. Their email may be from any domain and extension, so an @ mask is actually a deterrent since most people expect to type it and probably will type it. So now you need to expect an @ symbol and move the cursor to the next field seamlessly.

For a returning user, it is helpful to provide autocomplete suggestions from a history of logins on the specific device/browser (which is a "complete" suggestion and not an input mask.)

Ideally, the only place for input masks for email is when you are registering a new domain-specific email (common with company/corporate email IDs), where you type in your <username>@<company name>.<tld> and everything after @ remains either constant for everyone, or is limited to a small number of domains.


Email address is a common input field these days. We see it on login forms, register forms, ... .

I think placeholder for email address field is good and clear enough even for below average users these days!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.