Germany uses one of Europe’s most structured telephone numbering plans, administered by the Bundesnetzagentur (Federal Network Agency). Numbers follow the ITU-T E.164 standard: country code +49, followed by a geographic or service-type prefix, then the subscriber number. The maximum total length is 15 digits. This validator checks every layer of that structure — format, length, service-type classification, and area-code validity — entirely in your browser without sending anything to a server.
How it works
The validator normalises your input to E.164 regardless of how you enter it. It strips spaces, dashes, and brackets, then converts leading 0049 or national 0 to +49. From that canonical form it applies four sequential checks:
1. Character and prefix check. After normalisation, only decimal digits may follow +49, and the first digit must be 1–9 (the trunk prefix 0 is never present after the country code).
2. Length check. German E.164 numbers are 3–13 digits after +49 (2 + 13 = 15 total, the E.164 ceiling). Shorter strings are flagged as incomplete; longer ones are flagged as containing too many digits.
3. Service-type classification. The Bundesnetzagentur assigns number blocks by leading digits:
- 015x / 016x / 017x — mobile networks (Mobilfunk). Each block is further split by operator: for example, 0170/0171 = Deutsche Telekom, 0172/0173 = Vodafone, 0176/0179 = Telefonica/O2.
- 2xx–9xx — geographic landlines with a 2-to-5-digit Vorwahl (area code).
- 0800 — Freephone (caller pays nothing).
- 0900 — Premium-rate.
- 0180 — Shared-cost.
- 0700 — Personal number (routed by the subscriber).
4. Length refinement by service type. Mobile numbers must be 10–11 digits after +49. Geographic landlines must have at least 3 subscriber digits and at most 8, with a recognised area-code prefix. If any rule fails, the validator explains precisely which digit count or prefix is wrong.
The output shows the international E.164 form, the standard national display format (with leading 0 restored), the service type, and — for landlines — the city or region tied to the area code.
Worked example
Suppose you have the number 089 98765432 (a Munich landline).
Step 1 — normalise: 089 98765432 strips to 08998765432, which starts with 0, so becomes +4989 98765432, i.e. +498998765432.
Step 2 — length: 10 digits after +49 (8998765432). Within the 3–13 range — pass.
Step 3 — area code match: digits after +49 start with 89, which matches Munich. Service type: geographic landline.
Step 4 — landline length: area code is 2 digits (89), subscriber is 8 digits (98765432). 8 digits is the maximum allowed — pass.
Result: Valid · Geographic landline · Area code 089 · Munich (München) · E.164 +498998765432.
| Input format | Normalises to | Valid |
|---|---|---|
030 12345678 | +493012345678 | Yes — Berlin landline |
+49 151 23456789 | +4915123456789 | Yes — mobile (Telefonica) |
0049 800 123 4567 | +498001234567 | Yes — Freephone |
069 1234 | +496912345 | No — subscriber too short |
0170 12345678901 | +491701234567890 | No — too many digits |
Every check runs locally. No input ever leaves your device.