Use SSN Validator

Enter your data below to use the SSN Validator

📌 Try these examples:
RESULT

Last updated

US Social Security Number Format

A US Social Security Number (SSN) is a 9-digit number issued by the Social Security Administration (SSA) in the format AAA-BB-CCCC, where AAA is the area number, BB is the group number, and CCCC is the serial number. Since June 2011, the SSA uses randomized assignment, so the area number no longer indicates the state of issuance.

Invalid SSN Patterns

PatternReason Invalid
000-XX-XXXXArea number 000 is never assigned
666-XX-XXXXArea number 666 is never assigned
900–999-XX-XXXXArea numbers 900–999 are never assigned
XXX-00-XXXXGroup number 00 is never assigned
XXX-XX-0000Serial number 0000 is never assigned
078-05-1120Woolworth's wallet insert — widely publicized fake SSN
219-09-9999Used in advertisements — never a real SSN

SSN Validation in JavaScript

JavaScript
function validateSSN(ssn) {
  // Remove dashes and spaces
  const clean = ssn.replace(/[\s-]/g, '');

  // Must be exactly 9 digits
  if (!/^\d{9}$/.test(clean)) return { valid: false, reason: 'Must be 9 digits' };

  const area   = parseInt(clean.slice(0, 3));
  const group  = parseInt(clean.slice(3, 5));
  const serial = parseInt(clean.slice(5));

  if (area === 0)                    return { valid: false, reason: 'Area 000 invalid' };
  if (area === 666)                  return { valid: false, reason: 'Area 666 invalid' };
  if (area >= 900)                   return { valid: false, reason: 'Area 900-999 invalid' };
  if (group === 0)                   return { valid: false, reason: 'Group 00 invalid' };
  if (serial === 0)                  return { valid: false, reason: 'Serial 0000 invalid' };
  if (clean === '078051120')         return { valid: false, reason: 'Known fake SSN' };
  if (clean === '219099999')         return { valid: false, reason: 'Known fake SSN' };

  return { valid: true, formatted: `${clean.slice(0,3)}-${clean.slice(3,5)}-${clean.slice(5)}` };
}
ℹ️

SSN validation only checks format and known invalid patterns. It cannot verify whether a number was actually issued to a real person — that requires SSA database access.

Frequently Asked Questions

Simply enter your data, click the process button, and get instant results. All processing happens in your browser for maximum privacy and security.