Your whole city's map in 20MB, working with zero signal
Cut your town out of a free world map into one small file, then browse it down to street level with the internet switched off. Central London comes to 20MB, small enough for a USB stick. No account, nothing to install.
- A double-click launcher for a grab-bag USB stick, and an offline map on your phone
- A Windows PC (Mac and Linux commands are given alongside). Nothing gets installed, so you don't need admin rights
- About 180MB of free space for a city the size of central London, tools included (140MB once you delete the zips)
- An internet connection for the downloads only. After that, none
- Never used PowerShell? Do the terminal survival kit first
Get the pmtiles tool
pmtiles cuts your area out of a world map without downloading the whole world.
Protomaps publishes a free map of the whole world, built from OpenStreetMap and updated every day, as one huge file. You never download that. The pmtiles tool reaches into it over the internet and copies out just the box you ask for, into one small file of your own.
It's a single program in a zip, so nothing gets installed. Open PowerShell and paste:
Windows (PowerShell)mkdir $HOME\mymap; cd $HOME\mymap curl.exe -L -o pmtiles.zip https://github.com/protomaps/go-pmtiles/releases/download/v1.31.2/go-pmtiles_1.31.2_Windows_x86_64.zip Expand-Archive pmtiles.zip -DestinationPath pmtiles .\pmtiles\pmtiles.exe versionOutputpmtiles 1.31.2, commit a3e4951ea6a0477b784c27c1dcbfd9c130878c5a, built at 2026-07-22T18:59:03ZThe zip is 18MB. The program inside is 59MB.
Mac (Apple silicon; on an Intel Mac use Darwin_x86_64)mkdir -p ~/mymap && cd ~/mymap curl -L -o pmtiles.zip https://github.com/protomaps/go-pmtiles/releases/download/v1.31.2/go-pmtiles-1.31.2_Darwin_arm64.zip unzip pmtiles.zip -d pmtiles ./pmtiles/pmtiles versionLinux (x86_64)mkdir -p ~/mymap && cd ~/mymap curl -L -o pmtiles.tar.gz https://github.com/protomaps/go-pmtiles/releases/download/v1.31.2/go-pmtiles_1.31.2_Linux_x86_64.tar.gz mkdir pmtiles && tar -xzf pmtiles.tar.gz -C pmtiles ./pmtiles/pmtiles versionTipOn a Mac or Linux, swap.\pmtiles\pmtiles.exefor./pmtiles/pmtilesin every later command; the options are the same. Other builds are on the releases page ↗.
version command prints pmtiles 1.31.2.If it breaksExpand-Archive says 'Failed to create file ... already exists'
Expand-Archive says 'Failed to create file ... already exists'
-Force to the end of the line.