Telephone numbers in Bulgaria

Telephone numbers in Bulgaria are under a full number dialing plan, meaning that the full national number must be dialed for all calls, while it retains the trunk code, '0', for all national dialling. Area codes are prefixed with a trunk code of 0 only when dialled domestically.

For example, to call a number in Sofia, dial:
 * 02 xxx xxxx from a landline in Sofia
 * 02 xxx xxxx from outside Sofia but in Bulgaria
 * +359 2 xxx xxxx from outside Bulgaria

Fixed-line numbers
Domestic numbers are limited to eight digits in length. Area codes vary in length from one to five digits. Subscriber number lengths vary accordingly, from seven digits down to three digits. Sofia lines on digital switches have seven-digit numbers, those on analog switches had six; in Plovdiv, Varna and Ruse both are six digits; and in most other province capitals lines on digital switches have six-digit numbers and analog had five.

For a very long time, the state-owned Bulgarian Telecommunications Company (BTC) had a monopoly on fixed telephone networks. However, this ended when a special law was adopted. BTC was privatized in 2004 and competing operators appeared.

Larger areas, such as Sofia, Plovdiv, Varna, and Burgas, are subdivided into zones. Although one cannot further reduce the number of dialed digits, the number itself shows which zone it is located in. For example, in Sofia, numbers starting with 2, 82, 92 are located in the Western suburbs, 7, 87, 97 in the Eastern suburbs, and 98 in the central area.

Around 2010, the intensive process of replacing the old analog switches with modern digital ones completed. In some areas it is even possible to guess if a subscriber number was changed from analog to digital during its existence or was subscribed as digital initially. For example, in Blagoevgrad a number starting with 88 was subscribed as digital, and a number starting with a single 8 was analog before.

The first digit also shows if a particular subscriber number is operated by BTC or another operator.

The area codes are always cited with the trunk code. When dialing all subscriber numbers must be prefixed with trunk and area code except short codes (see below). Numbers starting with 700, 800 and 90x as well as mobile ones are prefixed by '0' only. However, when dialing from abroad, the trunk code '0' must be replaced with the country code '+359'.

Mobile numbers
Until 20 July 2003 GSM networks used six-digit subscriber numbers in accordance with the limit of eight digits for the domestic part of a number. With the increase of subscribers (and an international requirement), all (except Vivacom, which started operations in 2006) acquired new access codes. On 20 July 2003, Mobiltel used three codes ((0)87, (0)88, (0)89) and Globul used two ((0)98 and (0)99). When these limits were also to be overwhelmed, seven-digit subscriber numbers and single access codes per operator were introduced, hence M-tel (now A1) reverted to 088 (+7 digits) only, while Globul (now Yettel) took the old M-tel code 089 (+7 digits), and the rest were freed up. (Mobikom had gone through a similar change in the mid-90s – from (0)799 to (0)48).

This change provokes an error in citing mobile numbers, quite similar to that of erroneous UK telephone codes. The first digit of the subscriber number is most often cited as part of the access code, e.g. (0)887 XXX XXX, instead of the correct (0)88 7XX XXXX. This error remains for new subscriber numbers even for Vivacom (which entered the market with the 087 (+7 digits) code and has always remained so). However, unlike the situation in UK, this error has no effect since a mobile number must always be dialled with the access code.

Dialing to a mobile network requires the access code together with the 0. Dialing from a mobile network requires either an area or access code with the trunk or international format ((0)YY YXXX XXX or +359 YY YXXX XXX). The latter becomes a normal practice, since most people use number lists of their handsets, more people use their phones in roaming and all four operators show the caller ID in international format.

The number 088 8888 888 (formerly 0888 888 888 or +359 88 888 8888) was linked to three deaths in the early 2000s, leading M-tel to suspend use of the number from service.

Area codes
As in many countries, an area code is often written with the dialing code 0 pretended as if it were part of the area code itself. * Until 2003, the codes 089 and 087 were used by M-Tel † Until 2003, the codes 098 and 099 were used by Telenor – see above.