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 pathWSL 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/.


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.

  1. Open Windows Explorer
  2. Type \\wsl$ in the address bar and press Enter
  3. Navigate to your distribution — e.g. Ubuntu → home → john
  4. 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.

Previous
Install WSL on Windows