A fictional number is a phone number in a range that a numbering administrator keeps out of service so that it can be printed or broadcast in films, television, radio, advertising and other works of fiction without ringing anyone. In North America that is the 555-0100 to 555-0199 lines of every area code; in the United Kingdom it is the drama ranges Ofcom lists for each kind of number.
The ranges Spaw carries
Spaw bundles the ranges in one file, fictional-ranges (version 2026-09-27), and every valid answer outside the test numbers names the copy it used in sources. The North American block is one pattern, a hundred lines under each area code. Ofcom's ranges are twenty blocks of a thousand ten-digit numbers each:
| Ofcom drama range | line_type Spaw answers |
|---|---|
| 020 7946 0xxx (London) and fourteen other city ranges, from 0113 496 0xxx (Leeds) to 029 2018 0xxx (Cardiff) | fixed_line |
| 01632 960xxx, which belongs to no area | fixed_line |
| 07700 900xxx | mobile |
| 08081 570xxx | toll_free |
| 0909 8790xxx | premium_rate |
| 03069 990xxx | uan |
A number a digit short or long that merely starts with one of these prefixes is not in the range: it answers valid: false, with invalid_number when it is short and too_long when it is long, like any other number the plan does not allow.
The same file holds ARCEP's six audiovisual blocks (five under +33 as fixed_line, and 06 39 98, Mayotte's, under +262 as mobile), ACMA's eight geographic blocks and 41 single numbers (30 mobiles, six 1800 and five 1300), and ComReg's 089 011 0xxx (mobile) and 020 (no type, so its numbers stay invalid).
What Spaw answers
A number in one of these ranges answers valid: true, with the type the regulator gives the range even where libphonenumber's metadata lacks it (Ofcom's 0115 496 0xxx, 01632 960xxx and 07700 900xxx and ARCEP's 06 39 98 under +262 are missing from it), and is_fictional: true with the fictional signal, +80. Two kinds of entry stay invalid: a 555-01XX number under an area code that does not exist, and Ireland's 020 range, to which the plan gives no type. fictional is a default block signal of the SMS policy, so the answer is ok_to_send: false with blocked_by: "fictional". Other signals add to it, and the score is capped at 100:
- In the United States, its territories and Canada the 555 code itself is held back in NANPA's and CNAC's tables, so a 555-01XX number there usually carries
reserved_block(+40) as well: +1 212 555 0199 answersblock_status: "reserved"and a score of 100. Under an area code neither table covers, such as Jamaica's 876, the score stays 80. - 020 7946 0018 answers
fixed_line, 07700 900123 answersmobile, and both score 80. A number in the premium-rate drama range also carriespremium_rate(+60) and scores 100. - Ofcom's table lists some drama ranges as protected blocks, so their
block_statusisunassigned. The reason is neverunassigned_block: the range exists to be printed, not dialled.
A fictional number costs one credit like any valid number, and it is never sent to the live carrier check. The live carrier-network check (hlr: true) is not enabled on the service: hlr_checked answers false and nothing extra is charged. The test number +1 202 555 0105 answers the fictional scenario, free.
What it does not mean
It cannot say who typed the number or why. Test data, a placeholder in a form and a number copied from a film look the same.
It covers the ranges in the bundled file: North America's, Ofcom's, ARCEP's six audiovisual blocks, ACMA's creative-works numbers and ComReg's drama ranges, set out in fictional and test phone numbers. Other regulators may set numbers aside for drama too, and is_fictional: false means only that the number is outside the ranges Spaw carries, not that anyone can be reached on it. Each country's plan, and which tables Spaw reads for it, is under phone facts by country.