Introduction
Copy Files from Windows to WSL
WSL can see all of your Windows drives. That means you can copy any file — a zip, a project folder, an installer — from Windows into your Linux home directory without leaving the terminal.
How Windows drives are mapped in WSL
When WSL is running, Windows drives are automatically mounted under /mnt/. The mapping is straightforward:
| Windows path | WSL path |
|---|---|
C:\ | /mnt/c/ |
C:\Users\johnw\ | /mnt/c/Users/johnw/ |
C:\Users\johnw\Downloads\ | /mnt/c/Users/johnw/Downloads/ |
So to reach your Windows Downloads folder from inside WSL, the path is always /mnt/c/Users/<your-windows-username>/Downloads/.
Method 1 — Copy with cp (recommended)
Open your WSL terminal and use the cp command to copy a file into your Linux home directory (~).
Copy a single file
cp /mnt/c/Users/johnw/Downloads/project.zip ~
This copies project.zip from your Windows Downloads folder into /home/john/.
Copy a folder
Add the -r flag (recursive) to copy an entire folder and everything inside it:
cp -r /mnt/c/Users/johnw/Downloads/my-project ~/
Copy and rename at the same time
You can give the destination a different name by specifying it at the end:
cp /mnt/c/Users/johnw/Downloads/project.zip ~/my-app.zip
Method 2 — Move with mv
If you want to move the file (remove it from Downloads after copying), use mv instead:
mv /mnt/c/Users/johnw/Downloads/project.zip ~
mv permanently removes the source
Unlike cp, mv deletes the original file from Windows. Make sure you actually want to move it before running this command.
Method 3 — Drag and drop via Windows Explorer
You can also use the Windows file explorer to move files into your WSL home folder with your mouse.
- Open Windows Explorer
- Type
\\wsl$in the address bar and press Enter - Navigate to your distribution — e.g. Ubuntu → home → john
- Drag files from your Downloads folder and drop them here
This is useful for moving multiple files at once without typing paths.
Practical example — unzip a downloaded archive
A common workflow: you download a .zip file on Windows and want to extract it inside WSL.
# 1. Copy the zip from Downloads into your home directory
cp /mnt/c/Users/johnw/Downloads/project.zip ~
# 2. Move into your home directory
cd ~
# 3. Unzip it
unzip project.zip
# 4. Enter the extracted folder
cd project
If unzip is not installed, install it first:
sudo apt install unzip -y
Tip — find your Windows username
Not sure what your Windows username is? Run this from inside WSL:
ls /mnt/c/Users/
Your Windows username will appear in the list.
Next steps
Now that you can move files between Windows and WSL, continue with Setup your environment to install Node.js, Git, and your code editor inside WSL.