What is an Username?
An username is a text code that uniquely identifies an user in an system. They're typically used as credentials, to log into your account by typing your username and the password associated to that username, and in URLs that lead to the profile of an user in a website, such as Reddit.
Generally, you're allowed to pick your own username manually, although some systems have automatically generated usernames.
An username is a human-readable way to identify users. Another method to uniquely identify users is the user ID, which is typically a number.
Systems with user profiles may also have a "profile name," which is different from an username. A profile name can be anything, and it's possible for two users to have the same profile name. Meanwhile, an username must be unique within that system, and there are many constraints on them that we'll see below. Usernames or profile names may also be called IGNs (In-Game Names) in game platforms.
Common Constraints
Usernames typically have some constraints, such as:
Only letters and numbers: many systems only allow you to use letters and numbers in your username, from A to Z, and 0 to 9. No accented letters, and no Chinese, Japanese, and Korean characters either. For example, if someone is called João, their username must be Joao
, and if they're called 太郎, their username must be transliterated to Latin characters, such as Tarou
.
Underscores: underscores (_
) are permitted, e.g. John_Smith
.
Dashes: in some systems, dashes(-
) are permitted, e.g. John-Smith
. This is rarer, but it's allowed in Tumblr, for example.
Uniqueness: in all systems, you aren't allowed to have the same username as someone else, since they must be unique. This means if someone already has the John
username, you need to call yourself OtherJohn
, or John2
, but those may already be taken as well in popularly used systems, so John3
, John4
, etc.
Case-insensitivity: in many systems, usernames are case-insensitive, which means that John
, john
, and JOHN
are the same username as far as the system is concerned, which means if someone has the username JOHN
, you can't pick john
, you need to pick john2
.
Letter Requirement / First Character Can't be a Number: in some systems, the username may not start with a number, e.g. 2john
, or must not be composed entirely of numbers, e.g. 123
.
The reasons for these constraints are various.
Stability: English characters (from a-Z without accent), fit in an encoding called ASCII, which is widely supported. Many programs have trouble handling characters that aren't ASCII. Although this is less of a problem today, ecosystems can be extremely complex: we never know when we may encounter a program that still doesn't support non-ASCII characters. To avoid unexpected trouble, we simply limit ourselves to the most widely supported encoding.
Security: it's possible for an user to pretend to be another user by having a similar username. For example, john
pretending to be John
, or vice-versa. In order to avoid these situations, usernames need to be visibly distinct. Even then, there can be issues with some characters such as l
(the letter L
)and 1
(the number) looking very similar in some fonts. On top of that, some languages have characters that are very similar to characters of other languages. If characters from all languages were supported, we'd run into many cases like that which English-speaking staff wouldn't be familiar enough to deal with.
Disambiguation: in some systems, it's possible to access an user information by either the username OR the numeric user ID, and for convenience you can input either of these in the same field. If a usernames could be composed entirely out of numbers, it wouldn't be possible to tell whether something is an user ID or an username just from looking at it. That's why some systems prevent you from having an username that begins with a number. For example, we can tell that a123
is an username because it has a letter, while 123
is an user ID because because it starts with a number, and 123a
would be an invalid value, since it doesn't start with a letter nor is only made out of numbers.
Leave a Reply