I am maintaining the server implementation of a website. The site allows usernames and email address as username.

This is how the login screen looks where the user is asked to select if the user is typing in a username or an email address.

enter image description here

I think this is useless as I can very easily determine (javascript or java code on server)if the user is typing in an email address.

One train of thought makes this login appear alright.

Another makes it appear silly.

What would be the best way to implement a login screen where the user could either select a username or an email address ?

  • 1
    Not asked, but whatever you do make sure you can always log in with a username. This to avoid confusion where your 'user name' is "user@old_email.org" and your current working email address is "user@new_email.net". Some sites fail this causing quite some confusion for people who do not write everything down.
    – Hennes
    Commented Dec 20, 2013 at 5:33
  • @Hennes ...which also means that it's necessary to be able to change the username, and users need to be identified internally by some other key (like a number). ["If you use an email address to create your account, we will always use it to contact you. You can change the address associated with your account at any time."] Commented Dec 20, 2013 at 6:28

4 Answers 4


The goal is to make login as simple as possible for the user. Simply have two fields - one that allows them to enter either their username OR email address (labeled accordingly) and the other field for their password.

Simple login


There is no way to distinguish user name from email if I can enter user name identical to the email.

Then there are sites forbidding me from entering my email as user name by forbidding characters e.g. such as "@".

These sites are evil because they force me to invent a user name that is not taken and that I can remember as if password is not enough. At least I can take a nice password without worry it was taken. Then if I forget my username, I need to recover it too like password?

The less evil sites at least let me enter my Email as username. At least this is the one I can remember.

In my view, Usernames must die!

The best thing you can do for your users is to let them sign with Email only. Simple and clean.

There is too much mess from Usernames with no clear advantage over Email - here is my more detailed answer on the subject

  • 1
    Heh. I got the opposite idea. email as username must die. Especially on sites which accept the username the first time, and the next time complain that it is not valid (e.g. vmware and hennes+vmware@....), thus forcing you to create a new account every time you need to log in.
    – Hennes
    Commented Dec 20, 2013 at 17:42
  • @Hennes Have you checked my link where I listed many arguments? Please list your arguments and I will be happy to discuss. Commented Dec 21, 2013 at 1:33
  • Really both should be supported, because there are perfectly valid reasons for users to prefer either one.
    – Nick Coad
    Commented Jun 11, 2015 at 23:09
  • @gnack Would love to know those perfectly valid reasons Commented Jun 16, 2015 at 5:36
  • @DmitriZaitsev plenty of people (including myself) prefer the brevity afforded by typing a short username instead of an email address.
    – Nick Coad
    Commented Jun 17, 2015 at 0:52

You cannot trade email for username if that is going to be the point of contact. Also if username is being used to generate unique IDs for record purposes, then that is not a very user friendly approach. IDs will be generated at the back-end for record purposes anyway, I mean they are done that way all the time. Therefore, I agree with Dmitri, unless usernames are absolutely required, get rid of them.

The current login screen is quite appropriate as that will be acceptable to a wide variety of users. Alternatively, we can try something like this - enter image description here


if one can enter the same email address for the username or email i.e [email protected], then there is no point of having username or email as two separate fields. But according to me, we should have one field for the user to enter an email address as his username.

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.