phone number standards

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

Jamaica Phone Numbers: Complete +1-876 & +1-658 Validation Guide

Learn how to validate Jamaica phone numbers with +1-876 and +1-658 area codes. Complete E.164 formatting guide, NANP validation rules, and code examples for developers.

Jamaica Phone Numbers: Format, Area Code & Validation Guide

Jamaica phone numbers follow the North American Numbering Plan (NANP) with two area codes: 876 and 658. This comprehensive guide covers Jamaica phone number validation, E.164 formatting, +1-876 and +1-658 area code handling, and compliance with Office of Utilities Regulation (OUR) requirements for developers building telecommunications applications.

Quick Reference

  • Country: Jamaica
  • Country Code: +1
  • International Prefix: 011 (for calls from Jamaica to other countries)
  • National Prefix: 1 (for domestic calls within Jamaica)
  • Area Codes: 876 (since May 1, 1997), 658 (since April 30, 2019; numbers assigned from May 2023)
  • Mandatory 10-Digit Dialing: Implemented March 31, 2019
  • Emergency Numbers: 119 (Police direct), 110 (Fire/Police/Ambulance operator-assisted), 112 and 911 (alternative, primarily for mobile/international roamers)

Jamaica Phone Number Format Specifications

Jamaica uses the North American Numbering Plan (NANP) with a 10-digit format for all local numbers. This structure, combined with the country code, forms the E.164 international format.

Area code 658 is an overlay of 876, meaning the same seven-digit number can exist under both area codes (e.g., +1-876-555-0123 and +1-658-555-0123 are different numbers). Always use the complete 10-digit format to ensure calls route correctly.

Area code 876 was created on May 1, 1997, when Jamaica split from the Caribbean-wide area code 809. The 658 overlay was added on April 30, 2019, to address number exhaustion, with actual number assignments beginning in May 2023.

Understanding NANP Structure

The North American Numbering Plan (NANP) uses the NXX-XXXX format for the seven-digit local number, where:

  • N = digits 2–9 (never 0 or 1)
  • X = digits 0–9 (any digit)

This format applies to both the area code and the central office code (exchange). The restriction on the first digit prevents conflicts with operator services (0) and long-distance prefixes (1).

Reject these invalid patterns:

  • Numbers starting with 0 or 1 in either the area code or exchange position (e.g., +1-076-555-0123 or +1-876-155-0123)
  • Area codes like 000 or 111, or patterns with the same digit repeated (e.g., 888 as an area code, excluding toll-free 8XX codes)

Example: A valid Jamaica number +1-876-606-0123 breaks down as:

  • Country code: +1
  • Area code: 876 (N=8, X=7, X=6 – valid since first digit is 2–9)
  • Exchange: 606 (N=6, X=0, X=6 – valid since first digit is 2–9)
  • Line number: 0123 (all digits 0–9 allowed)

Core Structure

+1 (Area Code) XXX-XXXX │ │ │ 876/658 Local Number

Detailed Format Table

Number TypeFormat PatternExampleUsage Notes
Fixed-Line`+1 (876658) NXX-XXXX`+1 876 606 0123
Mobile`+1 (876658) NXX-XXXX`+1 876 209 1234
Toll-Free+1 8XX NXX-XXXX+1 800 234 5678XX can be 00, 33, 44, 55, 66, 77, or 88. Always include the +1 country code.
Premium+1 900 NXX-XXXX+1 900 234 5678Used for premium rate services. Always include the +1 country code.

Note on Mobile vs. Landline: Unlike some countries, Jamaica does not use specific number ranges or prefixes to distinguish mobile numbers from landline numbers. Both use the same NXX-XXXX format within the 876 and 658 area codes. Number portability (introduced May 2015) further means that even historical patterns cannot reliably identify the line type. Applications requiring line type identification should use a phone number lookup API or carrier database query.

How to Validate Jamaica Phone Numbers

Use these practical examples to handle Jamaican phone numbers in your applications.

1. Phone Number Validation Rules with Regular Expressions

Validate phone numbers with regular expressions to enforce correct formatting and prevent invalid entries.

javascript
// E.164 format validation (Recommended for storage and API communication)
// Learn more: https://www.sent.dm/resources/e164-phone-format
const jamaicaNumberRegex = /^\+1(876|658)[2-9]\d{6}$/;

// Toll-free and premium number validation
const tollFreeRegex = /^\+1(800|833|844|855|866|877|888)[2-9]\d{6}$/;
const premiumRegex = /^\+1900[2-9]\d{6}$/;

// Local format validation (Flexible for user input)
const localFormatRegex = /^(?:1)?(?:\s*\(?(?:876|658)\)?)?\s*[2-9]\d{2}[- ]?\d{4}$/;

function isValidJamaicanNumber(phoneNumber, options = {}) {
  const cleanedNumber = phoneNumber.replace(/[^\d+]/g, '');

  // Check geographic numbers (876/658)
  if (jamaicaNumberRegex.test(cleanedNumber)) {
    return true;
  }

  // Optionally validate toll-free numbers
  if (options.allowTollFree && tollFreeRegex.test(cleanedNumber)) {
    return true;
  }

  // Optionally validate premium numbers
  if (options.allowPremium && premiumRegex.test(cleanedNumber)) {
    return true;
  }

  return false;
}

console.log(isValidJamaicanNumber('+18765550123')); // true
console.log(isValidJamaicanNumber('876-555-0123')); // false (local format, not E.164)
console.log(isValidJamaicanNumber('+18005550123', { allowTollFree: true })); // true

Store numbers in E.164 format for consistency and portability. Accept various input formats from users, but normalize them to E.164 before storage.

Edge Cases to Handle:

  • Extensions: Strip or store separately (e.g., "+18765550123 ext. 456")
  • Vanity numbers: Convert letters to digits using standard phone keypad mapping (1-876-CALL-NOW → +18762255669)
  • International format variations: Handle with/without spaces, parentheses, or hyphens

2. Phone Number Formatting and Normalization to E.164

javascript
function normalizeJamaicanNumber(phoneNumber) {
  // Remove all non-digit characters except leading +
  let cleaned = phoneNumber.trim();
  const hasPlus = cleaned.startsWith('+');
  cleaned = cleaned.replace(/[^\d]/g, '');

  // Handle different input formats
  if (cleaned.length === 10 && (cleaned.startsWith('876') || cleaned.startsWith('658'))) {
    // Format: 8765550123 or 6585550123
    cleaned = '1' + cleaned;
  } else if (cleaned.length === 11 && cleaned.startsWith('1')) {
    // Format: 18765550123 (already has country code)
    // Keep as is
  } else {
    return null; // Invalid format
  }

  // Validate the normalized number
  const e164Number = '+' + cleaned;
  if (!isValidJamaicanNumber(e164Number)) {
    return null;
  }

  return e164Number;
}

console.log(normalizeJamaicanNumber('1 (876) 555-0123')); // +18765550123
console.log(normalizeJamaicanNumber('6585550123')); // +16585550123
console.log(normalizeJamaicanNumber('+1-876-555-0123')); // +18765550123

3. Handling Number Portability Between Carriers

Jamaica has implemented number portability, allowing users to switch carriers while retaining their numbers. Do not assume a carrier based on number prefixes – these can change. Always validate the number format, but expect numbers to be ported across carriers.

Implementation Guidelines:

javascript
// ❌ AVOID: Hardcoding carrier assumptions
function getCarrier(phoneNumber) {
  // DON'T DO THIS - number portability makes this unreliable
  if (phoneNumber.includes('876209')) return 'Digicel'; // WRONG!
  if (phoneNumber.includes('876606')) return 'FLOW'; // WRONG!
}

// ✅ CORRECT: Use carrier lookup APIs when needed
async function getCarrierInfo(phoneNumber) {
  // Use a phone lookup service for current carrier information
  // Example: https://www.sent.dm/resources/phone-lookup
  const response = await fetch(`https://api.example.com/lookup?phone=${phoneNumber}`);
  return await response.json();
}

Number Portability Details:

  • Introduced: May 2015
  • Process time: 1–5 business days
  • Latest guidance: Updated May 2022 by OUR
  • Implementation impact: Never use number prefixes for carrier routing or business logic

4. Error Handling for Invalid Phone Numbers

Handle invalid input gracefully to prevent application crashes.

javascript
function validateAndFormat(phoneNumber) {
  try {
    const normalizedNumber = normalizeJamaicanNumber(phoneNumber);
    if (!normalizedNumber) {
      throw new Error("Invalid Jamaican phone number format.");
    }
    return normalizedNumber;
  } catch (error) {
    console.error(`Phone number processing failed: ${error.message}`);
    // Display an error message to the user
    return null;
  }
}

// Enhanced error handling with specific messages
function validateWithDetailedErrors(phoneNumber) {
  const cleaned = phoneNumber.replace(/[^\d]/g, '');

  if (cleaned.length < 10) {
    return { valid: false, error: 'Phone number too short. Jamaica numbers require 10 digits (area code + number).' };
  }

  if (cleaned.length > 11) {
    return { valid: false, error: 'Phone number too long. Remove extra digits.' };
  }

  const areaCode = cleaned.length === 11 ? cleaned.substring(1, 4) : cleaned.substring(0, 3);
  if (areaCode !== '876' && areaCode !== '658') {
    return { valid: false, error: `Invalid area code "${areaCode}". Jamaica uses 876 or 658.` };
  }

  const normalized = normalizeJamaicanNumber(phoneNumber);
  if (!normalized) {
    return { valid: false, error: 'Invalid phone number format. Check and try again.' };
  }

  return { valid: true, number: normalized };
}

Technical Considerations for Jamaica Phone Numbers

Database Storage Best Practices

  • Database: Store numbers in E.164 format. Add a separate field for formatted display if needed. Index the phone number field to improve query performance.
    • Field type: VARCHAR(15) for E.164 format (max length: +[1-3 digit country][14 digits])
    • Indexing: Create index on phone number column: CREATE INDEX idx_phone ON contacts(phone_number);
    • Example schema:
      sql
      CREATE TABLE contacts (
        id SERIAL PRIMARY KEY,
        phone_number VARCHAR(15) NOT NULL,
        phone_display VARCHAR(20),
        phone_verified BOOLEAN DEFAULT FALSE,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        INDEX idx_phone (phone_number)
      );
  • API Integration: Accept multiple input formats, but normalize to E.164 before processing or storage. Return both E.164 and locally formatted versions in API responses for flexibility. Include validation status in API responses.

Common Pitfalls When Validating Jamaica Numbers

  • Hardcoding Area Codes: Avoid hardcoding only 876. Jamaica uses both 876 and 658.
  • Ignoring Number Portability: Number prefixes can no longer reliably identify carriers.
  • Inconsistent Formatting: Normalize to E.164 for storage and internal use.
  • Toll-Free Number Confusion: For international dialing, toll-free numbers use the full format +1-8XX-XXX-XXXX. When displayed locally in Jamaica, they may be shown as 1-8XX-XXX-XXXX (10 digits with leading 1) or sometimes without the leading 1 depending on the service provider. Always store in E.164 format (+1-8XX-XXX-XXXX) to avoid ambiguity.
  • Emergency Number Handling: Don't block or validate emergency numbers (110, 119, 112, or 911) through standard validation – these should always be allowed through without modification.

Jamaica Telecommunications Regulations & Compliance

The Office of Utilities Regulation (OUR) governs Jamaica's telecommunications sector under the Telecommunications Act. The OUR administers and manages numbering resources, including the assignment of central office codes (the first three digits after the area code) to telecommunications providers.

Key regulations include:

  • Mandatory 10-digit dialing for all local calls (implemented March 31, 2019)
  • Area code overlay implementation – Determination Notice: Document No. 2014/TEL/011/DET.003
  • Number portability support allowing subscribers to switch carriers while retaining numbers
  • E.164 format compliance for international interoperability

Data Privacy and Phone Number Retention

Jamaica's Data Protection Act, 2020 (effective December 1, 2023) governs the collection, processing, and retention of personal data, including phone numbers. The Act is modeled on the EU's GDPR and establishes comprehensive data protection standards.

Key Requirements for Phone Number Processing:

  • Consent: Obtain explicit consent before collecting phone numbers, particularly for marketing purposes
  • Limited Retention: Phone numbers must not be kept longer than necessary for the purpose collected
  • Purpose Limitation: Use phone numbers only for specified, lawful purposes disclosed at collection
  • Data Subject Rights: Individuals have rights to access, correct, and request erasure of their phone numbers
  • Security Measures: Implement appropriate technical and organizational measures to protect phone numbers from unauthorized access

Under the Act, phone numbers are classified as personal data. Organizations must:

  • Register as data controllers with the Office of the Information Commissioner (OIC)
  • Maintain records of processing activities
  • Report data breaches involving phone numbers to the OIC within 72 hours
  • Ensure international transfers only to jurisdictions with adequate data protection

SMS Marketing Compliance in Jamaica

Jamaica requires explicit opt-in consent for SMS marketing under the Data Protection Act, 2020 and Data Protection Regulations, 2024:

  • Prior Consent Required: Obtain written consent before sending marketing messages
  • Opt-Out Mechanism: Provide clear instructions for recipients to unsubscribe (e.g., "Reply STOP to unsubscribe")
  • Consent Records: Maintain documentation of consent with timestamps and method of collection
  • Purpose Disclosure: Clearly state the purpose and frequency of messages at the point of consent
  • No Pre-Checked Boxes: Consent must be an active, affirmative action by the recipient

Follow these best practices:

  • Include sender identification in every message
  • Honor opt-out requests immediately (within 24 hours)
  • Send marketing messages only during reasonable hours (9 AM – 8 PM local time)
  • Avoid excessive frequency that could be perceived as harassment

Violations of the Data Protection Act can result in fines up to JMD $5 million or imprisonment for up to 2 years for individuals, or fines up to JMD $10 million for corporations.

OUR Contact Information:

Consult the OUR website for the latest regulations, determination notices, and telecommunications policies.

How Does Number Portability Work in Jamaica?

Number portability, introduced in May 2015, allows subscribers to switch providers while keeping their existing numbers. The process typically takes 1–5 business days and involves verification and coordination between providers.

In May 2022, the OUR released updated guidance as the first phase of a three-phase initiative to modernize the number portability framework. Consult the OUR website for current portability procedures and requirements.

Technical Implementation for Developers:

  • Do not cache carrier information: Carriers can change due to portability; always query current carrier if needed
  • Use number lookup APIs: Services like phone lookup APIs provide real-time carrier identification
  • Handle porting in progress: During the 1–5 day porting window, calls may fail or route incorrectly; implement retry logic
  • LNP Database: Jamaica uses a Local Number Portability (LNP) database managed by telecommunications providers; consumer-facing applications typically don't access this directly

Jamaica Mobile Carriers & Network Infrastructure

Jamaica's telecommunications landscape is dominated by two major players: FLOW Jamaica (operated by Cable & Wireless Communications) and Digicel Jamaica. Both carriers offer extensive 4G LTE coverage and a range of services, including fixed-line, mobile, internet, and enterprise solutions.

Key Network Details:

  • Digicel Jamaica: Launched in 2001, operates dual CDMA/GSM networks with 4G/LTE services introduced in 2016. Digicel underwent debt restructuring in 2024 under U.S. private equity control. Offers eSIM services (launched October 2022).
  • FLOW Jamaica: Provides 4G/LTE network primarily on Band 4 (1700 MHz), launched in 2016. Mobile subscriber base exceeded 1.08 million users as of 2019. Offers eSIM services with wide coverage.

Developer Integration Considerations:

  • SMS Gateway Support: Both carriers support standard SMPP and HTTP APIs for bulk SMS
  • Delivery Receipts: Request delivery reports (DLR) to track message status
  • MMS Support: Available on both networks; maximum file size typically 600 KB
  • Character Encoding: Use UTF-8 for international characters; standard SMS limited to 160 characters (70 for Unicode)
  • Throughput Limits: Typical SMS delivery rate: 10-30 messages/second per connection

The OUR monitors service quality through metrics like network availability, call success rate, and data speed, ensuring compliance with regulatory standards. Both carriers are working toward 5G deployment, though infrastructure challenges remain.

Testing Jamaica Phone Number Validation

Test your implementation thoroughly with test cases for valid and invalid number formats, edge cases, and potential user input errors.

javascript
const testCases = [
  { input: '+18765550123', expected: '+18765550123', description: 'Valid E.164 format (876)' },
  { input: '+16585550123', expected: '+16585550123', description: 'Valid E.164 format (658)' },
  { input: '876-555-0123', expected: '+18765550123', description: 'Valid local format with hyphens' },
  { input: '658 555 0123', expected: '+16585550123', description: 'Valid number with new area code' },
  { input: '1 (876) 555-0123', expected: '+18765550123', description: 'Valid with country code and formatting' },
  { input: '+18005550123', expected: '+18005550123', description: 'Valid toll-free number (requires allowTollFree: true)' },
  { input: '+19005550123', expected: '+19005550123', description: 'Valid premium number (requires allowPremium: true)' },
  { input: '8765550123', expected: '+18765550123', description: 'Valid 10-digit format without country code' },

  // Invalid cases
  { input: '1876555012', expected: null, description: 'Invalid length (9 digits)' },
  { input: '+11234567890', expected: null, description: 'Invalid area code (123)' },
  { input: '+18761550123', expected: null, description: 'Invalid exchange (starts with 1)' },
  { input: '+18760550123', expected: null, description: 'Invalid exchange (starts with 0)' },
  { input: '+18760000000', expected: null, description: 'Invalid all zeros in exchange/line' },
  { input: '876-555-01234', expected: null, description: 'Too many digits' },
  { input: 'abc-def-ghij', expected: null, description: 'Non-numeric input' },
];

testCases.forEach(({ input, expected, description }) => {
  const result = normalizeJamaicanNumber(input);
  const pass = result === expected;
  console.log(`${pass ? '✓' : '✗'} ${description}: ${pass ? 'Pass' : `Fail (expected ${expected}, got ${result})`}`);
});

// Test emergency numbers (should not be normalized)
const emergencyNumbers = ['110', '119', '112', '911'];
emergencyNumbers.forEach(num => {
  console.log(`Emergency ${num}: Should be handled separately, not validated as regular number`);
});

Integration Testing with Popular Libraries:

javascript
// Using google-libphonenumber
import { parsePhoneNumber } from 'libphonenumber-js';

function validateWithLibphonenumber(phoneNumber) {
  try {
    const parsed = parsePhoneNumber(phoneNumber, 'JM');
    return {
      valid: parsed.isValid(),
      e164: parsed.format('E.164'),
      national: parsed.format('NATIONAL'),
      type: parsed.getType(), // 'MOBILE' or 'FIXED_LINE' (note: unreliable in Jamaica due to portability)
    };
  } catch (error) {
    return { valid: false, error: error.message };
  }
}

Frequently Asked Questions

What is Jamaica's country code for international calls?

Jamaica's country code is +1, shared with other North American Numbering Plan (NANP) countries. To call Jamaica from abroad, dial +1 followed by the area code (876 or 658) and the seven-digit local number.

How many area codes does Jamaica have?

Jamaica has two area codes: 876 (introduced May 1, 1997) and 658 (introduced April 30, 2019). Area code 658 is an overlay, meaning both codes serve the same geographic area.

Do I need to dial 10 digits for local calls in Jamaica?

Yes. Since March 31, 2019, all calls within Jamaica require 10-digit dialing (area code + seven-digit number). This became mandatory when the 658 overlay was implemented.

Can I keep my phone number if I switch carriers in Jamaica?

Yes. Number portability has been available in Jamaica since May 2015, allowing you to switch between FLOW and Digicel while retaining your existing phone number. The process typically takes 1–5 business days.

What format should I use to store Jamaica phone numbers in a database?

Use E.164 format (+18765550123 or +16585550123) for storage. This international standard ensures consistency, portability, and compatibility with telecommunication systems worldwide.

How can I distinguish between mobile and landline numbers in Jamaica?

Jamaica does not use specific number ranges to distinguish mobile from landline numbers – both use the same NXX-XXXX format. Due to number portability, historical patterns are also unreliable. Use a phone number lookup API for real-time line type identification.

What are Jamaica's emergency numbers?

Jamaica's primary emergency numbers are 119 (Police direct access) and 110 (Fire/Police/Ambulance via operator). Alternative numbers 112 and 911 are also supported, primarily for mobile phones and international travelers, routing to emergency services per ITU-T Recommendation E.161.1.

How do I handle SMS delivery to Jamaica numbers?

Use E.164 format for API calls to SMS gateways. Be aware of character limits (160 for standard SMS, 70 for Unicode), obtain explicit opt-in consent per Jamaica's Data Protection Act, and implement delivery receipt tracking. Both major carriers (FLOW and Digicel) support standard SMPP and HTTP SMS APIs.

What validation should I perform for toll-free and premium numbers?

Toll-free numbers use the format +1-8XX-XXX-XXXX (where XX = 00, 33, 44, 55, 66, 77, or 88) and premium numbers use +1-900-XXX-XXXX. Validate these separately from geographic numbers, as they follow different routing and billing rules. Always include the country code +1 when storing these numbers.

This guide provides a robust and practical resource for developers working with Jamaican phone numbers. Consult the OUR website and relevant documentation for the most up-to-date information and regulations.