CNAPS reference guide
CNAPS Code vs Swift BIC: Choosing the Right Payment Field
A field-by-field comparison of a mainland-China CNAPS identifier and an international Swift BIC, with examples showing why one should never be substituted for the other.
Edited by John Lan · Reviewed 2026-07-21
Two identifiers, two questions
A CNAPS code and a Swift BIC can both appear in instructions for a payment involving a Chinese bank, but they do not answer the same routing question. The CNAPS value is associated with bank or branch identification in mainland China's domestic clearing context. A BIC is an ISO 9362 business identifier used in the Swift ecosystem to identify institutions and, when present, a branch or organizational unit. The overlap is practical rather than structural: both help route a payment, yet their formats and governing contexts differ.
Treat the labels on a bank form literally. If a field says CNAPS, use the confirmed CNAPS value. If it says BIC or SWIFT, use the confirmed BIC. When both fields appear, supply both rather than deciding that one makes the other unnecessary. A sending bank may need the BIC to reach an institution through an international message and a domestic clearing identifier to direct funds after they enter the mainland system.
Format comparison
Records on CNAPS Code Finder use twelve numeric digits. The site therefore rejects letters, spaces, punctuation, shorter strings, and longer strings in its format checker. A Swift BIC uses eight characters for an institution-level identifier or eleven when a branch identifier is included. Its structure combines an institution code, country code, location code, and optional branch code. Those visible format differences are a fast way to detect that a value has been placed in the wrong field.
Format is only a syntax test. An eight-character string can look like a BIC without being current or applicable to a specific payment. Likewise, twelve digits can match the CNAPS shape while referring to another branch. Do not pad a BIC to eleven characters unless the bank's instructions do so, and do not remove zeroes from a numeric CNAPS value. Copy the identifier as the bank supplies it and preserve the field label alongside the value in internal records.
- CNAPS directory format here: 12 numeric digits.
- Swift BIC format: 8 characters, optionally followed by a 3-character branch identifier.
- Neither format includes the beneficiary's account number or proves account ownership.
Payment-context comparison
International payment instructions often begin with a beneficiary bank's BIC because the sending institution needs to identify a counterparty on the Swift network. For a renminbi payment into mainland China, the bank may additionally ask for a CNAPS code. Bank of China materials provide examples: its Panama remittance guidance calls for CNAPS information on CNY payments to mainland China, while its Singapore corporate form includes separate routing fields and marks the CNAPS number for that transaction context.
Domestic workflows can look different. A mainland bank portal may identify the receiving branch from an internal list or a domestic clearing code without asking the customer for a BIC. The correct fields therefore come from the selected payment product, not from a universal checklist. Currency matters as well: the same beneficiary bank can publish one set of instructions for CNY and another for a foreign-currency wire, possibly with an intermediary bank.
A decision sequence for real forms
First, identify the payment product: domestic transfer, international wire, cross-border CNY remittance, or another service. Second, read each field label and its help text. Third, compare the requested fields with the beneficiary's written instructions. Fourth, ask the sending bank about any blank or ambiguous field before submission. This sequence is more reliable than starting with an identifier and guessing which product accepts it.
When a form has one field labeled “bank code” without a format hint, ask the bank which standard it expects. The answer may depend on the country selected earlier in the form. Do not test alternatives by submitting a live high-value payment. If support gives an answer verbally, record the date, channel, and exact field name. A small amount of documentation prevents the same ambiguity from returning during review or when another colleague creates a payment template.
- The field accepts only digits and expects twelve characters: ask whether it is a CNAPS field.
- The field expects eight or eleven letters and digits: ask whether it is a BIC field.
- The form requests both: obtain both from the beneficiary bank and do not cross-fill them.
Example: a CNY supplier payment
A European company needs to pay a supplier's mainland account in CNY. The supplier provides its legal account name, account number, bank name, branch, BIC, and CNAPS code. The payer's portal requests the BIC in the beneficiary-bank section and the CNAPS value in a local-clearing field. The payer compares each value with the supplier's onboarding record and then confirms the branch details through an established contact.
If the supplier provides only the BIC, the payer should not search for a twelve-digit record and assume the first matching bank branch is correct. It should ask the supplier to obtain the missing CNAPS value if the bank form requires it. Conversely, if only a CNAPS code is supplied, it should not transform or abbreviate the number to make it fit the BIC field. Missing information is a confirmation task, not a formatting puzzle.
Branch-level ambiguity
A BIC can identify an institution without specifying the beneficiary's exact retail or corporate branch. A CNAPS directory can contain many records under one bank family, often separated by province, city, and branch name. This means a broad institution match is not enough when a payment form explicitly asks for branch-level routing. Matching the city while ignoring the branch name is also insufficient in large cities with many records.
The directory's related-bank links and group pages are navigation aids, not recommendations. Select a candidate only after comparing the complete payment instruction. Transliteration differences can make two records look inconsistent when the Chinese branch name is the same, or deceptively similar when the branches differ. Ask the beneficiary bank to resolve ambiguity, especially when an identifier found online conflicts with a value on official account documentation.
What each verification source can establish
ISO 9362 is the appropriate standards reference for the definition and structure of a BIC. Bank documentation is the appropriate source for fields required by a particular remittance product. CNAPS Code Finder is a comparison tool for locating records and catching twelve-digit format errors. The beneficiary bank is the authority for whether a specific account and branch should receive a specific payment with a specific identifier.
Keeping those roles separate prevents an easy but dangerous shortcut: treating a search result as transaction authorization. This site deliberately does not label a record as live, verified today, or approved for all transfers. Its job is to make comparison easier and limitations visible. The payer's job is to use current bank instructions, confirm changes through a trusted channel, and follow the sending bank's requirements.
Primary references
These sources support the general definitions and bank-workflow examples in this article. They do not provide row-level provenance for every record in this independent compiled directory.