How to use the ssn validator
- Type or paste a nine-digit number into the field, using either
123-45-6789or123456789format. - The SSN validator checks that the input is nine digits or the standard hyphenated layout.
- It checks the area, group and serial numbers against current SSA rules.
- Review the rule table to see exactly which check passed or failed.
How the SSN format rules work
A US Social Security Number contains nine digits split into three parts: the area number (first three digits), the group number (middle two digits) and the serial number (last four digits). Since the SSA introduced randomization on June 25, 2011, the area number no longer corresponds to a geographic region. Instead, the following rules determine whether a number has a valid format:
- The area number cannot be 000, 666, or anything from 900 to 999.
- The group number cannot be 00.
- The serial number cannot be 0000.
For example, take the input 123-45-6789. The area is 123 (not 000, 666 or 900+), the group is 45 (not 00) and the serial is 6789 (not 0000). Every rule passes, so this social security number validator reports a valid format.
Common invalid patterns
The table below shows inputs that fail specific rules. Use these as test cases when building forms or writing validation logic.
| Input | Failed Rule | Reason |
|---|---|---|
000-12-3456 | Area not 000 | Area is all zeros |
666-12-3456 | Area not 666 | Area is reserved |
900-12-3456 | Area not 900-999 | 900 series used for ITINs |
123-00-4567 | Group not 00 | Group is all zeros |
123-45-0000 | Serial not 0000 | Serial is all zeros |
12345678 | Exactly 9 digits | Only eight digits provided |
Only two layouts are accepted: nine digits (123456789) or the standard 123-45-6789 with hyphens after the third and fifth digits. Any other layout, including extra or misplaced hyphens, letters or spaces, is reported as invalid format.
Format validation versus issuance verification
This tool is a format checker. It confirms that a string of digits follows the structural rules published by the Social Security Administration. It does not query any government database, and it cannot tell you whether a particular number was actually issued to a person. If you need to verify identity or employment eligibility, use the official E-Verify system or contact the SSA directly.
Developers often pair an SSN checker with other validation utilities. For instance, a credit card validator uses the Luhn algorithm to confirm payment card numbers, while an IBAN validator checks international bank account formats. Each tool verifies structure, not account status.
The Woolworth wallet number
The number 078-05-1120 is one of the most famous Social Security Numbers in history. In 1938, the E.H. Ferree Company inserted a sample card bearing this number into wallets sold at Woolworth stores to demonstrate how the new cards would fit. Thousands of people began using it as their own, and the SSA eventually had to void it. Despite being retired, 078-05-1120 still passes every structural rule in this SSN validator because its area (078), group (05) and serial (1120) are all within the allowed ranges. This illustrates why format validation alone cannot confirm that a number is active or assigned.
Using the SSN checker in development
When building web forms that collect taxpayer or employee data, client-side format validation prevents obvious typos before submission. A typical regular expression for the post-2011 rules looks like this:
^(?!000|666|9\d{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
This pattern enforces the same constraints as the tool above: it rejects areas starting with 9, the exact values 000 and 666, a group of 00 and a serial of 0000. You can adapt it to accept unhyphenated input by making the dashes optional. Always remember to validate again on the server, since client-side checks can be bypassed.
If your project requires generating placeholder data for testing, consider using a dedicated fake name generator rather than inventing numbers that might accidentally belong to someone.
Worked examples
| Example | Input | Result |
|---|---|---|
| Valid format | Social Security Number: 123-45-6789 | Verdict: Valid format; Formatted: 123-45-6789; Area not 000: Pass; Area not 666: Pass; Area not 900-999: Pass; Group not 00: Pass; Serial not 0000: Pass; Exactly 9 digits: Pass |
| Woolworth wallet number | Social Security Number: 078-05-1120 | Verdict: Valid format; Formatted: 078-05-1120; Area not 000: Pass; Area not 666: Pass; Area not 900-999: Pass; Group not 00: Pass; Serial not 0000: Pass; Exactly 9 digits: Pass |
| Invalid area (000) | Social Security Number: 000-12-3456 | Verdict: Invalid format; Formatted: 000-12-3456; Area not 000: Fail; Area not 666: Pass; Area not 900-999: Pass; Group not 00: Pass; Serial not 0000: Pass; Exactly 9 digits: Pass |
| Invalid group (00) | Social Security Number: 123-00-4567 | Verdict: Invalid format; Formatted: 123-00-4567; Area not 000: Pass; Area not 666: Pass; Area not 900-999: Pass; Group not 00: Fail; Serial not 0000: Pass; Exactly 9 digits: Pass |
FAQ
Does this SSN validator confirm that a number belongs to someone?
No. It only checks whether the digits follow the structural rules set by the SSA. It cannot look up records or confirm issuance.
Is my input stored or transmitted?
No. The validation logic runs entirely in your browser. Nothing you type is uploaded, logged or stored.
Why are area numbers 900 through 999 invalid?
The SSA reserves the 900 series for Individual Taxpayer Identification Numbers (ITINs) and certain programmatic uses, so they are never issued as standard Social Security Numbers.
Can I enter the number without hyphens?
Yes. The tool accepts 123-45-6789 and 123456789. Hyphens must be in the standard positions or absent.
Did the 2011 randomization change the validation rules?
Randomization removed the geographic meaning of the area number and allowed previously unused combinations, but the prohibitions on 000, 666, 900-999, group 00 and serial 0000 remained in place.
What is the difference between this tool and a credit card validator?
A credit card validator applies the Luhn checksum algorithm to payment card numbers. An SSN checker validates structural rules instead, because Social Security Numbers do not use a checksum.