phone number standards

Sent logo
Sent TeamMar 8, 2026 / phone number standards / Article

Ireland Phone Numbers: Format, Area Code & Validation Guide

Complete guide to Irish phone numbers (+353) covering formats, validation, GDPR compliance, and implementation with code examples

Ireland Phone Numbers: Format, Area Code & Validation Guide

This comprehensive guide covers everything you need to know about Irish phone numbers (+353) – from understanding area codes and mobile formats to implementing validation rules and ensuring regulatory compliance. Whether you're building telecommunications software, validating user input, or integrating SMS services, this guide provides the technical specifications and code examples you need.

Ireland Phone Number Quick Reference

  • Country: Ireland 🇮🇪
  • Country Code: +353
  • International Prefix: 00
  • National Prefix: 0
  • Number Length: 7-10 digits (excluding country code)
  • Regulatory Authority: Commission for Communications Regulation (ComReg) (https://www.comreg.ie)
  • Time Zone: GMT+0 (GMT+1 during Irish Summer Time, late March to late October)
  • Domestic Dialing: Include the 0 prefix (e.g., 01 123 4567)
  • International Dialing: Replace 0 with +353 (e.g., +353 1 123 4567)

Irish Phone Number Format Explained

Ireland uses the +353 country code and employs a structured numbering system with geographic area codes for landlines and dedicated prefixes for mobile, freephone, and premium services. Understanding these formats is essential for proper validation and routing.

Irish Landline Numbers and Area Codes

Geographic numbers tie to specific regions. Area codes vary in length based on the region's size and population.

City/RegionArea CodeFormatExample
Dublin0101 XXX XXXX01 123 4567
Cork021021 XXX XXXX021 234 5678
Limerick061061 XXX XXX061 345 678
Galway091091 XXX XXX091 456 789
Waterford051051 XXX XXX051 567 890
Drogheda041041 XXX XXXX041 678 9012
Other regions0XX0XX XXX XXX(X)045 123 456

Rural areas typically use 6-7 digits after the area code.

Key Considerations:

  • Store the full number including the area code – area code length varies by region
  • Always include the area code in your code, even though local dialing may omit it

Irish Mobile Phone Number Format

All Irish mobile numbers follow a consistent 10-digit format beginning with 08, making them easy to identify and validate.

  • Format: 08[3-9] XXX XXXX
  • Example: 087 987 6543

The digits after 08 originally indicated network operators, but number portability makes this unreliable.

Major Mobile Operators:

  • Three Ireland
  • eir
  • Vodafone
  • MVNOs: Tesco Mobile, Virgin Mobile, 48 (Three network); GoMo (eir network); Lycamobile (Three); Clear Mobile, An Post Mobile (Vodafone)

Key Considerations:

  • Validate the full 10-digit number – don't rely on prefixes to identify operators
  • Use real-time number lookup services (like HLR lookups or carrier APIs) for accurate carrier information needed for routing or billing

Special Service Numbers

TypeFormatCostExample
Freephone1800 XXX XXXFree to caller1800 123 456
Shared cost1850 XXX XXXSplit between caller/receiver1850 234 567
Fixed rate0818 XXX XXXFixed per minute0818 345 678
VoIP076 XXX XXXXVaries by provider076 456 7890
Premium rate15[1-9] XXX XXXX€0.30–€3.00+ per minute1520 567 8901
Emergency112 or 999Free (works without SIM)112

Premium Rate Requirements:

ComReg requires services using premium rate numbers to clearly display pricing information and provide opt-out mechanisms.

How to Validate Irish Phone Numbers: Implementation Guide

Implementing robust phone number validation prevents delivery failures and reduces API costs. This section provides production-ready code examples for validating, formatting, and storing Irish phone numbers.

Phone Number Validation Regex Patterns

Use these regular expression patterns to validate Irish phone numbers in both national (0XX) and international (+353) formats:

National Format (with leading 0):

regex
^0[1-9]\d{5,7}$        // Geographic
^08[3-9]\d{7}$          // Mobile
^1800\d{6}$             // Freephone
^1850\d{6}$             // Shared cost
^0818\d{6}$             // Fixed rate
^076\d{7}$              // VoIP
^15[1-9]\d{7}$          // Premium rate
^(112|999)$             // Emergency

International Format (E.164):

regex
^\+3531\d{7}$           // Dublin geographic
^\+353[2-9]\d{6,8}$     // Other geographic
^\+35388\d{7}$          // Mobile (88x)
^\+35389\d{7}$          // Mobile (89x)
^\+35383\d{7}$          // Mobile (83x-87x)

Python Example:

python
import re

def validate_irish_mobile(number):
    pattern = r'^08[3-9]\d{7}$'
    cleaned = re.sub(r'\D', '', number)
    return bool(re.match(pattern, cleaned))

def validate_irish_e164(number):
    pattern = r'^\+353[1-9]\d{6,8}$'
    return bool(re.match(pattern, number))

Format Irish Phone Numbers for Display

Format phone numbers consistently for better readability.

javascript
function formatIrishNumber(number) {
  if (!number) return '';

  const cleaned = number.replace(/\D/g, '');

  // Handle international format
  if (number.startsWith('+353')) {
    const national = '0' + cleaned.slice(3);
    return formatIrishNumber(national);
  }

  // Mobile: 087 123 4567
  if (cleaned.startsWith('08')) {
    return cleaned.replace(/(\d{3})(\d{3})(\d{4})/, '$1 $2 $3');
  }

  // Geographic: 01 123 4567 or 061 234 567
  if (cleaned.startsWith('0')) {
    const areaCodeLen = cleaned.charAt(1) === '1' ? 2 : 3;
    const pattern = areaCodeLen === 2
      ? /(\d{2})(\d{3})(\d{4})/
      : /(\d{3})(\d{3})(\d{3,4})/;
    return cleaned.replace(pattern, '$1 $2 $3');
  }

  return cleaned;
}

Formatting Guidelines:

  • Display: Use spaced format (e.g., 087 123 4567)
  • Storage: Use E.164 format (e.g., +353871234567)
  • API Submission: Check API documentation – most accept E.164

Store Phone Numbers in E.164 Format

Always store phone numbers in E.164 international format (+353xxxxxxxxxx) to ensure consistency across systems, enable seamless international dialing, and eliminate area code ambiguity.

E.164 Conversion:

javascript
function toE164(number) {
  const cleaned = number.replace(/\D/g, '');

  // Already in E.164
  if (number.startsWith('+353')) return number;

  // Convert from national format (remove leading 0, add +353)
  if (cleaned.startsWith('0')) {
    return '+353' + cleaned.slice(1);
  }

  return '+353' + cleaned;
}

Database Schema:

sql
CREATE TABLE contacts (
  id UUID PRIMARY KEY,
  phone_number VARCHAR(20) NOT NULL,  -- E.164 max length is 15, add buffer
  INDEX idx_phone (phone_number)       -- Index for lookups
);

Irish Mobile Number Portability (MNP)

Ireland implemented Mobile Number Portability (MNP) in 2003, allowing users to keep their numbers when switching operators. Prefixes no longer reliably indicate the current carrier.

Use HLR (Home Location Register) lookup services for accurate carrier information:

  • Twilio Lookup API
  • Telnyx Number Lookup
  • Infobip Number Lookup
  • OpenRTB HLR lookups

These services query live network databases to return the current operator, number type, and validity status.

GDPR Compliance for Irish Phone Numbers

GDPR Requirements for Processing Phone Numbers

Phone numbers are classified as personal data under GDPR. When collecting or processing Irish phone numbers, you must:

  1. Obtain Consent: Get explicit, informed consent before collecting phone numbers for marketing
  2. Document Lawful Basis: Record why you're processing each number (consent, contract, legitimate interest)
  3. Respect Retention Limits: Delete numbers when no longer needed or when users request erasure
  4. Honor Erasure Requests: Provide a process for users to request deletion within 30 days
  5. Implement Security: Encrypt phone numbers in storage and transit
  6. Enable Portability: Allow users to export their data in a machine-readable format

ePrivacy Directive (Marketing Communications)

Before sending marketing SMS or making promotional calls:

  • Obtain prior opt-in consent (double opt-in recommended)
  • Provide clear information about message frequency and content
  • Include your identity in every message
  • Offer easy opt-out in every message (e.g., "Reply STOP to unsubscribe")
  • Process opt-outs immediately (within 24 hours maximum)
  • Respect quiet hours (avoid calls before 9 AM or after 9 PM)

ComReg Premium Rate Guidelines

  • Display per-minute or per-call costs prominently
  • Provide a free customer service number
  • Implement spending caps for vulnerable users
  • Maintain call records for 18 months

Call Recording Regulations

If recording calls:

  • Notify callers at the start of the call
  • Obtain consent before recording personal conversations
  • Store recordings securely with access controls
  • Delete recordings according to your retention policy

Compliance Checklist:

  • Privacy policy mentions phone number processing
  • Consent mechanism documented and auditable
  • Opt-out process functional and tested
  • Data retention policy defined and enforced
  • Security measures implemented (encryption, access controls)
  • Staff trained on GDPR and ePrivacy requirements

Official Resources and Further Reading

ComReg and Regulatory Documentation

Common Troubleshooting Issues

Validation fails for valid numbers:

  • Check for hidden characters (spaces, hyphens, parentheses)
  • Verify the number is in the expected format (national vs. international)
  • Confirm area code length handling for geographic numbers

Formatting produces incorrect output:

  • Clean input before formatting (remove all non-digits)
  • Handle both national (0) and international (+353) prefixes
  • Account for varying local number lengths (6-7 digits)

SMS delivery failures:

  • Verify the number is a mobile number (08X prefix)
  • Check the number is in E.164 format for API submission
  • Confirm the number is active using HLR lookup
  • Verify you have the correct operator routing

GDPR compliance concerns:

  • Audit your consent collection process
  • Review your data retention policy
  • Implement opt-out handling
  • Document your lawful basis for processing

FAQ

Q: Do I need to support both 112 and 999 for emergency services?

A: 112 is the standard EU emergency number. 999 is maintained for backward compatibility. Both route to the same services.

Q: Can users port landline numbers?

A: Yes, landline number portability is available within the same geographic area.

Q: How do I identify VoIP numbers?

A: VoIP numbers use the 076 prefix. They're non-geographic and may have different routing costs.

Q: What's the difference between 1800 and 1850 numbers?

A: 1800 is freephone (caller pays nothing). 1850 is shared cost (caller and receiver split the cost).

Q: How long until number exhaustion?

A: ComReg monitors capacity. The 08X mobile range has sufficient capacity for the foreseeable future. New prefixes will be allocated if needed.

Communication Platforms

For SMS and voice services to Irish numbers:

  • Telnyx: Global coverage, competitive pricing
  • Twilio: Extensive API, good documentation
  • Vonage (Nexmo): Strong in Europe
  • Infobip: Enterprise-focused, high deliverability
  • MessageBird: Developer-friendly APIs