|Length:||99 mi (159 km)|
|East end:||Invergarry (NH307011)|
| A82 road (NH307011)
A887 road (NH211100)
A890 road (NG842273)
A851 road (NG664227)
A863 road (NG486298)
A855 road (NG478436)
A855 road (NG397641)
A850 road (NG443481)
|West end:||Uig, Skye (NG385635)|
|Invergarry, Kyle of Lochalsh, Skye Bridge, Portree, Uig|
It runs west from its junction with the A82 road at Invergarry (NH307011), along the north shores of Loch Garry and Loch Cluanie, then down through Glen Shiel and along Loch Duich to Kyle of Lochalsh before crossing the Skye Bridge to Kyleakin, Broadford, and Portree, before terminating at Uig on the west coast of the Isle of Skye.
Its total length is 99 miles; it is a primary route for all of its length.
Northwest - Southeast
The route of the A87 has changed significantly over the years. Until the 1960s, the road ran along Glen Garry as far as Tomdoun, before heading north over the hills to Glen Loyne, where it crossed Loch Loyne with two bridges. It then headed north west to the Cluanie Inn, where it joined the A887. Loch Loyne was dammed as part of a hydro-electric scheme, which put part of this road underwater. A new road was built further to the east, around Loch Loyne, joining with the A887 at Bun Loyne. The remains of the bridges on Loch Loyne are visible when the level of water in the loch is low.
The A87 route used to involve a short ferry crossing over Loch Long at Dornie, but this has since been replaced with a bridge. Nearby, the A87 used to run through the village of Morvich, around an inlet at the end Loch Duich. This has now been bypassed with a causeway and bridge.
In 1995 the Skye Bridge replaced the ferry between Kyle of Localsh on the mainland and Kyleakin on the Isle of Skye. Tolls were met with considerable opposition, until removed in December 2004.