Today's A9 is very different from the route described in the 1922 Road Lists, not least because that route stopped at Inverness! Almost all of the road north of Dunblane has been reconstructed, and from Dunblane to the Dornoch Firth most of this is on a new alignment.
Section 1: Edinburgh - Perth
The draft route of the A9 started in Edinburgh at the west end of Princes Street where it meets Queensferry Street. It then followed what became the A90 to Perth. Following an objection to the fact that the route involved a ferry (since the Forth Road Bridge would not appear for another 40 years), the decision was taken on 27th April 1922 to route the A9 to Perth via Stirling, which in 1922 had the furthest downstream bridge over the River Forth. An alternative suggestion to assign the A9 from Glasgow to Perth (using the A80 as far as Stirling) was rejected, in order to keep all single digit A roads centred around London or Edinburgh.
So, the A9 originally started at the Costorphine junction on the A8 in western Edinburgh, following Craigs Road out of town. Later a diversion was built, staring on the A8 at the Maybury Roundabout, and following the Turnhouse Road to meet Craigs Road. Turnhouse Road now ends at the cargo terminal of Edinburgh Airport - the runway has completely obliterated the next section of the old A9, which re-emerges at Boathouse Bridge, over the River Almond. Still unclassified, this runs to Kirkliston, where it at last becomes a classified road, the B9080, which goes through Winchburgh to Linlithgow. In Linlithgow the route of the old A9 finally acquires A road status, albeit as the (non-primary) A803, which continues to junction 4 of the M9, and on to Polmont and Falkirk.
After passing through Falkirk, still sticking with the A803, the A9's modern and historic routes now meet at the Forth and Clyde Canal. Here, the modern road maintains its historic route through to Stirling, where it has been dualled. As we reach the northern end of the M9, we find that Dunblane is now bypassed, the orginal route (dualled before the bypass was built) is now the B8033.
The A9 then continues in a north-easterly direction towards Perth through Strathallan following an Old Military Road. At Greenloaning the Military Road heads north along the A822, but our course continues a further 6 miles eastwards to the world famous Gleneagles Hotel and Golf Course.
The new road is Dualled from the end of the M9 to Perth and beyond, which means that some sections bypass the old route. The B8081 passes through Blackford on the old road, and the A824 has been extended through Auchterarder.
Section 2: Perth - Inverness
In Perth, the A9 originally ran into the city centre on what is now a western extension of the A93. The inner ring road's Caledonian Road section has now obliterated part of the former A9, which left the centre on Barrack Street, now the A85. After a brief Multiplex, the A912 picks up the old A9 route as far as the bypass on the city's northern edge. After a short on-line upgrade alongside the railway line, the B9099 follows the old route through Luncarty, followed by an unclassified link under the railway once more.
As we continue north towards Dunkeld and Pitlochry, the modern road is now just S2, but still largely new build, and rarely on the old alignment. In several places, the old road is no more than an access road alongside, if not removed completely, but at Bankfoot the B867 is the old road towards Dunkeld. In Dunkeld itself, the old A9 used Dunkeld Bridge to cross the River Tay on the A923, before turning left at the top of the town to follow a now unclassified route to Dowally. The new road past this section uses some of the route of the now truncated B893.
Just before Pitlochry, the road has now been dualled, with a new GSJ for the A827. The original route of the A9 ran through Pitlochry town centre along the current A924, and then the B8079 picks up the old route for several miles as far as Calvine.
There is now a very long section north through the Pass of Drummochter and Glen Truim, before we find another junction. The whole of this stretch has been rebuilt either on-line, or with the old road relegated to private access roads. Finally, we reach the A889, which is the old A9 into Dalwhinnie, before an unclassified route returns us to the modern road at Etteridge. Continuing north, we soon find the B9150, which follows the old A9 into Newtonmore, where a TOTSO with the A86 shows the old priority of the A9 route. The A86 returns us to the A9 beyond Kingussie, but the old road then becomes the B9152 all the way through Aviemore to the A95. Another TOTSO here and a couple of miles along the upgraded A95 road brings us to the B9153 which follows the old A9 to Carrbridge.
In Carrbridge the old road takes the extended A938 number back to the A9 near Slochd Summit, where the new road is built over the narrow old road. As we continue ever northwards, the old sections of the A9 are again no more than unclassified access roads running parallel to the modern road, which has been dualled at Tomatin. Then, the new road takes a completely new route down into Strathnairn, with the B9154 following the old road. The two meet at the former switchback over the River Nairn. This whole section, all the way to Inverness is now dualled.
Section 3: Inverness - Scrabster
As we approach Inverness, a roundabout junction is found where the B9177 again takes up the old A9 route to Cradlehall, where the extended B9006 takes over. This road is conveniently still known as the 'Old Perth Road'! The road through the city is easy enough to trace, Following the B865 (former junction with the A96) along Milburn Road, Eastgate and so the High Street to cross the River Ness and meet the A82. North of Inverness, the road was originally the A88, but the A9 was extended in the 1930's. This extension followed what is now the A82 along Kenneth Street, to pick up the A862 at Telford Street Roundabout. The A862 now follows the old A9 route faithfully around the head of the Beauly and Cromarty Firths to Ardullie, north of Dingwall where the modern A9 rejoins the old route.
There is some debate as to why the original A9 took the circuitous route around through Tain, rather than crossing the hills on the B9176 (former A836. The most probable answer is that Tain is an ancient royal Burgh, and needed a major road, with the hill road also being a little hard work for commerical vehicles in days gone by!
Passing Alness and Invergordon, the new road swapped numbers with the B817 when it was upgraded, leaving the B road to take the original route. Significant upgrade works continue on the new road until we reach Tain where the B9174 follows the old route through the town. The final major realignment then comes at the Dornoch Firth, where a new bridge crosses just to the east of the old ferry, while the old road winds around the head of the firth on the A836 and A949.
It is then a long drive north to Latheron on a substantially upgraded road, which nevertheless sticks resolutely to its original course. Perhaps it is the relative lack of traffic that has prevented Golspie or Brora from being bypassed, perhaps simply there is no real need to do so. North of Helmsdale, a lot of work has recently been carried out on the difficult hills and bends as we pass into historic Caithness
At Latheron, the A9, when first extended beyond Inverness, continued North east along the coast to John O'Groats, passing through Wick on what is now the A99. It was rerouted in 1996, to terminate at the slightly more appropriate point of the Scrabster Ferry terminal just north of Thurso.