Bangladesh Mobile Operator Codes and Number Prefixes

By Supayo 2 min read
Operator Codes and Number Prefixes

Send a recharge with the wrong operator code and it fails, or worse, succeeds against the wrong network. This is the full list.

The table

OperatorCodePrefixes
GrameenphoneGP017, 013
RobiRB018
BanglalinkBL019, 014
AirtelAT016
TeletalkTT015
SkittoSK017 (a subset)

Skitto — read this before you write the lookup

Skitto is Grameenphone's digital brand. Numbers use GP prefixes, so a prefix table alone cannot tell them apart. Sending a Skitto number as GP is the most common recharge integration bug in Bangladesh.

There is no reliable way to detect it from the number. Ask the customer, or offer Skitto as a separate choice in your interface.

Prefixes people get wrong

  • 013 is Grameenphone, not a new operator. Added when 017 filled up.
  • 014 is Banglalink, not Airtel. Frequently misfiled.
  • 016 is Airtel, which merged with Robi but keeps its own code.
  • 010, 011, 012 do not exist. Reject them at input.

Number format

Bangladeshi mobile numbers are eleven digits starting 01, then an operator digit of 3 to 9.

^01[3-9][0-9]{8}$

Accept the ways people actually type them and normalise before validating:

function normalise($n) {
    $n = preg_replace('/[^0-9]/', '', $n);
    if (strlen($n) === 13 && substr($n, 0, 3) === '880') { $n = '0' . substr($n, 3); }
    if (strlen($n) === 10 && $n[0] === '1')             { $n = '0' . $n; }
    return preg_match('/^01[3-9][0-9]{8}$/', $n) ? $n : false;
}

That handles +8801712345678, 8801712345678, 1712345678, and numbers typed with spaces or dashes.

Detecting the operator

function operator($n) {
    $p = substr($n, 0, 3);
    $map = ['013'=>'GP','017'=>'GP','018'=>'RB','019'=>'BL',
            '014'=>'BL','016'=>'AT','015'=>'TT'];
    return $map[$p] ?? null;    // Skitto still needs asking
}

Number portability

MNP has existed in Bangladesh since 2018, so a customer can move networks and keep their number. In practice volumes are low and prefix lookup is right the overwhelming majority of the time — but it is not a guarantee. If a recharge fails on a number that looks correct, portability is worth checking before you assume a system fault.

Share WhatsApp
WhatsApp