Standards/shotcode
ShotCode
Overview
ShotCode is an obsolete circular ("bullseye") visual code designed in the early-to-mid 2000s for reading with ordinary mobile-phone cameras. Unlike matrix barcodes, it does not encode arbitrary data: it carries only a short lookup number that an app resolves against a server to obtain a URL [1]. It is notable as one of the first commercial attempts to turn a camera phone into a "physical hyperlink" reader, predating the mass adoption of QR codes in the West.
History
ShotCode traces to research at the University of Cambridge that began in 1999 into a low-cost, vision-based method for tracking locations, which produced a system called TRIPCode. This was adapted into a circular barcode named SpotCode intended for camera-phone reading [1]. High Energy Magic Ltd was founded in 2003 to commercialise research from the University of Cambridge Computer Laboratory and Laboratory for Communications Engineering [1][2]. In 2005, High Energy Magic sold the SpotCode intellectual property to OP3, after which the technology was renamed ShotCode [1].
Technical specification
A ShotCode is a "dartboard"-like circle with a bullseye at the centre surrounded by data circles. The decoder reads each data bit by measuring the angle and distance of each point relative to the central bullseye [1]. The circular geometry lets the reader recover the code's orientation and perspective from a single image taken by an unmodified camera.
Crucially, ShotCode does not store regular data the way a matrix barcode does. It encodes a lookup number of only 40 bits. That number must be resolved by a server holding the mapped URL, which the reading device then fetches [1]. The reading client (ShotReader) was lightweight, around 17 kB, and prompted the phone browser to open the resolved address [1].
Use cases
ShotCode targeted mobile "tagging": printing a code in an advertisement, on packaging, or on a poster so that a phone user could photograph it and be taken to a campaign web page. Heineken is cited as the first company to officially use the technology [1].
Implementations
ShotCode depended on a dedicated reader app and a back-end resolution server. No official ShotCode reader exists for modern Android or iOS smartphones, reflecting the technology's decline [1]. The format and its resolver infrastructure are defunct.
Comparison
ShotCode's defining weakness versus QR Code and Data Matrix is that it is an indirect code: its 40-bit payload is merely a key that requires a live resolution server, so a code is useless once the operator's servers go away. QR and Data Matrix encode the payload (including full URLs) directly in the symbol, making them self-contained and resolver-independent. ShotCode also relied on a proprietary reader and back end controlled by a single vendor, whereas QR became an open, royalty-free ISO standard with countless free readers. As camera phones and open QR tooling proliferated in the late 2000s, ShotCode lost its niche [1].
Fun facts
The circular bullseye geometry made ShotCode visually distinctive among the square matrix codes of its era, more like a target than a grid [1]. Its lineage runs through three names — TRIPCode (research), SpotCode (commercial), and finally ShotCode after the 2005 OP3 acquisition [1].
Status
Defunct / historic. ShotCode is no longer maintained, has no current reader for modern smartphones, and its server-side lookup model made surviving codes non-functional once the infrastructure was retired [1].
Sources
1 ShotCode — Wikipedia — Wikipedia, accessed 2026. 2 The history of ShotCode by High Energy Magic Ltd — free-barcode.com.
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal