# SGQR

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

Specifications:
- [Singapore Quick Response Code (SGQR) — MAS](https://www.mas.gov.sg/development/e-payments/sgqr)
- [Annex A — Fact sheet on SGQR (MAS/IMDA, 2018)](https://www.imda.gov.sg/-/media/imda/files/about/media-releases/2018/annex-a--singapore-quick-response-code-sgqr.pdf)
- [EMV QR Code Specifications — EMVCo (Merchant-Presented Mode, July 2017)](https://www.emvco.com/emv-technologies/qr-codes/)

## Overview

SGQR is Singapore's national unified payment QR code — **the world's first to combine multiple e-payment schemes into a single QR label** <sup>[1][1], [2][2]</sup>. A merchant displays one SGQR sticker; the customer's app — whatever scheme it supports — finds its own routing information inside the same QR and processes the payment. The taskforce was formed in **August 2017** by the Payments Council, co-led by the Monetary Authority of Singapore (MAS) and the Infocomm Media Development Authority (IMDA), and SGQR launched in **September 2018** <sup>[1][1], [3][3]</sup>. The technical foundation is the EMVCo "QR Code Specification for Payment System — Merchant-Presented Mode" issued by EMVCo in July 2017, with Singapore-specific extensions <sup>[1][1]</sup>.

In November 2024 an enhanced [SGQR+](https://docs.barcoder.ai/docs/standards/sgqr-plus) variant launched, expanding to **24+ participating schemes** including cross-border ones like DuitNow (Malaysia) and PromptPay (Thailand) <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [4][4]</sup>.

## History

The Singapore Payments Council convened the **SGQR taskforce in August 2017**, with participation from MAS, IMDA, payment schemes, issuers, acquirers, banks and government agencies <sup>[1][1]</sup>. The taskforce was chartered to solve a specific consumer-experience problem: by 2017 Singapore merchants commonly displayed 3–5 separate QR stickers (one per scheme — DBS PayLah!, NETS, GrabPay, Alipay, etc.), creating clutter and forcing consumers to manually check which scheme their app supported <sup>[1][1]</sup>.

SGQR launched in **September 2018** and rolled out across Singapore over the following six months <sup>[1][1]</sup>. The launch was promoted as a world first — no other country had previously deployed a single QR carrying multiple-scheme routing data <sup>[2][2]</sup>.

The system has been extended since:
- **2024 (November)**: [SGQR+](https://docs.barcoder.ai/docs/standards/sgqr-plus) launched, expanding to 35,000+ acceptance points and 24+ schemes, with cross-border QR connectivity to Malaysia, Thailand, Indonesia, China and India <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [4][4]</sup>.
- Ongoing additions of cross-border partners (PayNow↔UPI link with India was operational at launch of SGQR+) <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

## Technical specification

SGQR adopts **EMVCo "QR Code Specification for Payment System — Merchant-Presented Mode" (July 2017)** with Singapore-specific customisations <sup>[1][1], [5][5]</sup>.

**EMVCo MPM foundation** <sup>[5][5]</sup>:
- Payload format: **TLV (Tag-Length-Value)** plain-text string
- Integrity: CRC-16/CCITT-FALSE appended as final field
- Each "merchant account information" template (tags 02–51) describes one payment scheme's routing data; multiple templates coexist in one QR for SGQR's multi-scheme purpose

**Singapore-specific customisations** documented in the MAS/IMDA fact sheet <sup>[1][1]</sup>:
- **Default positions** for Singapore-relevant fields within the EMVCo TLV layout
- **Guidance on EMV-specific fields** beyond what the global spec requires
- **Ordering of merchant-account-information templates** for code efficiency — the most common Singapore schemes appear earliest
- A standardised **SGQR label design** with the schemes' icons surrounding the central QR, so a consumer sees at a glance which apps will work

**Currency / country**: SGD (`702`) and `SG` are the default values <sup>[5][5]</sup>.

## Use cases

SGQR is the **point-of-sale QR standard for Singapore**. Essentially every merchant accepting QR payments uses it:

- **Retail point of sale** — small merchants (hawker centres, market stalls, taxis, neighbourhood shops) display a printed SGQR label and accept any of the participating schemes <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.
- **F&B and hawker centres** — government promoted SGQR aggressively in hawker centres as part of the cashless-society push; a 0.5 % transaction-fee subsidy ran through December 2024 to drive merchant adoption <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.
- **E-commerce** — dynamic SGQR generated server-side per cart, displayed on the checkout page.
- **Bill payments** — utilities, government fees, school fees.
- **Cross-border tourism** — via [SGQR+](https://docs.barcoder.ai/docs/standards/sgqr-plus), inbound tourists from Malaysia, Thailand, Indonesia, China, India can scan SGQR with their home banking apps and pay seamlessly <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.
- **PayNow QR overlay** — every SGQR also carries a PayNow merchant identifier where applicable, so a customer with a Singapore bank account can pay via instant interbank transfer <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

## Implementations

The SGQR scheme is operationally closed — merchants get SGQR labels through their acquirers (NETS, banks) rather than self-generating — so the open-source library ecosystem is thinner than for, say, Pix or EPC QR.

**Encoder / decoder:**
- **Java** — [hisenyuan/EMVCo-SGQR-encode-decode-crc][6] — 17★, last commit 2024. Encodes and decodes SGQR / EMVCo MPM payloads, including the CRC calculation. Supports parsing Singapore merchant-account-information templates for Alipay, WeChat Pay, UnionPay <sup>[6][6]</sup>. The repository ships actual sample SGQR data extracted from production Singapore merchants for testing.

**General EMVCo MPM libraries** that can read SGQR (since SGQR is EMVCo MPM with Singapore-specific tag values, any compliant decoder works):
- Most national QR library implementations (e.g. [thalesog/pix-utils][pix-utils], dtinth/promptpay-qr) can be adapted with minor tag-handling changes [[pix-utils]].

**Bank apps** — the dominant production "implementation" is via Singapore bank apps: **DBS PayLah!**, OCBC Digital, UOB TMRW, NETS app, GrabPay. These scan SGQR natively and route through the appropriate scheme based on the user's selection <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

**Hosted services:** NETS issues SGQR labels via its merchant-onboarding workflow <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

## Comparison

**vs. [DuitNow QR](https://docs.barcoder.ai/docs/standards/duitnow-qr) (Malaysia) and [PromptPay QR](https://docs.barcoder.ai/docs/standards/promptpay-qr) (Thailand)** — All three share the same EMVCo MPM technical foundation (the spec EMVCo issued in July 2017), launched within a 12–18 month window, and are operated by their respective central-bank-affiliated payment infrastructure. The differences are in *which schemes share the QR*: SGQR is unusually broad with 24+ schemes including international card networks; DuitNow is mostly Malaysian banks + e-wallets; PromptPay is bank-only <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [Malaysia report](https://docs.barcoder.ai/docs/payments/MY), [Thailand report](https://docs.barcoder.ai/docs/payments/TH)</sup>. Cross-border interoperability between them was achieved via direct bilateral integrations announced in 2023–2024 <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

**vs. [Bharat QR](https://docs.barcoder.ai/docs/standards/bharat-qr) (India)** — Bharat QR also uses EMVCo, but India runs a separate dominant UPI QR rail (a `upi://pay?...` deep link, not EMVCo). SGQR has no equivalent fragmentation: every SG payment QR is SGQR-compliant by mandate <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

**vs. earlier per-scheme QRs (e.g. NETS QR, separate Alipay QR, separate WeChat QR)** — Pre-2018 a Singapore merchant had to display one sticker per scheme they wanted to accept (often 3–6 stickers). SGQR collapses these into one. This is the actual product-market problem SGQR was built to solve <sup>[1][1]</sup>.

## Fun facts

SGQR was **the world's first unified multi-scheme payment QR code** <sup>[2][2]</sup>. The taskforce explicitly studied earlier national QR rollouts — Thailand's PromptPay (launched 2016, single-scheme) and India's Bharat QR (launched September 2016, multi-card-network but not e-wallets) — and concluded none had solved the merchant-clutter problem the way Singapore wanted to <sup>[1][1]</sup>.

The SGQR design was so successful that **EMVCo cited it as a reference implementation** when promoting its MPM specification for adoption by other national rollouts that followed (DuitNow 2019, QRIS 2019, ASEAN cross-border 2022) <sup>[2][2]</sup>. The Bank for International Settlements' **Project Nexus** initiative for multilateral cross-border QR connectivity counts SGQR's bilateral-link approach as part of its foundational design <sup>[Malaysia report](https://docs.barcoder.ai/docs/payments/MY)</sup>.

By 2024 only **13 % of point-of-sale transactions in Singapore involved cash**, with projections of 8 % by 2030 <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup> — a transition that SGQR's universal acceptance directly enabled.

## Status

**Active and expanding.** SGQR remains the canonical merchant QR standard in Singapore. The November 2024 [SGQR+](https://docs.barcoder.ai/docs/standards/sgqr-plus) expansion added 24+ schemes and 35,000+ enhanced acceptance points, signalling ongoing investment rather than maintenance mode <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG), [4][4]</sup>. **Sectoral expansion in May 2025**: SGQR reached **27 public hospitals and polyclinics**, extending beyond hawker centres and retail into the healthcare-payment surface <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>. **Broader NETS SGQR acceptance** has reached **~40,000 outlets** as the overlap between base SGQR and SGQR+ continues to grow. Cross-border QR connectivity now spans Malaysia (DuitNow), Thailand (PromptPay), Indonesia (QRIS), China (Alipay, WeChat), and India (via the PayNow↔UPI link) <sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>.

The 2018-era specification (v1.x) remains the technical baseline; the SGQR+ rollout extends scheme participation rather than changing the underlying TLV format. No deprecation planned; Singapore's MAS continues to position SGQR as a model for other countries' unified-QR efforts <sup>[2][2]</sup>.

## Sources

[1]: https://www.imda.gov.sg/-/media/imda/files/about/media-releases/2018/annex-a--singapore-quick-response-code-sgqr.pdf
[2]: https://www.fintechfutures.com/paytech/singapore-unveils-world-s-first-unified-payment-qr-code
[3]: https://www.mas.gov.sg/news/media-releases/2017/payments-council-endorses-singapore-quick-response-code-specifications-for-electronic-payments
[4]: https://www.theedgesingapore.com/news/singapore-fintech-festival-2024/updated-version-singapores-unified-qr-code-sgqr-launched-nets
[5]: https://www.emvco.com/emv-technologies/qr-codes/
[6]: https://github.com/hisenyuan/EMVCo-SGQR-encode-decode-crc
[pix-utils]: https://github.com/thalesog/pix-utils
[sg-cro]: https://docs.barcoder.ai/docs/payments/SG
[my-cro]: https://docs.barcoder.ai/docs/payments/MY
[th-cro]: https://docs.barcoder.ai/docs/payments/TH

1. [SGQR fact sheet — MAS/IMDA, 2018][1]
2. [Singapore unveils world's first unified payment QR code — FintechFutures][2]
3. [Payments Council endorses SGQR specifications — MAS, 2017][3]
4. [SGQR+ launch — The Edge Singapore, 2024][4]
5. [EMV QR Code Specifications — EMVCo][5]
6. [hisenyuan/EMVCo-SGQR-encode-decode-crc — GitHub][6]
7. [thalesog/pix-utils][pix-utils] — adaptable EMVCo MPM library
8. [SG-singapore.md]<sup>[Singapore report](https://docs.barcoder.ai/docs/payments/SG)</sup>
9. [MY-malaysia.md]<sup>[Malaysia report](https://docs.barcoder.ai/docs/payments/MY)</sup>
10. [TH-thailand.md]<sup>[Thailand report](https://docs.barcoder.ai/docs/payments/TH)</sup>

## Deployments

Found in the following country reports (grep across `reports/countries/`):

- **KE** — [KE-kenya.md](https://docs.barcoder.ai/docs/payments/KE)
- **MM** — [MM-myanmar.md](https://docs.barcoder.ai/docs/payments/MM)
- **MY** — [MY-malaysia.md](https://docs.barcoder.ai/docs/payments/MY)
- **SG** — [SG-singapore.md](https://docs.barcoder.ai/docs/payments/SG)
