463

After installing Windows 10 on my Surface Pro 3 it took my user name 'Jeremy' and created a user folder named C:\Users\jerem.

I want to rename the folder C:\Users\Jeremy. The procedure for Windows 8 does not work. There are a couple of reasons.

  1. OneDrive is now a fully integrated part of the OS, and it completely breaks. A find/replace in the registry seems to work, but it's hard to be confident in that approach.
  2. When the computer is rebooted, the TabletInputService writes a TextHarvester.dat file to the old user profile location (creating it if needed). This makes it impossible to keep the folder deleted. An old solution found online doesn't work. This issue also causes an error message to pop up every time the computer boots.
16
  • 10
    @MehmetFide it's not a bug - it take the first five letters from your email address - this is by design, not an error.
    – CalvT
    Commented Sep 25, 2015 at 15:12
  • 195
    so it is a design bug. my name is "mehmet" and it puts as "mehme" which is annoying and silly. it is clearly a bug from customer point of view. Commented Sep 25, 2015 at 16:43
  • 15
    @CalvT do you have a source stating this was a design decision? And why? Seems silly to me.
    – Keegan
    Commented Oct 13, 2015 at 13:53
  • 14
    Got a Surface Book, I'm here because I noticed the same issue. What a freaking annoyance, trimming two letters off the user name I've used for two decades.
    – mlepage
    Commented Jan 21, 2017 at 2:27
  • 31
    It should at least ask before doing this, and offer the user to change it.
    – mlepage
    Commented Jan 21, 2017 at 15:43

11 Answers 11

209

This can be done without folder renaming and messing with registry:

  1. Create a local account with the user name you wish.

    • Local account creation is well hidden; here is how to find it:
      Settings > Accounts > Family & Other users > Other users > Add someone else to this PC > The person I want to add doesn't have an email address > Add a user without Microsoft account
  2. Change account type to administrator (can skip if there is other administrator).

  3. Remove original Microsoft linked account

  4. Link local account to Microsoft account if you wish

11
  • 5
    One caveat, if you use "Family safety" set up in your microsoft account, this can get very tricky at (4) if you want to do it for other family members. The other family members become "known" to the PC as soon as you convert the first account, and I hit a full-stop when converting the other local users . I had to disable that feature first, then add all family members as local accounts, then convert them to M$ accounts.
    – Ed Randall
    Commented Nov 21, 2015 at 7:56
  • 12
    Someone did an edit that seems more useful as a comment: IMPORTANT Be aware many application settings, video game saves, and so on are stored in the original user folder. (Rarely, some settings may even be tied to the old username). Your pictures, documents, music, and so on will still be in the old user directory.
    – Journeyman Geek
    Commented Dec 28, 2018 at 6:13
  • 3
    @JourneymanGeek IMHO it's a core part of the answer in that it's not renaming, but instead creating a new user. So the notice that your original user folder is where everything still is is very important.
    – Nick T
    Commented Sep 4, 2019 at 3:24
  • 3
    A step is missing between 2 and 3: log off with the old account and log on with the new account.
    – CarLaTeX
    Commented Nov 16, 2019 at 7:29
  • 3
    In case anyone is wondering, there is a tool that lets you essentially "flash" a user's account data, into another user account. All of the data. It's called User Profile Wizard by ForensiT. We used it successfully many times in IT. It's free for non-corporate use. Commented Dec 23, 2022 at 0:45
240

Microsoft has actually documented a very simple and clean way to rename a user profile folder.

EDIT Feb 2022: If you plan to use winget to manage your Windows installations at any point, note that Microsoft now warns against using this procedure under Windows 10 or later as it can stop winget working. Information about winget

There is no need to create a new user account, so all the settings associated with the existing user profile are preserved. And the only registry change required is to edit a single string value (the one that tells Windows the path of the user profile folder):

  1. Log in by using another administrative account.

Note. You may need to create a new Administrative account at first.

  1. Go to the C:\users\ folder and rename the subfolder with the original user name to the new user name.
  2. Go to the registry and modify the registry value ProfileImagePath to the new path name.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<User SID>\

That's it!

The procedure quoted above was provided by Microsoft (here) in relation to a perceived issue with Windows 7, and continues to work in Windows 10.


Notes

<User SID>

The ProfileList registry key contains a number of sub-keys. To find out which one to change, click on each sub-key and examine the values, to find the sub-key with the right ProfileImagePath:

enter image description here

For example, let's say we want to get rid of the space in a user profile folder name. So in step 2, we use File Explorer to navigate to C:\Users and rename the John Smith subfolder JohnSmith. And in step 3, we click on the <User SID> sub-keys until we find the one with ProfileImagePath C:\Users\John Smith, and change it to C:\Users\JohnSmith.

Administrative login

You may find you have to restart instead of just logging out and logging back in. Otherwise, when you try to rename the folder, Windows may report that it is being used by another program.

Environment variables (info)

Some applications create env vars with the user profile path fully expanded, so it's advisable to check for these and reboot if any needed fixing.

35
  • 37
    This should be the accepted answer. On Windows 10 1809 you have to do another step with OneDrive. When you log in you'll be told ...Desktop cannot be found, moved or deleted. You'll have to re-sign into OneDrive and let it sync with the new folder change. I also went into OneDrive Settings -> Auto Save and tapped "Update Folders" just to make sure Desktop was being properly picked up. After a short few minutes it seems that everything fell back into place. Commented Feb 15, 2019 at 19:12
  • 10
    This simple procedure works well. Many software cannot be uninstalled afterward though. To correct this, you have to change all occurences of the former username in the registry. Luckily regedit has a search feature, unfortunately it has no replace feature so it can take a while to do it manually.
    – Futal
    Commented Mar 14, 2019 at 11:20
  • 17
    To avoid a ton of manual registry changes, "Unlink this PC" In OneDrive before doing this change-over. Then set up OneDrive again.
    – Ian W
    Commented Aug 26, 2019 at 13:28
  • 22
    If it's this simple, why the heck does Microsoft not add a "Change user directory name" to the user configuration application? Commented Oct 9, 2020 at 5:17
  • 6
    I don't think this is a "clean" way to rename. It is just a workaround on MS support web page. It's very worth mentioning that you still leave lots of registry containing your old user name; some are even unable to be changed or removed. So, change it early or live with it. It's pain any way.
    – Kirk
    Commented Jan 23, 2021 at 17:49
79

While not a direct answer to the question, a symbolic link can be a risk-free solution if the problem is not just aesthetics, but that restored or legacy configuration files or links refer to the user directory.

  1. Open an elevated command prompt
  2. Change to the user directory
  3. Create a directory junction targeting the real name of the user directory

e.g.,

C:
CD\Users
MKLINK /J Jeremy jerem

This enables you to use c:\Users\Jeremy\..... to refer to parts of your profile.

9
  • 3
    This worked. Thanks so much for this suggestion. I opened CMD with admin privileges, navigated to c:\users\, and ran "mklink /j matt matthew" (for example) to link "matt" to the already existing "matthew" folder.
    – Xonatron
    Commented Jun 11, 2017 at 16:52
  • 6
    In my case it helped me surpass some errors a program had because my user folder has an space in it. So I ran mklink /j greatUser "My Full Name" and it works. Thanks!
    – Metafaniel
    Commented Aug 10, 2018 at 17:26
  • 4
    WARNING: Some programs will not follow a directory junction, and will crash as a result.
    – user66001
    Commented Apr 18, 2019 at 14:01
  • 8
    Warning for Linux user : the arguments are not in the same order as for ln -s! Commented Apr 28, 2019 at 19:33
  • 2
    This is a nice answer to add to the more comprehensive solution from @RegEdit. Specifically, I used that solution, and then I created a directory junction so that applications could access the user directory under the old name if they wanted to do so. Without the directory junction, I would have needed to reconfigure a lot of applications and perhaps to edit the registry.
    – user697473
    Commented Dec 4, 2019 at 18:07
54

I had the same problem and I have solved it as follows (using information that I found on a few other websites):

  1. Just to be safe, create a restore point. Open the Control Center, type in System Restore and click on Create System Restore Point. Select the C: Drive and click on Create.
  2. Click on the Windows Button (at the bottom left), type regedit and click on Execute command.
  3. Confirm the UAC dialog by clicking Yes.
  4. Make a backup of the prior registry by clicking File > Export.
  5. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. There you can find a few subfolders (starting with 'S-1-5-'). Search for the folder that contains the path (that you want to change) in the registry key named ProfileImagePath. (Example from the question: search for the value 'C:\Users\jerem').
  6. If you have found it, double-click on it and change the path. (Following the original question, you would now change the value to 'C:\Users\Jeremy').
  7. Close the Registry Editor window.
  8. Click on the Windows Button (at the bottom left) again and type netplwiz and click on Execute command.
  9. Make sure that the checkbox 'Users have to enter username and password' is checked. Select the user (for whom you want to change the path) from the list and click on Properties.
  10. Change the user name in the new window. (Following the original question, you would now change the user name to 'Jeremy'). You can also change the full name here, if you wish (but in my case the correct name has already been entered). I suppose that you can not leave the full name field empty. Close the window by clicking OK.
  11. Close the other remaining opened windows also by clicking OK.
  12. Restart the system.
  13. Start Windows 10 again and try to login. This will fail (because of the changed path) and you will automatically be logged in with a temporary user account (which will take a bit of time). However, you can now change the name of the folder using the Windows Explorer (following the example above, you would now rename the folder jerem to Jeremy).
    Note: alternatively, you can boot into a second operating system (if you have one installed) or use a Live CD operating system to change the folder name.

UPDATE: Thanks to user @lmiguelvargasf for informing me about an issue with my solution! I thought that the system would be a bit more intelligent in updating the references in the registry, but it is not! Therefore you should start the Registry Editor again (as in step 2) and make a backup by clicking File > Export. Then click on Edit > Search (or Find...), type in the old path (in the example it would have been C:\Users\jerem) and search for keys, values and data. Replace all references containing the old path (C:\Users\jerem) with the new path (C:\Users\Jeremy). A click on the key F3 searches for the next reference. Repeat that until you don't find any references to the old path. Even with a relatively fresh installation on Windows 10, you might have to update about 100 entries (especially OneDrive and Edge have quite a lot of caching paths in the registry). And also some additionally installed programs might have created registry entries!

Finally, restart the system again and start Windows 10. The first login could take quite a while, but everything should now work fine again and the path of the user directory should now be changed! If everything works fine, you can now delete the original folder (the folder named jerem, using the example of the question).

INFO: I am working on a German system. I tried to translate the bullet points correctly, but it is very likely that they might be named a bit different!

DISCLAIMER: This solution is working on my laptop after upgrading from Windows 8.1 (64-bit) to Windows 10 (64-bit). However, I cannot guarantee that this solution might also work for others with other configurations. If you follow the solution provided above, you are doing everything at your own risk!

25
  • 1
    This worked for me on Windows 10 64-bit! After doing the 11 steps, to get to the temporary account, I had to put in my password, then my PIN, and keep pressing "skip" after Windows reported that there were some errors until it finally logged me in. After renaming the folder I restarted Windows and everything worked perfectly Commented Aug 2, 2015 at 8:41
  • 8
    This will work, but it will break several things, including the ability to install apps from the Windows Store. After checking the Event Viewer I noticed a number of errors related to the ESENT service, which were still referencing the old user account folder. The easiest way I found to solve the problem was by creating a symbolic link from the "wrong/original" user profile folder ("xavie" in my case) to the "new/correct" one ("xavier"). For this I used the awesome Link Shell Extension.
    – xfx
    Commented Aug 7, 2015 at 5:30
  • 2
    @traintes: I just looked for oldusername and in the search I included old keys, values and data that contained the word. Commented Aug 17, 2015 at 3:35
  • 4
    Be careful during the registry search and replace. You don't want to accidentally double replace "c:\jerem" with "c:\Jeremy" or you could end up with a "c:\Jeremyy" somewhere. In fact, you might want to search for that afterward just to be sure. Also, there may be some other programs which store the paths elsewhere, such as an .INI file, .XML file or a database. Expect something to break and be prepared to hunt it down. Commented Aug 17, 2015 at 15:46
  • 6
    To keep the system in a continuously sane state, I'd recommend (as @xfx did) that you create a symlink from the new name to the old one before making changes. Right-click the Start menu and open Command Prompt (Admin). Then cd C:\Users and mklink /D newname oldname. Once you've rebooted and ensured that nothing refers to the old name, you can delete the symlink and rename the directory. Commented May 15, 2016 at 20:39
30
  1. To access the Advanced User Accounts panel type netplwiz in Search the web and Windows box next to your Windows button then click or tap on Netplwiz (Windows application).

  2. In the Advanced User Accounts panel, select the user you want to modify and click Properties

  3. In the properties window for the user, enter the new user name and click OK.

  4. Restart for the changes to take effect.

Source: http://www.opentechguides.com/how-to/article/windows-10/43/win10-change-account.html

6
  • 8
    The question is about changing the profile folder name, not the user name. Does your solution work for that? I doubt it...
    – zagrimsan
    Commented Dec 9, 2015 at 13:26
  • 2
    I was searching for ´netplwiz´, because I want only rename my username.
    – hdev
    Commented Feb 25, 2016 at 17:06
  • 5
    Your link is updated and now includes how to change the Folder name too. And this other link includes 2 methods (onr for Local Account and other for Microsot Account) to change the UserName and then change the Folder name: answers.microsoft.com/en-us/insider/forum/…
    – Troglo
    Commented May 13, 2016 at 20:42
  • 2
    This actually helped as much as the accepted answer: for some reason, Windows wouldn't let me create a local account with the name I wanted (probably because I already tried switching from my ms account to a local account so the name was still registered somewhere), but using netplwiz and the advanced user account mmc, I managed to do that with far more ease than by using the "normal" local account creation!
    – Melvyn
    Commented Jul 24, 2016 at 12:40
  • 1
    This should be the accepted answer. I tried this method while logged in with a Microsoft Account for which I wanted to change the user folder name. After changing the account name in netplwiz AND rebooting the computer, surprise, the folder also got renamed. Tried and tested in WIN10 v1809
    – Ivan
    Commented Feb 24, 2019 at 12:27
2

There is a much faster and easier way. (As usual, Windows NT got it right, but Microsoft just keeps making trivial UI tasks harder and harder as they try to cater to the fringe tablet market. Luckily the old apps are still available.)

Open the Start menu, type comp and select Computer Management, expand Local Users and Groups, right-click Users to a new local account there, then click Groups and open the Administrators group and add the new account.

Log off, log in with the new account. The account name will be used to create a new folder in Users. You can copy whatever you need from the old user folder, then delete the old user account from the same app (or that "Family" thing in Settings). Re-link to your MS account if you wish.

1
  • 2
    Unfortunately the Computer Management > Local Users and Groups option is not available in Windows 10 Home edition, only in Professional and above.
    – Salvador
    Commented Sep 5, 2018 at 11:14
2

I had the same problem and this worked. Thanks to tenforums website!

https://www.tenforums.com/tutorials/89060-change-name-user-profile-folder-windows-10-a.html

Summary:

1) in a command window: wmic useraccount get name,SID

get the SID for the user.

2) Open registry using regedit command.

search for

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\

edit local user name to new name.

3) Important: after editing the registry you must restart your computer otherwise the rename will give the same error.

4) Now you can rename the directory (folder).

6
  • 1
    Please quote the relevant content so your answer is complete.
    – Daniel B
    Commented Sep 4, 2019 at 14:40
  • @DanielB it is several pages long and has screenshots etc.
    – likejudo
    Commented Sep 4, 2019 at 15:38
  • 1
    If (more like when) the page you linked goes away, your answer is suddenly not an answer anymore. That’s of no help to anyone. If you feel like the guide is overly detailed, you can also try to shorten it.
    – Daniel B
    Commented Sep 4, 2019 at 17:34
  • These are the same instructions as an existing user.
    – Ramhound
    Commented Sep 4, 2019 at 22:59
  • @likejudo - I still believe this answer is suggesting the same solution that already was submitted minus looking up the SID of the user which I believe isn’t necessary. Any event you still have not quoted the relevant information as required by our rules. If you copy a source from another website it must be cited (which you have done) and quoted (which you have failed to do).
    – Ramhound
    Commented Sep 9, 2019 at 11:28
1

I can't comment yet... I just wanted to add that I followed the steps from traintes' solution, but if you want to avoid getting the error when restarting the pc, you can follow these steps before restarting:

  1. activate the Administrator account from command prompt (with admin rights) right clicking on the windows logo and selecting the option and typing net users Administrator /active:yes
  2. reboot the computer in Advanced Startup clicking on Start > Power > (shift +) restart
  3. Go to Troubleshoot > Advanced Options > Command Prompt
  4. Select the Administrator account
  5. Navigate to C:\Users typing c: then cd users
  6. Type rename oldname newname using your current folder name instead of oldname and the desired folder name instead of newname

exit and reboot... easy peasy...

4
  • 3
    You are restarting the computer as often as in my guide (twice). However, following your steps, you are saving a bit of time as you don't have to be logged in with a temporary profile (which takes a bit of time to create)...
    – traintes
    Commented Aug 27, 2015 at 15:48
  • Have you tested these instructions? At least in prior versions of Windows, because HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<User SID>\ProfileImagePath will still be pointing to c:\users\oldname, Windows will just assume the folder has been deleted and recreate it when you next login. You should also find that because you are logged in as oldname, ntuser.dat will be open and prevent the renaming of the directory. Finally, you should also advise people disable the administrator account as the final step; There is a reason it is disabled by default!
    – user66001
    Commented Apr 18, 2019 at 14:09
  • On step 5 there could be assigned other letter to system drive, not C. In my case it was D. So it is better to check other letters if your folders are not present on C in this troubleshooting cmd Commented Dec 31, 2020 at 4:16
  • Tried all the other methods in W10. But, as the folder was locked once Windows started, following this steps were the only solution!
    – Thremulant
    Commented Mar 1, 2022 at 18:48
1

The other answers are quite useful but I'd like to add that many many things including the ability to uninstall any programs that were locally installed will be broken until you properly migrate all your registry keys and values.

I used Registry Finder, first replacing "Users\oldusername" in keys and values, and then replacing non-binary data fields. There were some errors but it mostly worked. I tried to review what was being edited, but there are thousands of entries so I had to skim. They fortunately group up so that you can skip similar entries when reviewing.

-1

I managed to get that Windows 8 tutorial to work for myself by logging into the second admin account in safe mode (I used "Safe Mode With Networking" myself; the precise methods used to get your version of Windows 10 into Safe Mode may be different). Safe Mode prevents OneDrive from loading, among other things.

After renaming the directory, you'll need to search and replace "C:\Users\jerem" to "C:\Users\Jeremy" (in my case, it was "C:\Users\Kimiko" to "C:\Users\Muffin") in Regedit while you're logged into the secondary account, and then you'll need to do it again once you've logged back into your main account so you can get everything in HKEY_CURRENT_USER as well. This won't catch everything in files, obviously; when I rebooted after doing the second search and replace, OneDrive complained that its home directory had been deleted, among other things. Everything seemed to work after that, though.

2
  • You haven't run into the TextHarvester.dat issue?
    – GollyJer
    Commented Jun 9, 2015 at 1:20
  • 1
    I have not, but it occurred to me when I was checking just now that this might because I'm using it on a desktop machine and have never had a touchscreen attached. In which case I would guess you could go back into Safe Mode after following my instructions, and then do the DelProf2.exe /u thing. Commented Jun 9, 2015 at 15:17
-1

Extending this answer but with powershell.

$sid = (Get-LocalUser -Name «username»).sid;
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$sid" -Name profileimagepath -Value «new directory»;

Rename-Item «old directory» «new directory»;

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .