What is the best solution for an app : Email or username field?

I like email because:

  • it's unique
  • user will easily remember
  • it's personal (which can be a disadvantage sometimes; Multiple users on the same account)

Unfortunately we usually have to type more letters to login (write the name + @domain.com)

6 Answers 6


Neither is universally better, but you don't have to choose. Use both.

It's trivial to test whether an input field is an email or a username (check whether it contains @), so you don't even need a separate field for it. Just have an Email / username field.

Each has different strengths, so if you have to use one, choose what matters most to your application and customers. Usernames are shorter, you often can't have the username you want in an application, so you end up with different usernames which you can easily forget. Emails are harder to forget as there is more consistency than with usernames.

  • 4
    it can bring confusion if using the same field for both, isn't it?
    – Marc D
    Commented Nov 8, 2011 at 13:06
  • 1
    I've seen it used often enough without a problem. Seeing a field called "Email or Username" is pretty clear.
    – JohnGB
    Commented Nov 8, 2011 at 13:53
  • 5
    However, many users that login with their e-mail adres (e.g. gmail) think that they must also type in their e-mail password. I have seen this several times. Partial solution is to clearly mark the fields: username or e-mail adres you registered with, password you registered with. Commented Nov 18, 2011 at 14:56
  • To add to this, Facebook does that, they say "Email or Phone," interestingly enough, I type in my username in there and it still works.
    – UXerUIer
    Commented Jul 27, 2015 at 14:46
  • From the POV of unique user, email makes them globally (world) unique, and username locally (application) unique. Person can use the same username in different applications - makes it ONE less information to remember. Registration using email, and login using username would be a good UX for the application.
    – Kunal B.
    Commented Jan 19, 2020 at 17:34

An email field is best way to login. One more advantage is there, if I forgot password they click "reset password" to send mail for password changes.

You are correct name is always duplicated for each person. Better we can have email field for login.

Worst case we can allow to enter below cases:


  • Name / Email ID (we have to do lots of query)
  • Password

Case2 (I prefer this):

  • Email ID
  • Password

-- Elumalai J.


As far as I can see we have four (4) required items:

  1. Who are you.
  2. Can you prove that?
  3. Which name should be displayed.
  4. Possibly additional information fields.

Who are you?

This can be the traditional username. Or an email address. Or a piece of hardware (e.g. information supplied the chip on a debit card).

Both a regular username and some username with an @ in it will work for this. For some people using their current email address may make sense.

Can you prove that?

Traditional: Enter your password. (Other options would be authentication though second channel, sending a key signed with a certificate, ...)

Which name should be displayed.

This is usually the user name. If you use email as identity then you still need some display name.

Additional fields.

The most important of these would be the current email address. This might very well differ from the 'email/username' you log in with if your account email has changed (e.g. after moving providers).

For this reason your login and your email should not be the same.


I find it confusing to log in with [email protected] and a password while my current email address has changed several times. I need to keep a log of which mails I used for which sites. This is no more (nor less) useful then remembering a user name per site.

So, allow both regular usernames (which the user must remember or write down) and email adresses (which the user must remember or write down) and allow the user to change the destination of their notifications whitout changing whatever they used to log in with.


I think email is preferable, the user will more likely remember an email address and it will be unique so they will not have to create an username that they can't remember.

You could always offer to take username or email then the system can handle the rest.

  • 3
    The e-mail address is only unique if it is personal to one user. I know various families that use one mutual e-mail address for the whole family (especially among less tech-savvy users that do not check out alternative e-mail hosts, but who simply use the one pre-configured e-mail account by their ISP). Moreover, depending on the policy of the e-mail provider, if a user changes their e-mail address, that address is free for other users again. If the user doesn't update the account on the website in question, their old account will block the e-mail address that now belongs to someone else. Commented May 1, 2014 at 18:35

Email makes the most sense. If you require any kind of email-validation upon sign up on your site, there is no chance of a user's login being unavailable when registering meaning they wouldn't have to remember yet another username for a specific site, which may not be the same as they use elsewhere due to conflicts.

I agree with JohnGB, allowing both username/email is the best practise, if you record both.

  • 3
    "there is no chance of a user's login being unavailable when registering" - that's not true. If only because the user's e-mail address formerly belonged to someone else, who removed their e-mail account without bothering to also delete their account on the page that uses the e-mail addresses as the user name. Commented May 1, 2014 at 18:36

As per my belief, the best experience for user to login is using popular account service, then auto-create account for user. It's the most convenient way for user to use.

Many and many apps recently have the option to use Google or Facebook account to register or login.

  • What if someone has no access to the authentication service anymore? If the answer is that an account has been created then we’re back at the original question: Should that account be accessed by e-mail address or username?
    – jazZRo
    Commented Jun 1 at 5:45

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.