As mentioned, allowing users to easily change usernames (let's call it "display name" to disambiguate) makes it easier for users to dodge the consequences of harrass or scam other users. If your site has a social aspect, maybe consider whether bans, blocks, chat histories and the like between users will carry through a username switch. Another point to consider is anonymity or privacy concerns. It's fairly frequent that someone makes an account with their real name and then posts something they regret and wishes their real name to no longer be publicly visible. Sometimes this is because they were caught bullying or the like, but is often for legitimate reasons as well like over-sharing personal details of their life. This recent question comes to mind as an example: [I accidentally entered password for a website as a username for another website][1] In this case, submitting a service ticket to be reviewed by a human sounds like a reasonable approach. [1]: https://security.stackexchange.com/q/175574/61443