# STag

> Source: https://docs.barcoder.ai/docs/standards/stag
> research date 2026-06-04 · extracted at 2026-10-06
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [STag: A Stable Fiducial Marker System (arXiv 1707.06292)](https://arxiv.org/abs/1707.06292)
- [STag: A stable fiducial marker system — Image and Vision Computing](https://www.sciencedirect.com/science/article/abs/pii/S0262885619300903)

## Overview

STag is a **square fiducial marker system** for pose estimation whose design goal is **pose stability** — minimizing the frame-to-frame jitter that imaging noise and lighting changes induce in recovered pose <sup>[1][1]</sup>. A STag marker has an outer square border plus an inner circular border; the square is used for detection and an initial homography, and the circle (which appears as an ellipse under perspective) is then used to **refine** that homography, yielding more repeatable corners and steadier pose than border-only systems like [ArUco](https://docs.barcoder.ai/docs/standards/aruco) <sup>[1][1], [2][2]</sup>. As with [AprilTag](https://docs.barcoder.ai/docs/standards/apriltag), it carries only a coded ID, not a data payload.

## History

STag was introduced by **Burak Benligiray, Cihan Topal and Cüneyt Akınlar** (Eskişehir Technical / Anadolu University, Turkey). The paper *"STag: A Stable Fiducial Marker System"* was first posted to arXiv on **19 July 2017** (arXiv:1707.06292), revised in 2019, and published in the journal **Image and Vision Computing** <sup>[1][1], [2][2]</sup>. The reference implementation has been maintained on GitHub since release <sup>[3][3]</sup>.

## Technical specification

**Marker structure.** A STag marker has two nested borders: an **outer square border** for detection and homography estimation, and an **inner circular border** for refinement <sup>[1][1]</sup>. The interior carries a binary codeword (48-bit lexicographic codes) <sup>[2][2]</sup>.

**Detection pipeline.** Edge segments are extracted with the parameter-free **EDPF (Edge Drawing)** algorithm — the dominant cost (>80% of runtime) — then linear borders are found with **EDLines** and corners taken from line intersections <sup>[2][2]</sup>. The outer quad yields an initial homography.

**Homography refinement.** The key contribution: the circular inner border projects to an ellipse, and STag optimizes the initial homography by a single conic correspondence — minimizing the deviation of the back-projected ellipse from the expected circle (center and radii) via Nelder–Mead — which markedly improves marker-center localization and pose stability at all viewing angles <sup>[1][1], [2][2]</sup>.

**Marker library.** Lexicographic libraries of 48-bit codewords are built in Hamming-distance groups: **HD11 = 22,309 markers**, **HD15 = 766 markers**, **HD23 = 6 markers**, trading library size against error-correction strength <sup>[2][2]</sup>.

**Reported robustness.** On an indoor dataset, STag HD11 produced **7 false positives from 57,893 candidates** versus ArUco 7×7's **2,349 from 317,741**; STag detected reliably to ~80° viewing angle with only ~4 failures per 1000 frames at extreme angles (vs ArUco's hundreds), and showed substantially lower rotation jitter; per-frame processing was ~**18 ms** (vs ArUco ~10 ms, RUNE-Tag ~580 ms) <sup>[2][2]</sup>.

## Use cases

- **Robotics and SLAM** where steady, low-jitter pose is critical <sup>[1][1]</sup>.
- **Augmented reality** registration with reduced visible wobble <sup>[1][1]</sup>.
- **Robot localization** — later work (e.g. an "Enhanced STag" study) applies it to flexible robot localization <sup>[2][2]</sup>.

## Implementations

- **`bbenligiray/stag`** — C; the official reference detector from the paper authors, including the marker library generators (~223 stars, last active 2023) <sup>[3][3]</sup>. Ports/wrappers (Python, ROS) exist in the wider community.

## Comparison

Versus [ArUco](https://docs.barcoder.ai/docs/standards/aruco): STag's inner-circle homography refinement gives markedly **lower pose jitter and higher angular tolerance** — in the authors' tests far fewer false positives and detection failures than ArUco at steep angles — at a modest speed cost (~18 ms vs ~10 ms) <sup>[2][2]</sup>. Versus [AprilTag](https://docs.barcoder.ai/docs/standards/apriltag): both are coded square fiducials with strong error correction; STag's distinguishing feature is the explicit stability/refinement step rather than raw detection speed. Versus RUNE-Tag (a ring-of-dots fiducial), STag is ~30× faster while remaining stable <sup>[2][2]</sup>. STag's largest library (HD11, 22,309 IDs) sits between AprilTag's mid families and the very large ID spaces of [TopoTag](https://docs.barcoder.ai/docs/standards/topotag).

## Status

**Active research-grade open source.** The reference C implementation is maintained on GitHub and continues to be used and extended in robotics literature as of the mid-2020s <sup>[3][3]</sup>.

## Sources

[1]: https://arxiv.org/abs/1707.06292
[2]: https://ar5iv.labs.arxiv.org/html/1707.06292
[3]: https://github.com/bbenligiray/stag

1. [STag: A Stable Fiducial Marker System (abstract)][1] — Benligiray, Topal & Akınlar, arXiv, 2017
2. [STag: A Stable Fiducial Marker System (full text)][2] — ar5iv / Image and Vision Computing, 2019
3. [bbenligiray/stag][3] — GitHub, accessed 2026

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal
