New user credit availableContact support
Viber

How to Format Viber Numbers: Country Codes, E.164, and TXT Upload Guide

Normalize Viber phone numbers with verified country codes, E.164 rules, source preservation, UTF-8 TXT preparation, and Excel result validation.

Updated 9/7/20265 minBy AppShai Research

Article summary

Normalize Viber phone numbers with verified country codes, E.164 rules, source preservation, UTF-8 TXT preparation, and Excel result validation.

Formatting a Viber list is not merely removing punctuation. The goal is to create an international number that can be traced to the original value, has a documented country basis, and can be matched safely. A reliable workflow preserves the raw number, produces a separate normalized number, and routes uncertain country or length cases to an exception queue.

AppShai currently accepts TXT uploads with one phone number per line and exports Excel after the task. A spreadsheet can support internal cleaning and reconciliation, but the upload file must be generated from a validated normalized column.

What is a full international phone-number format?

An international number is generally written with a plus sign, country calling code, and national significant number. ITU-T E.164 allows a maximum of 15 digits for an international E.164 number; the plus sign is display notation rather than one of those digits. Domestic prefixes and mobile-number rules vary by country.

A number is not valid merely because it has fifteen or fewer digits. It must also fit the current numbering plan for the documented country. Old PBX prefixes, extensions, and special service numbers should not be treated automatically as mobile numbers.

Step 1: preserve the raw number

Create columns such as raw_phone, country_source, normalized_phone, validation_status, and validation_note. Keep raw_phone unchanged and write every transformation to normalized_phone.

Country_source should state the basis for the country, such as a form selection, shipping country, billing country, or previously verified account location. A local prefix such as 07 or 09 is not enough because similar prefixes appear in multiple national plans.

Step 2: remove display characters carefully

Remove spaces, parentheses, hyphens, and ordinary display punctuation, and convert non-ASCII digit forms when necessary. If a field contains an extension, a label, or multiple numbers, split and review it instead of concatenating every digit.

Spreadsheet applications may interpret a plus sign as a formula or display a long number in scientific notation. Set both raw and normalized columns to text before import, then sample the beginning, ending, and total digit count.

Step 3: apply the country code from known evidence

When the source already begins with a plus sign and country code, verify that it agrees with the customer record. For a domestic number, use that country’s numbering plan to remove any national trunk prefix and add the calling code. Do not apply a global rule that strips every leading zero.

The same local-looking digits can identify completely different subscribers in different countries. When reliable country evidence is missing, mark country_unknown and pause the row. Do not infer it from an IP address, a person’s name, or the language used by an operator.

Step 4: validate structure and deduplicate

At minimum, check allowed characters, presence of a country code, the 15-digit ceiling, the country’s expected length range, obvious placeholder values, and extensions. After validation, deduplicate by normalized_phone while preserving all internal customer IDs connected to a duplicate.

Deduplication does not mean deleting business records. One number may appear in several orders or contacts. It needs to be checked once in the upload, but the dated result must be mapped safely back to every relevant record, with ownership conflicts routed separately.

Step 5: generate UTF-8 TXT

Export only normalized_phone rows with a passing validation status. Write one number per line with no header, name, country label, comma, or note. Reopen the UTF-8 TXT in a plain-text editor and inspect it for quotation marks, tabs, blank lines, and encoding artifacts.

Create a sample of roughly 20 to 100 records first and run the required task through the AppShai Viber Number Checker. Continue with the full TXT only after the sample returns and maps correctly. Do not upload Excel or CSV directly.

Choose the Viber task from the question

Use Viber Registration Check when the decision is simply whether the number is registered. Its Excel output contains the phone number and registration status. Use Activity Check only when the current workflow genuinely needs its supported fields: phone number, active days, mid, and offline time.

Demographic Check is a separate service with a larger field set and should not become the default merely because it appears more complete. The business question determines the task. No result establishes verified identity, marketing permission, or purchase intent.

Step 6: validate Excel and import to the CRM

Reconcile input and output counts, exception rows, and column headings. Match the Excel number against normalized_phone. Add dated columns such as viber_check_type, viber_status, and viber_checked_at rather than overwriting raw_phone, country_source, or permission history.

Run a simulated import first. Look for lost plus signs, scientific notation, inconsistent dates, and a single number matching multiple customers. Results without a unique destination belong in a manual-review queue.

Diagnosing common formatting failures

  • Many rows return no usable result: inspect country codes, national trunk prefixes, and file encoding.
  • Numbers are truncated in Excel: check whether the column was treated as numeric or scientific notation.
  • The same number is uploaded repeatedly: deduplicate after normalization, not by display format.
  • A result is assigned to the wrong customer: inspect internal-ID mapping and one-to-many exceptions.
  • The country remains unknown: return to customer provenance instead of guessing from appearance.

Every exported row should lead back to a normalized record, then to the raw number and its source. Traceability is more important than forcing as many rows as possible through a superficial format check.

Join AppShai

Connect global social platforms
Work with the audience you need

Sign up / Log in
WhatsApp
WhatsApp
Telegram support
Telegram support
Telegram channel
Telegram channel