Inkhmer LogoInKhmerBuilding the digital future
  • About
  • Projects
  • Blog
  • Tools
  • Learn
  • Contact
KMខ្មែរENEnglish

InKhmer.com — a personal Khmer Digital Hub curated by our team. Tools, Cambodia resources, Khmer culture, and digital projects. Practical, approachable, and built for everyone.

Social

FacebookTelegram

Quick Links

  • About
  • Projects
  • Blog
  • Tools
  • Learn
  • Contact

Explore

  • What We Build
  • How We Build
  • Roadmap
  • Experiments
  • Sitemap

Subscribe to our newsletter

Get the latest updates about Cambodia, new tools, and exclusive content delivered to your inbox.

  • Terms of Service
  • Privacy Policy
  • Cookie Policy

© 2026 InKhmer. All rights reserved.

  1. Home
  2. Tools
  3. Finance Tools
  4. KHQR Code Generator — Create Bakong QR Codes

KHQR Code Generator — Create Bakong QR Codes

Generate spec-compliant KHQR (Bakong) payment QR codes for free. Enter your merchant details and download a scannable QR code instantly.

KHQR Generator

Create a KHQR (Bakong) payment QR code

About this tool

The KHQR Generator builds a Bakong KHQR payment payload for merchants in Cambodia and renders it as a scannable QR code. You enter your Bakong account ID, merchant name, acquiring bank, currency and an optional amount, and the tool assembles the EMVCo merchant-presented QR structure with the KHQR field set used by the Bakong network. The code is generated entirely in your browser — the payload, the CRC-16 checksum and the QR image are all produced locally, and nothing is sent to any server. It is a builder, not a payment terminal: it does not move money, does not check whether your Bakong account is active or verified, and does not register you with any bank or with the Bakong network itself. Use it to produce a code for a test account, a personal QR label, or a payment prompt for customers who scan and pay through their Bakong app or a participating bank app, then verify the result by scanning it yourself before printing.

How it works

The generator implements the KHQR encoding from the Bakong KHQR Content Guideline over the EMVCo merchant-presented QR skeleton. It requires a Bakong account ID (max 32 characters), a merchant name (max 25 characters) and an acquiring bank. The payload is built as TLV fields: payload format 01, point-of-initiation 11 (static) or 12 (dynamic), the merchant-account-information template at tag 29 with the Bakong account ID, a default merchant category code 5999, currency 116 (KHR) or 840 (USD), country KH, merchant name and city, plus optional bill number, store label, terminal label, purpose or merchant ID. Amounts follow EMVCo currency exponents — riel is a whole number, dollars carry two decimals — and an amount that cannot be expressed conformantly is omitted so the code falls back to static (payer-entered) mode. A CRC-16 checksum is computed over the payload and appended before the QR is rendered. There is no network call and no refresh cadence.

Use cases

  • A small shop in Phnom Penh printing a static KHQR label customers scan with their Bakong app
  • A restaurant testing a dynamic KHQR with a fixed bill amount per table
  • A developer validating a KHQR payload against the guideline before integrating the SDK
  • A service business adding a payment QR to an invoice or receipt it generates
  • A freelancer creating a personal KHQR label to receive payments from clients
  • A student building a KHQR demo for a fintech project with a test Bakong account

Frequently asked questions

  • Does this tool confirm my Bakong account is active or verified?

    No. The generator builds the payload locally and never calls the Bakong network, so it cannot check whether the account ID you entered exists, is active, or belongs to you. Only your bank or Bakong can verify that. Test the generated code by scanning it with your own Bakong app before printing it for customers.

  • Is this tool official or affiliated with NBC?

    It is an unofficial tool built to follow the publicly published KHQR Content Guideline. The National Bank of Cambodia publishes the official guideline and SDK, which you can check to confirm the field structure. This site is not NBC and provides no guarantee that a generated code will be accepted by every bank app.

  • Why does my generated code scan but my bank says the account is wrong?

    Scanning only proves the QR contains a valid payload structure and checksum. The account ID inside the merchant-account-information field must exactly match a real Bakong account in the form your bank uses (for example user@bank). Typos, wrong domain suffixes, or accounts that have not been registered with Bakong will scan fine but fail at payment time.

  • What is the difference between static and dynamic KHQR?

    A static code (initiation 11) carries no amount — the payer enters it in their app. A dynamic code (initiation 12) carries a fixed amount the payer cannot change. The tool makes the code dynamic automatically when you enter an amount, and static when you leave the amount empty, which matches how the guideline distinguishes the two.

  • Can I add my bill number or store details to the code?

    Yes. Optional fields for bill number, mobile number, store label, terminal label, purpose of transaction and merchant ID are included in the additional-data template (tag 62) when filled in. These are informational — they help reconciliation — and are not required for a valid KHQR payload.

  • Is my data sent anywhere when I generate a code?

    No. The KHQR payload, checksum and QR image are all produced in your browser. Nothing you type is transmitted to a server. The same holds for the decoder: the payload you paste is parsed locally and never leaves your device.

Data and accuracy

The encoding follows the Bakong KHQR Content Guideline (National Bank of Cambodia) on the EMVCo merchant-presented QR skeleton. The implementation reads the payload structure and CRC-16 rule from the guideline; amounts are normalised per EMVCo currency exponents (KHR zero-decimal, USD two decimals). No live data is fetched.

Sources

  • KHQR Content Guideline v1.3 (Bakong, NBC) — National Bank of Cambodia
  • EMVCo QR Code specifications (merchant-presented mode) — EMVCo

Content last reviewed 13 October 2026

Finance tools nearby that pair well:

  • Cambodia Annual Leave Calculator
  • Cambodia License Plate Decoder — Decode Any Plate Number
  • Currency Compare
  • Currency Converter
  • EDC Electricity Bill Calculator — Estimate Your Cambodian Power Bill
  • Cambodia Employment Cost Calculator (2026)
  • Exchange Rate History
  • Exchange Rates
  • Freelance Rate Calculator
  • Cambodia Fuel Prices — Gasoline, Diesel & LPG Price Tracker
  • Gold Price in Cambodia
  • Home & Auto Loan Repayment Calculator Cambodia
  • Cambodia Invoice Generator (2026)
  • Cambodia Job Offer Comparison Calculator (2026)
  • KHQR Code Decoder & Validator — Decode Bakong QR
  • Loan Calculator
  • Cambodia Loan Offer Comparison Calculator (2026)
  • Metal Prices in Cambodia
  • Cambodia Overtime Pay Calculator (2026)
  • Cambodia Payroll Calculator (2026)
  • Cambodia Payslip Generator (2026)
  • Platinum Price in Cambodia
  • Cambodia Salary Tax Calculator (2026)
  • Savings Calculator - Plan Your Financial Future
  • Scam Check Hub — Check Phone, Telegram, URLs & Bank Accounts
  • Silver Price in Cambodia
  • Cambodia NSSF Social Security Calculator (2026)
Finance Tools← Back to all tools