Indonesia Phone Number Validator

Validate any Indonesian mobile or landline number against the BRTI numbering plan.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Indonesia is the world’s fourth most populous country, spread across more than 17,000 islands, and its telephone numbering system reflects that complexity. The BRTI (Badan Regulasi Telekomunikasi Indonesia) — the national telecommunications regulator — maintains a detailed numbering plan that allocates prefixes to mobile operators and geographic area codes to fixed-line zones. This validator implements that plan so you can verify any Indonesian phone number instantly, identify its operator or area, and produce a clean formatted output — all without sending a single byte over the network.

Whether you are building a user registration form, cleaning a contact database, verifying a supplier’s details, or just checking whether a number you received is structurally plausible, this tool gives you a fast, authoritative answer based on the published BRTI allocation table.

How it works

Step 1 — Normalisation. The validator strips all spaces, hyphens, dots, and brackets. It then handles three common input conventions:

  • National format with a leading 0 (e.g. 0812 3456 7890)
  • International format with +62 (e.g. +62 812 3456 7890)
  • International format with 0062 (e.g. 0062 812 3456 7890)

The +62 and 0062 prefixes are both converted to a leading 0, producing a canonical national-format digit string.

Step 2 — Length pre-check. Indonesian national numbers are 7 to 13 digits long. Any input outside that range is rejected immediately with a clear message.

Step 3 — Prefix lookup. The validator walks the BRTI plan table from longest prefix to shortest, selecting the first entry whose prefix matches the start of the normalised number. Greedy longest-prefix matching is essential here because, for example, 0274 (Yogyakarta) must be matched before the shorter 02x pattern to avoid a false fixed-line attribution.

Step 4 — Length validation. Each prefix entry in the plan carries a minimum and maximum total digit count. The validator checks that the normalised number falls within those bounds. A Telkomsel 0812 number that is only 10 digits long (one digit short) is caught here, as is a 13-digit landline number on a prefix that only supports 11 digits.

Step 5 — Output. A passing number is formatted in both national style (0xxx-xxxx-xxxx) and E.164 international style (+62xxxxxxxxxx). The operator or geographic area is reported alongside the service type (Mobile, Fixed Line, or Toll-Free). Both formatted strings can be copied to the clipboard with one click.

Worked example

Take the number +62 812-3456-7890:

StepValue
Strip and normalise081234567890
Length12 digits — within global range
Longest matching prefix0812 (Telkomsel Simpati/Halo)
Min/max for 081211–13 digits
Length check12 is between 11 and 13 — pass
National format0812-3456-7890
E.164 format+62812345678 90
ResultValid — Telkomsel (Simpati/Halo), Mobile

Now try 021-5551234 (a Jakarta landline):

StepValue
Normalise02155551234
Length11 digits
Longest matching prefix021 (Telkom, Jakarta/Banten)
Min/max for 02110–12 digits
Length check11 is between 10 and 12 — pass
National format021-555-51234
E.164 format+6221555 51234
ResultValid — Telkom (Jakarta / Banten), Fixed Line

The same logic catches a number like 0812 345 (only 7 digits with the leading 0) and reports it as too short for the 0812 prefix range.

Every calculation happens in your browser. No numbers are transmitted, stored, or logged.

Ad placeholder (rectangle)