NCN Millennium Mileposts

I’ve been living in Edinburgh for a number of years now, but only recently discovered the National Cycle Network’s Millennium Mileposts.

Some background first – Sustrans, a charity organisation for sustainable transportation, started in 1975 as a volunteer organisation to create and improve cycle routes all across the United Kingdom. This resulted in what is now called the National Cycle Network. To celebrate the 20th anniversary, in 1995 they commissioned artists from the four countries in the UK to design and cast four iron mileposts. Each mileposts is nicknamed after the artists.

An illustration of the 4 National Cycle Network mileposts. From left to right, Mills, Rowe, McColl, and Dudgeon.

There’s a Wikipedia article which has a tiny bit more information on this. But it appears knowledge on this topic is scattered around the web. Not surprising, considering this happened in the 90s.

These mileposts are incredible easy to cycle past without noticing, but any cyclist in the United Kingdom will have almost certainly come across one at some point.

I only recently discovered these mileposts because the one I noticed was painted with a rather striking blue colour. This Mills milepost sits in Colinton, just to the west of Spylaw Park.

The mills milepost in Colinton. The milepost says "National Cycle Network 75", with the left side labelled "4 Miles City Centre", the right "55 Miles Glasgow". Additional text on the milepost describes the millennium milepost project.

Mileposts in the United Kingdom

According to the plaques on these mileposts, there are 1000 of them in the UK. However, this figure probably isn’t true anymore. An ad-hoc register of all the mileposts in the UK can be found on the OpenStreetMap Wiki, but this list is growing more outdated over time, as mileposts are being removed or relocated. It appears even Sustrans themselves don’t know for sure where all the mileposts are located anymore. According to the Wiki, there are roughly 950 mileposts in total.

The only public dataset of all the mileposts appears to be in OpenStreetMap. As of April 2019, 524 mileposts have been recorded, so it’s more than half complete. (Update: 839 mileposts as of February 2021). The map might be quite sparse in some areas, as this is all crowdsourced. I plotted this dataset in the map below.

Millennium Milepost data: © OpenStreetMap contributors (Overpass query); Coastline and lake data:; Rendered using Map-engraver (source code);

Mills and Rowe mileposts seem to be the most common. McColl shows up in some cities, but otherwise quite difficult to find. Dudgeon is the rarest of all, with only 3 in the whole of Scotland.

Mileposts in Edinburgh

In total, Edinburgh has a total of 15 mileposts, with another 3 close-by in Queensferry.

Below is a collage of 12 of mileposts that i’ve found so far. A few of these seem to have recently been painted over, so some people seem to be actively involved in maintaining these mileposts!

A collage of 12 mileposts

Disappointingly, to find the nearest Dudgeon type milepost, I need to go all the way to Coatbridge or Caldercruix, which would be a 100km ride for me. Maybe someday when I can be bothered…

Updating OpenStreetMap

Fortunately, most of the mileposts in Edinburgh appear to be correctly added in OpenStreetMap. But there were two mileposts which had a few issues.

The milepost in Colinton (the one pictured at the very beginning) has been moved 100 metres away from its original location. So that was an easy fix to add to OpenStreetMap.

According to OpenStreetMap there also should be a milepost hidden somewhere in Waverley Station. I tried having a look for 15 minutes, but couldn’t find it. I would’ve snooped around a bit more, but acting suspicious near a train station isn’t a brilliant idea. It might be located near a bike stand, however it is also possible that it’s lying around in some storage facility after some recent renovations. It was last seen January 2016.

I’ve created a python script to list inconsistencies between OpenStreetMap data, and data on the OpenStreetMap Wiki. There are a few obvious errors, which I intend to fix later. Update: I’ve gone one step further and created a website that shows all the results!

A hidden challenge

Every milepost also contains a curious disk with a series of symbols. Below is a small sample of the disks found on the mileposts I discovered.

A collage of 6 Time Trail Disks on different mileposts. Some of the symbols are arranged in a triangular shape, others in a pentagon.

These are all part of something called the Millennium Time Trails, and there’s even a whole website called Secrets of the MTT that provides some documentation.

It’s essentially a massive puzzle, which requires some code-breaking skills that go way over my head. The symbols on these disks aren’t the puzzle. The challenging part is trying to determine the order and orientation of the symbols. According to the website, to complete the puzzle I need to collect 50 different disks. And they all have to be unique.

The Wikipedia article on the National Cycle Network spoils the puzzle anyway, but maybe I can figure the puzzle out for myself in the future.


Hunting down the mileposts has been fun and interesting, and hope to continue if ever there’s an opportunity. I’m still amazed I’ve never noticed these before, since I’ve regularly cycled and walked past some of these mileposts. I’ve just never thought to stop and read. As the saying goes, “Always Read the Plaque”.

Update 2019-06-23: A new McColl milepost has appeared on George IV Bridge, next to the National Museum of Scotland! It has been added to OpenStreetMap.

Update 2021-02-27: A lot has changed since 2019. Sustrans has released a KML file which appears to be data from February 2020 which contains some information where the rest of mileposts might be located. Someone has kindly mapped this on umap for those interested in viewing it in a browser. Presumably because of this file, this has increased the number of mapped mileposts from 500 to 800. It’s not clear whether these mileposts have been surveyed, but it doesn’t look like they were imported into OSM.

I’ve updated the map and stats on this page to reflect this update. I’ve also created a website that can help with the validation of data in OSM.