Minnesota historical topo maps
Cartahaven has 246 historical topo maps of Minnesota, all free. These are the USGS 15-minute (1:62,500) quadrangles from the mid-1900s: old roads, mines, homesteads, rail lines and place names that newer maps leave off.
Download one to your phone and the map app shows your GPS position on it with no cell signal.

Ada, MN
Old map for history, not navigation
USGS historical 15-minute topo (1924)

Aitkin, MN
Old map for history, not navigation
USGS historical 15-minute topo (1914)

Aitkin, MN
Old map for history, not navigation
USGS historical 15-minute topo (1915)

Albert Lea, MN
Old map for history, not navigation
USGS historical 15-minute topo (1954)

Angus, MN
Old map for history, not navigation
USGS historical 15-minute topo (1918)

Annandale, MN
Old map for history, not navigation
USGS historical 15-minute topo (1951)

Anoka, MN
Old map for history, not navigation
USGS historical 15-minute topo (1902)

Anoka, MN
Old map for history, not navigation
USGS historical 15-minute topo (1955)

Argyle, MN
Old map for history, not navigation
USGS historical 15-minute topo (1918)

Ashby, MN
Old map for history, not navigation
USGS historical 15-minute topo (1913)

Atwater, MN
Old map for history, not navigation
USGS historical 15-minute topo (1956)

Austin, MN
Old map for history, not navigation
USGS historical 15-minute topo (1954)

Badger, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Bagley, MN
Old map for history, not navigation
USGS historical 15-minute topo (1943)

Barnesville, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Barnesville, MN
Old map for history, not navigation
USGS historical 15-minute topo (1952)

Barnum, MN
Old map for history, not navigation
USGS historical 15-minute topo (1956)

Barrett, MN
Old map for history, not navigation
USGS historical 15-minute topo (1911)

Basswood Lake, MN
Old map for history, not navigation
USGS historical 15-minute topo (1957)

Battle Lake, MN
Old map for history, not navigation
USGS historical 15-minute topo (1912)

Battle Lake, MN
Old map for history, not navigation
USGS historical 15-minute topo (1914)

Baudette, MN
Old map for history, not navigation
USGS historical 15-minute topo (1921)

Belle Plaine, MN
Old map for history, not navigation
USGS historical 15-minute topo (1957)

Belle Prairie, MN
Old map for history, not navigation
USGS historical 15-minute topo (1948)

Belle Prairie, MN
Old map for history, not navigation
USGS historical 15-minute topo (1950)

Bellingham, MN
Old map for history, not navigation
USGS historical 15-minute topo (1953)

Beltrami, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Birchdale, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Brainerd, MN
Old map for history, not navigation
USGS historical 15-minute topo (1915)

Brainerd, MN
Old map for history, not navigation
USGS historical 15-minute topo (1918)

Bricelyn, MN
Old map for history, not navigation
USGS historical 15-minute topo (1955)

Bridgie, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Bridgie, MN
Old map for history, not navigation
USGS historical 15-minute topo (1924)

Brimson, MN
Old map for history, not navigation
USGS historical 15-minute topo (1957)

Brook Park, MN
Old map for history, not navigation
USGS historical 15-minute topo (1961)

Brownsville, MN
Old map for history, not navigation
USGS historical 15-minute topo (1956)

Brule Lake, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Bruno, MN
Old map for history, not navigation
USGS historical 15-minute topo (1962)

Buena Vista, MN
Old map for history, not navigation
USGS historical 15-minute topo (1920)

Buffalo Bay, MN
Old map for history, not navigation
USGS historical 15-minute topo (1918)

Buffalo, MN
Old map for history, not navigation
USGS historical 15-minute topo (1958)

Cambridge, MN
Old map for history, not navigation
USGS historical 15-minute topo (1961)

Campbell, MN
Old map for history, not navigation
USGS historical 15-minute topo (1951)

Canada, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)

Chatfield, MN
Old map for history, not navigation
USGS historical 15-minute topo (1954)

Chokio, MN
Old map for history, not navigation
USGS historical 15-minute topo (1910)

Chokio, MN
Old map for history, not navigation
USGS historical 15-minute topo (1912)

Churnes, MN
Old map for history, not navigation
USGS historical 15-minute topo (1919)
Every Minnesota historical topo map by name
- Ada, MN (1924)
- Aitkin, MN (1914)
- Aitkin, MN (1915)
- Albert Lea, MN (1954)
- Angus, MN (1918)
- Annandale, MN (1951)
- Anoka, MN (1902)
- Anoka, MN (1955)
- Argyle, MN (1918)
- Ashby, MN (1913)
- Atwater, MN (1956)
- Austin, MN (1954)
- Badger, MN (1919)
- Bagley, MN (1943)
- Barnesville, MN (1919)
- Barnesville, MN (1952)
- Barnum, MN (1956)
- Barrett, MN (1911)
- Basswood Lake, MN (1957)
- Battle Lake, MN (1912)
- Battle Lake, MN (1914)
- Baudette, MN (1921)
- Belle Plaine, MN (1957)
- Belle Prairie, MN (1948)
- Belle Prairie, MN (1950)
- Bellingham, MN (1953)
- Beltrami, MN (1919)
- Birchdale, MN (1919)
- Brainerd, MN (1915)
- Brainerd, MN (1918)
- Bricelyn, MN (1955)
- Bridgie, MN (1919)
- Bridgie, MN (1924)
- Brimson, MN (1957)
- Brook Park, MN (1961)
- Brownsville, MN (1956)
- Brule Lake, MN (1919)
- Bruno, MN (1962)
- Buena Vista, MN (1920)
- Buffalo Bay, MN (1918)
- Buffalo, MN (1958)
- Cambridge, MN (1961)
- Campbell, MN (1951)
- Canada, MN (1919)
- Chatfield, MN (1954)
- Chokio, MN (1910)
- Chokio, MN (1912)
- Churnes, MN (1919)
- Cloverdale, MN (1962)
- Cochrane, MN (1932)
- Cochrane, MN (1934)
- Cochrane, MN (1937)
- Cokato, MN (1958)
- Cramer, MN (1955)
- Cromwell, MN (1961)
- Crookston, MN (1953)
- Cushing, MN (1948)
- Cushing, MN (1950)
- Cuyuna, MN (1913)
- Cuyuna, MN (1915)
- Dalbo, MN (1961)
- Danbury, MN (1962)
- Dassel, MN (1958)
- Deerwood, MN (1912)
- Deerwood, MN (1914)
- Drayton, MN (1939)
- Duluth, MN (1895)
- Duluth, MN (1953)
- Elk River, MN (1961)
- Ely, MN (1933)
- Ely, MN (1939)
- Ensign Lake, MN (1957)
- F, MN (1918)
- Farmington, MN (1957)
- Fergus Falls, MN (1913)
- Finland, MN (1956)
- Flom, MN (1918)
- Florian, MN (1956)
- Forest Lake, MN (1955)
- Fosston, MN (1919)
- Fox, MN (1919)
- G, MN (1919)
- Gabbro Lake, MN (1957)
- Garland, MN (1918)
- Gaylord, MN (1958)
- Gemmell, MN (1919)
- Glencoe, MN (1958)
- Goos, MN (1918)
- Goos, MN (1943)
- Graceville, MN (1950)
- Grand Marais, MN (1919)
- Greenbush, MN (1918)
- Greenwood Lake, MN (1954)
- Grit, MN (1919)
- Hallock, MN (1941)
- Happy Land, MN (1919)
- Hastings, MN (1957)
- Hawley, MN (1919)
- Hayward, MN (1954)
- Hemmington, MN (1918)
- Hendrum, MN (1918)
- Herman, MN (1911)
- High Forest, MN (1955)
- Holyoke, MN (1962)
- Houston, MN (1958)
- Hudson, MN (1946)
- Hudson, MN (1949)
- Hutchinson, MN (1958)
- I, MN (1919)
- International Falls, MN (1919)
- Isabella, MN (1955)
- Isanti, MN (1955)
- Jelle, MN (1918)
- Juneberry, MN (1932)
- Karlstad, MN (1956)
- Kennedy, MN (1939)
- Kennedy, MN (1941)
- Knutson, MN (1919)
- La Crescent, MN (1956)
- Lake City, MN (1951)
- Lake Minnetonka, MN (1958)
- Lastrup, MN (1948)
- Lastrup, MN (1950)
- Leader, MN (1919)
- Lewiston, MN (1954)
- Lindford, MN (1943)
- Liner, MN (1919)
- Little Falls, MN (1948)
- Little Falls, MN (1950)
- Lundgren, MN (1919)
- Lutsen, MN (1919)
- M, MN (1919)
- Malcolm, MN (1918)
- Mankato East, MN (1950)
- Mankato East, MN (1951)
- Mankato West, MN (1951)
- Marcell, MN (1919)
- Margie, MN (1919)
- Markham, MN (1957)
- Max, MN (1919)
- Middle River, MN (1918)
- Minneapolis, MN (1896)
- Minneapolis, MN (1901)
- Minneapolis, MN (1954)
- Minnetonka, MN (1905)
- Minnetonka, MN (1907)
- Monticello, MN (1961)
- Moose Lake, MN (1961)
- Morgan, MN (1953)
- Morris, MN (1912)
- Morton, MN (1952)
- New Brighton, MN (1955)
- New Prague, MN (1957)
- Newfolden, MN (1957)
- Norden, MN (1919)
- Oak Island, MN (1918)
- Olivia, MN (1957)
- Ortonville, MN (1953)
- Pelan, MN (1919)
- Pelan, MN (1957)
- Pelican Rapids, MN (1914)
- Pelican Rapids, MN (1917)
- Pelland, MN (1919)
- Pembina, MN (1939)
- Pembina, MN (1941)
- Pencer, MN (1918)
- Peppermint Creek, MN (1919)
- Peppermint Creek, MN (1943)
- Perham, MN (1915)
- Pierz, MN (1948)
- Pierz, MN (1950)
- Pillager, MN (1916)
- Pillager, MN (1919)
- Pine City, MN (1961)
- Plainview, MN (1934)
- Plainview, MN (1938)
- Ponemah, MN (1919)
- Ponemah, MN (1943)
- Prior Lake, MN (1957)
- Quiring, MN (1919)
- Red Lake Falls, MN (1918)
- Red Lake Falls, MN (1952)
- Red Wing, MN (1944)
- Red Wing, MN (1952)
- Redwood Falls, MN (1952)
- Release, MN (1919)
- Release, MN (1943)
- Rochester, MN (1939)
- Rockford, MN (1909)
- Rockford, MN (1958)
- Rollis, MN (1918)
- Rollis, MN (1943)
- Roosevelt, MN (1918)
- Roosevelt, MN (1943)
- Roseau, MN (1918)
- Rosy, MN (1919)
- Rothsay, MN (1919)
- Rothsay, MN (1951)
- Rush City, MN (1955)
- Sandstone, MN (1961)
- Silver Bay, MN (1954)
- Solway, MN (1919)
- Solway, MN (1943)
- Split Rock Point, MN (1956)
- St Cloud, MN (1950)
- St Francis, MN (1916)
- St Francis, MN (1919)
- St Paul, MN (1896)
- St Paul, MN (1951)
- Stephen, MN (1954)
- Stewartville, MN (1955)
- Stillwater, MN (1948)
- Stillwater, MN (1949)
- Swanville, MN (1950)
- Terrebonne, MN (1918)
- Thief River Falls, MN (1943)
- Tofte, MN (1955)
- Trout Lake, MN (1920)
- Twin Valley, MN (1918)
- Two Harbors, MN (1957)
- Ulen, MN (1918)
- Underwood, MN (1915)
- Valley, MN (1919)
- Vergas, MN (1912)
- Vergas, MN (1915)
- Viking, MN (1918)
- Wabasha, MN (1932)
- Wabasha, MN (1951)
- Waconia, MN (1957)
- Warren, MN (1918)
- Warren, MN (1955)
- Warroad, MN (1918)
- Warroad, MN (1943)
- Wealthwood, MN (1916)
- Wells, MN (1955)
- Wendell, MN (1910)
- Wendell, MN (1913)
- Wheaton, MN (1951)
- White Bear, MN (1902)
- Whyte, MN (1953)
- Williams, MN (1918)
- Winsor, MN (1919)
- Winterroad, MN (1918)
- Winthrop, MN (1958)
- Zora, MN (1918)
- Zora, MN (1919)