Show your work
Every number Seen NC publishes, and the archive underneath it. North Carolina's DMV publishes the current instant and keeps nothing. We keep all of it — so this page is the whole table, including the parts that are empty.
Rebuilt October 8, 2026 at 7:31 AM ET · office statistics generated 2026-10-08 11:31:15 UTC
The archive
Two feeds, both the state's own, read on a schedule through every business day and appended to a file that is never rewritten. The lobby feed reports the average and longest wait for people already inside an office. The capacity feed — the newer one behind the state's office-status tool — counts the people waiting in their cars too, and is the only usable source for the metros once their lobbies fill and the lobby feed stops counting the overflow.
- Readings archived
- 291,224
- Collection passes
- 2,468 · every 20 min at first, every 10 min from Aug 24
- Date range
- Aug 19 – Oct 8, 2026
- Days with readings
- 37 · 35 full collection days
- Offices tracked
- 113 in 83 counties
- Office reported open
- 200,604 readings
- Office reported closed
- 90,620 readings
- Carried a lobby wait
- 286,288 readings
- Carried a capacity wait
- 232,755 readings
- Offices with a published typical wait
- 93 of 113
- Offices with a published closing wait
- 93 of 113
- Readings discarded as stuck counters
- 64 · 0.03% of open readings with a wait
The capacity feed arrived partway through — 276,592 of the 291,224 rows we hold were collected after it was wired in, and 232,755 of those actually carried a capacity wait. That is why the two feed counts do not add up to the row count, and it is also why the capacity history is shorter than the lobby history for every office that depends on it.
Day by day
The polling rate changed partway through, and that matters more than it looks. The collector began at about one reading every 20 minutes and settled at every 10 from Aug 24, widening its daily window at the same time. So a day late in the archive holds roughly half again as many readings as a day at the start — raw reading counts are not comparable across days, and anything built on these numbers should aggregate per day before comparing days, not pool the rows. Nothing published on this site pools them; every daily figure is computed per day first.
The missing dates are weekends. Driver-license offices are shut Saturday and Sunday and the collector does not run, so those are the offices' gaps rather than outages in the archive. The first entry is a single evening test pass, kept rather than quietly deleted.
| Day | Weekday | Passes | Readings | Office open | Polling interval |
|---|---|---|---|---|---|
| Aug 19 | Wednesday | 1 | 118 | 2 | — |
| Aug 20 | Thursday | 44 | 5,192 | 3,780 | every 20 min |
| Aug 21 | Friday | 53 | 6,254 | 4,021 | every 11 min |
| Aug 24 | Monday | 73 | 8,614 | 6,147 | every 10 min |
| Aug 25 | Tuesday | 72 | 8,496 | 6,032 | every 10 min |
| Aug 26 | Wednesday | 72 | 8,496 | 5,961 | every 10 min |
| Aug 27 | Thursday | 72 | 8,496 | 6,030 | every 10 min |
| Aug 28 | Friday | 72 | 8,496 | 6,027 | every 10 min |
| Aug 31 | Monday | 73 | 8,614 | 6,145 | every 10 min |
| Sep 1 | Tuesday | 72 | 8,496 | 6,027 | every 10 min |
| Sep 2 | Wednesday | 72 | 8,496 | 5,957 | every 10 min |
| Sep 3 | Thursday | 70 | 8,260 | 5,908 | every 10 min |
| Sep 4 | Friday | 72 | 8,496 | 6,024 | every 10 min |
| Sep 7 | Monday | 71 | 8,378 | 193 | every 10 min |
| Sep 8 | Tuesday | 72 | 8,496 | 6,033 | every 10 min |
| Sep 9 | Wednesday | 72 | 8,496 | 6,067 | every 10 min |
| Sep 10 | Thursday | 72 | 8,496 | 6,030 | every 10 min |
| Sep 11 | Friday | 72 | 8,496 | 6,027 | every 10 min |
| Sep 14 | Monday | 72 | 8,496 | 6,030 | every 10 min |
| Sep 15 | Tuesday | 71 | 8,378 | 6,128 | every 10 min |
| Sep 16 | Wednesday | 67 | 7,906 | 5,594 | every 10 min |
| Sep 17 | Thursday | 72 | 8,496 | 6,137 | every 10 min |
| Sep 18 | Friday | 72 | 8,496 | 5,914 | every 10 min |
| Sep 21 | Monday | 72 | 8,496 | 6,030 | every 10 min |
| Sep 22 | Tuesday | 71 | 8,378 | 6,023 | every 10 min |
| Sep 23 | Wednesday | 72 | 8,496 | 6,067 | every 10 min |
| Sep 24 | Thursday | 72 | 8,496 | 6,030 | every 10 min |
| Sep 25 | Friday | 72 | 8,496 | 6,027 | every 10 min |
| Sep 28 | Monday | 72 | 8,496 | 6,030 | every 10 min |
| Sep 29 | Tuesday | 72 | 8,496 | 6,030 | every 10 min |
| Sep 30 | Wednesday | 71 | 8,378 | 6,062 | every 10 min |
| Oct 1 | Thursday | 72 | 8,496 | 6,030 | every 10 min |
| Oct 2 | Friday | 72 | 8,496 | 6,027 | every 10 min |
| Oct 5 | Monday | 72 | 8,496 | 6,030 | every 10 min |
| Oct 6 | Tuesday | 72 | 8,496 | 6,032 | every 10 min |
| Oct 7 | Wednesday | 71 | 8,378 | 5,952 | every 10 min |
| Oct 8 | Thursday | 4 | 472 | 20 | every 10 min |
All 113 offices
Sorted A–Z so you can find yours. The # column is that office's statewide rank by typical wait — 1 is the longest — so this table is also the full ranking, not just the top ten the report shows. Every figure is defined in the methodology; an em dash means not measured, and never zero.
Typical = median wait while open. Busiest hour = the worst hour of the day and its median wait. Peak day = median of each day's worst reading. At closing = last wait reported before the office stopped taking people, median across observed closings. Quiet = 0–100, where 100 is walk right in.
| # | Office | Readings | Typical | Busiest hour | Peak day | At closing | Quiet |
|---|---|---|---|---|---|---|---|
| 12 | AberdeenMoore | 2,468 | 9 m | 2pm17 m | 44 m | 10 m34 days | 68 |
| 39 | Adjacent to The Kenansville Town HallDuplin | 2,468 | 0 m | 9am21 m | 42 m | 8 m34 days | 72 |
| 40 | AhoskieHertford | 2,468 | 0 m | 11am3 m | 34 m | 6 m34 days | 76 |
| 41 | AlbemarleStanly | 2,468 | 0 m | 9am4 m | 44 m | 6 m34 days | 73 |
| 42 | AndrewsCherokee | 2,468 | 0 m | — | 11 m | 2 m34 days | 99 |
| 43 | Ashe County Law Enforcement CenterAshe | 2,468 | 0 m | — | 20 m | 6 m34 days | 94 |
| 23 | AsheboroRandolph | 2,468 | 4 m | 10am19 m | 46 m | 5 m34 days | 63 |
| — | Avent Ferry Shopping CenterWake | 2,468 | feed-blind — lobby numbers withheld | ||||
| 44 | BooneWatauga | 2,468 | 0 m | 1pm10 m | 1h 00m | 3 m34 days | 68 |
| 45 | BrevardTransylvania | 2,468 | 0 m | 10am3 m | 28 m | 6 m34 days | 89 |
| 46 | Bryson CitySwain | 2,468 | 0 m | — | 31 m | 10 m34 days | 93 |
| 21 | BurgawPender | 2,468 | 6 m | 9am14 m | 1h 13m | 16 m34 days | 49 |
| 47 | BurnsvilleYancey | 2,468 | 0 m | — | 33 m | 5 m34 days | 87 |
| 13 | Carrboro Plaza Shopping CenterOrange | 2,468 | 9 m | 10am27 m | 51 m | 9 m34 days | 56 |
| 33 | ClintonSampson | 2,468 | 1 m | 3pm12 m | 56 m | 18 m34 days | 70 |
| 48 | ClydeHaywood | 2,468 | 0 m | — | 26 m | 6 m34 days | 89 |
| — | ConcordCabarrus | 2,468 | feed-blind — lobby numbers withheld | ||||
| 49 | Craven County Office BuildingCraven | 2,468 | 0 m | 3pm3 m | 42 m | 10 m34 days | 79 |
| 14 | Design CenterIredell | 2,468 | 9 m | 11am25 m | 1h 02m | 6 m34 days | 57 |
| — | East AshevilleBuncombe | 2,468 | feed-blind — lobby numbers withheld | ||||
| — | East CharlotteMecklenburg | 2,468 | feed-blind — lobby numbers withheld | ||||
| — | East DurhamDurham | 2,468 | feed-blind — lobby numbers withheld | ||||
| — | East GreensboroGuilford | 2,468 | feed-blind — lobby numbers withheld | ||||
| 50 | EdentonChowan | 2,468 | 0 m | 1pm1 m | 24 m | 6 m34 days | 88 |
| 3 | Elizabeth CityPasquotank | 2,468 | 18 m | 12pm34 m | 1h 08m | 10 m34 days | 51 |
| 51 | ElizabethtownBladen | 2,468 | 0 m | 1pm1 m | 34 m | 9 m34 days | 81 |
| 52 | ElkinSurry | 2,468 | 0 m | — | 38 m | 7 m34 days | 80 |
| 29 | ErwinHarnett | 2,468 | 2 m | 9am10 m | 52 m | 8 m34 days | 62 |
| 53 | Forest CityRutherford | 2,468 | 0 m | — | 32 m | 5 m34 days | 86 |
| 11 | Forest Hills Shopping CenterWake | 2,468 | 10 m | 11am25 m | 1h 03m | 6 m34 days | 42 |
| 54 | FranklinMacon | 2,468 | 0 m | — | 34 m | 8 m34 days | 85 |
| — | Freeman CenterWake | 2,468 | feed-blind — lobby numbers withheld | ||||
| 7 | Fuquay-Varina Municipal BuildingWake | 2,468 | 12 m | 12pm21 m | 53 m | 12 m34 days | 46 |
| 55 | GarlandSampson | 2,468 | 0 m | — | 5 m | 2 m34 days | 100 |
| 34 | GastoniaGaston | 2,468 | 1 m | 12pm11 m | 31 m | 4 m34 days | 78 |
| 4 | GoldsboroWayne | 2,468 | 18 m | 2pm30 m | 1h 08m | 20 m34 days | 39 |
| 1 | GrahamAlamance | 2,468 | 25 m | 10am51 m | 1h 16m | 6 m34 days | 29 |
| — | GreenvillePitt | 2,468 | feed-blind — lobby numbers withheld | ||||
| 56 | HamletRichmond | 2,468 | 0 m | — | 27 m | 6 m34 days | 81 |
| 57 | HendersonVance | 2,468 | 0 m | 2pm6 m | 36 m | 8 m34 days | 81 |
| 8 | HendersonvilleHenderson | 2,468 | 12 m | 10am29 m | 1h 33m | 14 m34 days | 41 |
| — | High PointGuilford | 2,468 | feed-blind — lobby numbers withheld | ||||
| 58 | Highway Patrol BuildingScotland | 2,468 | 0 m | — | 18 m | 5 m34 days | 90 |
| 15 | HillsboroughOrange | 2,468 | 9 m | 2pm15 m | 57 m | 11 m34 days | 48 |
| — | Hope Valley Commons Shopping CenterDurham | 2,468 | feed-blind — lobby numbers withheld | ||||
| 59 | HudsonCaldwell | 2,468 | 0 m | 10am4 m | 38 m | 6 m34 days | 77 |
| 35 | HuntersvilleMecklenburg | 2,468 | 1 m | 12pm18 m | 42 m | 2 m34 days | 64 |
| 5 | JacksonvilleOnslow | 2,468 | 18 m | 12pm39 m | 1h 02m | 10 m34 days | 39 |
| 60 | KernersvilleForsyth | 2,468 | 0 m | 1pm4 m | 38 m | 3 m34 days | 75 |
| 24 | KinstonLenoir | 2,468 | 4 m | 1pm12 m | 49 m | 11 m34 days | 56 |
| 61 | LelandBrunswick | 2,468 | 0 m | 1pm2 m | 20 m | 2 m34 days | 90 |
| 62 | Lenoir-Rhyne PlazaCatawba | 2,468 | 0 m | 10am7 m | 32 m | 4 m34 days | 80 |
| 25 | LexingtonDavidson | 2,468 | 4 m | 2pm8 m | 40 m | 6 m34 days | 75 |
| 63 | LillingtonHarnett | 2,468 | 0 m | 9am4 m | 44 m | 4 m34 days | 64 |
| 64 | LincolntonLincoln | 2,468 | 0 m | — | 25 m | 3 m34 days | 85 |
| 2 | LouisburgFranklin | 2,468 | 24 m | 10am41 m | 1h 12m | 24 m34 days | 42 |
| 65 | LumbertonRobeson | 2,468 | 0 m | 12pm11 m | 38 m | 4 m34 days | 81 |
| 66 | MarionMcDowell | 2,468 | 0 m | — | 36 m | 5 m34 days | 87 |
| 67 | MarshallMadison | 2,468 | 0 m | 10am2 m | 1h 04m | 7 m34 days | 74 |
| 68 | Martin County Government CenterMartin | 2,468 | 0 m | — | 0 m | 0 m34 days | 100 |
| 69 | MocksvilleDavie | 2,468 | 0 m | — | 42 m | 6 m34 days | 73 |
| 17 | MonroeUnion | 2,468 | 8 m | 1pm20 m | 48 m | 6 m34 days | 46 |
| 36 | Morehead CityCarteret | 2,468 | 1 m | 2pm14 m | 48 m | 11 m34 days | 78 |
| 37 | MorgantonBurke | 2,468 | 1 m | 10am18 m | 56 m | 8 m34 days | 62 |
| 70 | Mount AirySurry | 2,468 | 0 m | — | 42 m | 8 m34 days | 71 |
| 38 | Mount HollyGaston | 2,468 | 1 m | 8am5 m | 45 m | 6 m34 days | 70 |
| 10 | Nags HeadDare | 2,468 | 11 m | 2pm21 m | 1h 14m | 19 m34 days | 44 |
| 27 | New BernCraven | 2,468 | 3 m | 9am8 m | 44 m | 7 m34 days | 64 |
| 71 | Newland Town HallAvery | 2,468 | 0 m | — | 28 m | 6 m34 days | 92 |
| 72 | NewtonCatawba | 2,468 | 0 m | — | 18 m | 3 m34 days | 92 |
| — | North CharlotteMecklenburg | 2,468 | feed-blind — lobby numbers withheld | ||||
| 28 | OxfordGranville | 2,468 | 3 m | 9am29 m | 1h 00m | 12 m34 days | 41 |
| 73 | PembrokeRobeson | 2,468 | 0 m | — | 0 m | 0 m34 days | 100 |
| 74 | PolktonAnson | 2,468 | 0 m | 8am4 m | 24 m | 2 m34 days | 86 |
| 30 | RaefordHoke | 2,468 | 2 m | 11am15 m | 50 m | 7 m34 days | 64 |
| 75 | Roanoke RapidsHalifax | 2,468 | 0 m | 1pm1 m | 34 m | 5 m34 days | 60 |
| 31 | Rocky MountNash | 2,468 | 2 m | 1pm7 m | 32 m | 4 m34 days | 71 |
| 76 | RoxboroPerson | 2,468 | 0 m | 8am7 m | 37 m | 7 m34 days | 68 |
| 77 | SalisburyRowan | 2,468 | 0 m | — | 17 m | 2 m34 days | 89 |
| 78 | SanfordLee | 2,468 | 0 m | 8am4 m | 28 m | 4 m34 days | 81 |
| 26 | ShallotteBrunswick | 2,468 | 4 m | 2pm22 m | 49 m | 8 m34 days | 66 |
| 32 | ShelbyCleveland | 2,468 | 2 m | 10am12 m | 52 m | 8 m34 days | 67 |
| 19 | Shotwell StationJohnston | 2,468 | 7 m | 9am15 m | 52 m | 6 m34 days | 44 |
| 79 | Siler CityChatham | 2,468 | 0 m | 8am8 m | 35 m | 3 m34 days | 73 |
| 9 | SmithfieldJohnston | 2,468 | 12 m | 10am37 m | 1h 16m | 16 m34 days | 37 |
| — | South CharlotteMecklenburg | 2,468 | feed-blind — lobby numbers withheld | ||||
| — | South FayettevilleCumberland | 2,468 | feed-blind — lobby numbers withheld | ||||
| 16 | South Square PlazaNew Hanover | 2,468 | 9 m | 12pm22 m | 46 m | 6 m34 days | 58 |
| 80 | SpartaAlleghany | 2,468 | 0 m | — | 6 m | 4 m34 days | 100 |
| — | Spring Forest PavilionWake | 2,468 | feed-blind — lobby numbers withheld | ||||
| 81 | Spruce PineMitchell | 2,468 | 0 m | — | 10 m | 3 m34 days | 100 |
| 82 | StatesvilleIredell | 2,468 | 0 m | 2pm3 m | 32 m | 6 m34 days | 83 |
| 83 | StedmanCumberland | 2,468 | 0 m | 9am9 m | 49 m | 8 m34 days | 73 |
| 84 | SylvaJackson | 2,468 | 0 m | — | 6 m | 2 m34 days | 100 |
| 85 | TarboroEdgecombe | 2,468 | 0 m | — | 22 m | 4 m34 days | 88 |
| 86 | TaylorsvilleAlexander | 2,468 | 0 m | 8am3 m | 42 m | 8 m34 days | 69 |
| 22 | ThomasvilleDavidson | 2,468 | 5 m | 10am13 m | 48 m | 5 m34 days | 66 |
| 87 | TroyMontgomery | 2,468 | 0 m | — | 41 m | 6 m34 days | 75 |
| 88 | WashingtonBeaufort | 2,468 | 0 m | 1pm5 m | 30 m | 7 m34 days | 79 |
| 20 | WendellWake | 2,468 | 7 m | 2pm21 m | 47 m | 10 m34 days | 57 |
| 89 | WentworthRockingham | 2,468 | 0 m | 8am4 m | 34 m | 6 m34 days | 81 |
| — | West AshevilleBuncombe | 2,468 | feed-blind — lobby numbers withheld | ||||
| — | West CharlotteMecklenburg | 2,468 | feed-blind — lobby numbers withheld | ||||
| 6 | West FayettevilleCumberland | 2,468 | 16 m | 1pm43 m | 1h 14m | 11 m34 days | 29 |
| — | West GreensboroGuilford | 2,468 | feed-blind — lobby numbers withheld | ||||
| 90 | WhitevilleColumbus | 2,468 | 0 m | — | 27 m | 5 m34 days | 88 |
| 91 | WilkesboroWilkes | 2,468 | 0 m | — | 32 m | 8 m34 days | 85 |
| — | Wilmington NorthNew Hanover | 2,468 | feed-blind — lobby numbers withheld | ||||
| 18 | WilsonWilson | 2,468 | 8 m | 9am20 m | 42 m | 7 m34 days | 67 |
| — | Winston-Salem NorthForsyth | 2,468 | feed-blind — lobby numbers withheld | ||||
| — | Winston-Salem SouthForsyth | 2,468 | feed-blind — lobby numbers withheld | ||||
| 92 | YadkinvilleYadkin | 2,468 | 0 m | — | 36 m | 6 m34 days | 80 |
| 93 | YanceyvilleCaswell | 2,468 | 0 m | — | 2 m | 1 m7 days | 100 |
20 rows carry no wait figures at all. Those are the feed-blind offices — see below. We hold their readings; we do not publish a lobby number we know to be wrong.
By county
A cut this site has never shown. A county's median is taken across its offices' own published medians, not pooled across raw readings — an office sampled four times as often should not get four times the vote in how its county reads. Counties whose only offices are feed-blind show readings and a blind count, and no wait.
| County | Offices | Feed-blind | Readings | Median typical | Median at close | Longest typical wait in the county |
|---|---|---|---|---|---|---|
| Alamance | 1 | — | 2,468 | 25 m | 6 m | Graham25 m |
| Franklin | 1 | — | 2,468 | 24 m | 24 m | Louisburg24 m |
| Onslow | 1 | — | 2,468 | 18 m | 10 m | Jacksonville18 m |
| Pasquotank | 1 | — | 2,468 | 18 m | 10 m | Elizabeth City18 m |
| Wayne | 1 | — | 2,468 | 18 m | 20 m | Goldsboro18 m |
| Henderson | 1 | — | 2,468 | 12 m | 14 m | Hendersonville12 m |
| Dare | 1 | — | 2,468 | 11 m | 19 m | Nags Head11 m |
| Johnston | 2 | — | 4,936 | 10 m | 11 m | Smithfield12 m |
| Wake | 6 | 3 | 14,808 | 10 m | 10 m | Fuquay-Varina Municipal Building12 m |
| Moore | 1 | — | 2,468 | 9 m | 10 m | Aberdeen9 m |
| New Hanover | 2 | 1 | 4,936 | 9 m | 6 m | South Square Plaza9 m |
| Orange | 2 | — | 4,936 | 9 m | 10 m | Carrboro Plaza Shopping Center9 m |
| Cumberland | 3 | 1 | 7,404 | 8 m | 10 m | West Fayetteville16 m |
| Union | 1 | — | 2,468 | 8 m | 6 m | Monroe8 m |
| Wilson | 1 | — | 2,468 | 8 m | 7 m | Wilson8 m |
| Pender | 1 | — | 2,468 | 6 m | 16 m | Burgaw6 m |
| Davidson | 2 | — | 4,936 | 4 m | 6 m | Thomasville5 m |
| Iredell | 2 | — | 4,936 | 4 m | 6 m | Design Center9 m |
| Lenoir | 1 | — | 2,468 | 4 m | 11 m | Kinston4 m |
| Randolph | 1 | — | 2,468 | 4 m | 5 m | Asheboro4 m |
| Granville | 1 | — | 2,468 | 3 m | 12 m | Oxford3 m |
| Brunswick | 2 | — | 4,936 | 2 m | 5 m | Shallotte4 m |
| Cleveland | 1 | — | 2,468 | 2 m | 8 m | Shelby2 m |
| Craven | 2 | — | 4,936 | 2 m | 8 m | New Bern3 m |
| Hoke | 1 | — | 2,468 | 2 m | 7 m | Raeford2 m |
| Nash | 1 | — | 2,468 | 2 m | 4 m | Rocky Mount2 m |
| Burke | 1 | — | 2,468 | 1 m | 8 m | Morganton1 m |
| Carteret | 1 | — | 2,468 | 1 m | 11 m | Morehead City1 m |
| Gaston | 2 | — | 4,936 | 1 m | 5 m | Gastonia1 m |
| Harnett | 2 | — | 4,936 | 1 m | 6 m | Erwin2 m |
| Mecklenburg | 5 | 4 | 12,340 | 1 m | 2 m | Huntersville1 m |
| Alexander | 1 | — | 2,468 | 0 m | 8 m | Taylorsville0 m |
| Alleghany | 1 | — | 2,468 | 0 m | 4 m | Sparta0 m |
| Anson | 1 | — | 2,468 | 0 m | 2 m | Polkton0 m |
| Ashe | 1 | — | 2,468 | 0 m | 6 m | Ashe County Law Enforcement Center0 m |
| Avery | 1 | — | 2,468 | 0 m | 6 m | Newland Town Hall0 m |
| Beaufort | 1 | — | 2,468 | 0 m | 7 m | Washington0 m |
| Bladen | 1 | — | 2,468 | 0 m | 9 m | Elizabethtown0 m |
| Caldwell | 1 | — | 2,468 | 0 m | 6 m | Hudson0 m |
| Caswell | 1 | — | 2,468 | 0 m | 1 m | Yanceyville0 m |
| Catawba | 2 | — | 4,936 | 0 m | 4 m | Lenoir-Rhyne Plaza0 m |
| Chatham | 1 | — | 2,468 | 0 m | 3 m | Siler City0 m |
| Cherokee | 1 | — | 2,468 | 0 m | 2 m | Andrews0 m |
| Chowan | 1 | — | 2,468 | 0 m | 6 m | Edenton0 m |
| Columbus | 1 | — | 2,468 | 0 m | 5 m | Whiteville0 m |
| Davie | 1 | — | 2,468 | 0 m | 6 m | Mocksville0 m |
| Duplin | 1 | — | 2,468 | 0 m | 8 m | Adjacent to The Kenansville Town Hall0 m |
| Edgecombe | 1 | — | 2,468 | 0 m | 4 m | Tarboro0 m |
| Forsyth | 3 | 2 | 7,404 | 0 m | 3 m | Kernersville0 m |
| Halifax | 1 | — | 2,468 | 0 m | 5 m | Roanoke Rapids0 m |
| Haywood | 1 | — | 2,468 | 0 m | 6 m | Clyde0 m |
| Hertford | 1 | — | 2,468 | 0 m | 6 m | Ahoskie0 m |
| Jackson | 1 | — | 2,468 | 0 m | 2 m | Sylva0 m |
| Lee | 1 | — | 2,468 | 0 m | 4 m | Sanford0 m |
| Lincoln | 1 | — | 2,468 | 0 m | 3 m | Lincolnton0 m |
| Macon | 1 | — | 2,468 | 0 m | 8 m | Franklin0 m |
| Madison | 1 | — | 2,468 | 0 m | 7 m | Marshall0 m |
| Martin | 1 | — | 2,468 | 0 m | 0 m | Martin County Government Center0 m |
| McDowell | 1 | — | 2,468 | 0 m | 5 m | Marion0 m |
| Mitchell | 1 | — | 2,468 | 0 m | 3 m | Spruce Pine0 m |
| Montgomery | 1 | — | 2,468 | 0 m | 6 m | Troy0 m |
| Person | 1 | — | 2,468 | 0 m | 7 m | Roxboro0 m |
| Richmond | 1 | — | 2,468 | 0 m | 6 m | Hamlet0 m |
| Robeson | 2 | — | 4,936 | 0 m | 2 m | Lumberton0 m |
| Rockingham | 1 | — | 2,468 | 0 m | 6 m | Wentworth0 m |
| Rowan | 1 | — | 2,468 | 0 m | 2 m | Salisbury0 m |
| Rutherford | 1 | — | 2,468 | 0 m | 5 m | Forest City0 m |
| Sampson | 2 | — | 4,936 | 0 m | 10 m | Clinton1 m |
| Scotland | 1 | — | 2,468 | 0 m | 5 m | Highway Patrol Building0 m |
| Stanly | 1 | — | 2,468 | 0 m | 6 m | Albemarle0 m |
| Surry | 2 | — | 4,936 | 0 m | 8 m | Elkin0 m |
| Swain | 1 | — | 2,468 | 0 m | 10 m | Bryson City0 m |
| Transylvania | 1 | — | 2,468 | 0 m | 6 m | Brevard0 m |
| Vance | 1 | — | 2,468 | 0 m | 8 m | Henderson0 m |
| Watauga | 1 | — | 2,468 | 0 m | 3 m | Boone0 m |
| Wilkes | 1 | — | 2,468 | 0 m | 8 m | Wilkesboro0 m |
| Yadkin | 1 | — | 2,468 | 0 m | 6 m | Yadkinville0 m |
| Yancey | 1 | — | 2,468 | 0 m | 5 m | Burnsville0 m |
| Buncombe | 2 | 2 | 4,936 | — | — | — |
| Cabarrus | 1 | 1 | 2,468 | — | — | — |
| Durham | 2 | 2 | 4,936 | — | — | — |
| Guilford | 3 | 3 | 7,404 | — | — | — |
| Pitt | 1 | 1 | 2,468 | — | — | — |
What the data can't tell you
This section is the point of the page. Everything below is a real count of a real limitation, and none of it is worked around quietly.
20 offices where the number stops counting once the lobby fills
The state's lobby feed clocks the wait once you are already inside, and it tracks congestion honestly as an office fills: bucketed by the capacity feed's fullness reading, the mean lobby wait at these offices climbs from 0 to 10 to 23 to 36 minutes, and at 100% capacity it averages 69 minutes (p90 168). It does not read empty and it does not go flat.
What it cannot see is what happens once the lobby is full. That is when the overflow moves into a text-in virtual queue and people begin to be turned away — and nobody in that queue, or sent home, is counted. The blindness is conditional on congestion, not structural: below capacity the number is a fair read, and at capacity it becomes a floor on the visit rather than a measure of it. That is precisely where a ranking would use it, so these offices are excluded from every lobby-derived figure on this site, including every ranking above. We still hold their readings and still serve their capacity-feed numbers, because a worse-but-honest source beats a better-looking wrong one.
- Avent Ferry Shopping Center — 2,468 readings held, 2,024 of them from the capacity feed
- Concord — 2,468 readings held, 2,046 of them from the capacity feed
- East Asheville — 2,468 readings held, 2,100 of them from the capacity feed
- East Charlotte — 2,468 readings held, 2,012 of them from the capacity feed
- East Durham — 2,468 readings held, 2,026 of them from the capacity feed
- East Greensboro — 2,468 readings held, 1,988 of them from the capacity feed
- Freeman Center — 2,468 readings held, 2,034 of them from the capacity feed
- Greenville — 2,468 readings held, 2,083 of them from the capacity feed
- High Point — 2,468 readings held, 1,983 of them from the capacity feed
- Hope Valley Commons Shopping Center — 2,468 readings held, 2,051 of them from the capacity feed
- North Charlotte — 2,468 readings held, 2,024 of them from the capacity feed
- South Charlotte — 2,468 readings held, 1,969 of them from the capacity feed
- South Fayetteville — 2,468 readings held, 2,018 of them from the capacity feed
- Spring Forest Pavilion — 2,468 readings held, 2,115 of them from the capacity feed
- West Asheville — 2,468 readings held, 2,092 of them from the capacity feed
- West Charlotte — 2,468 readings held, 2,091 of them from the capacity feed
- West Greensboro — 2,468 readings held, 2,021 of them from the capacity feed
- Wilmington North — 2,468 readings held, 2,056 of them from the capacity feed
- Winston-Salem North — 2,468 readings held, 2,028 of them from the capacity feed
- Winston-Salem South — 2,468 readings held, 2,038 of them from the capacity feed
The capacity feed floors at 15 minutes
The capacity feed is the only measurement we have for those 20 offices, and it is coarse on purpose. It never reports a wait below 15 minutes and it moves in 5-minute steps. Every one of the 51 distinct values in the archive is a multiple of 5 minutes. They run from 10 m to 5h 45m — 51 values to describe that entire range.
Read that chart carefully, because it is the single easiest number on this site to over-read. 95,619 of 232,755 capacity readings — 41.1%, nearly two thirds — sit exactly on the 15-minute floor. "15 minutes" from this feed does not mean fifteen minutes. It means at or below fifteen, and the feed will not say where. The data is censored at its own floor.
Two things follow. A step from 15 to 20 minutes is one bucket — the smallest change this feed can express — so it is not evidence of a busier hour. And an office that sits on the floor most of the day has no resolvable hourly pattern at all: what looks like variation in its chart is quantization, not the line getting longer and shorter. Compare these offices across days and against each other. Do not read their hour-to-hour wiggle.
Readings we threw away
The state's "longest waiter" counter sometimes issues a ticket that is never cleared, and it climbs all day without resetting — producing a reported wait longer than the office has even been open. So every reading is bounded by minutes-since-open in local time, and anything longer is discarded before a single figure is computed. That rule removed 64 of 195,668 open readings carrying a wait, or 0.03%. Small, and it should be: the published waits use the average, which almost never runs away. The bound exists so it cannot.
A counter reset is not an empty lobby
When an office stops accepting new arrivals, the feed zeroes its counter while the people already in line are still being served, and the status stays open for a reading or two afterwards. A queue that drains from 31 minutes to nothing in ten did not drain. This has one consequence we will not talk our way around: a cleared line and a reset counter are identical in the data, so nothing on this site claims a line cleared. The "at closing" column is the last wait reported before that terminal run of zeros.
Rows we hold and do not publish
The lobby feed carries a people-waiting field. It was null in all 291,224 readings we have collected — the state defines the field and never fills it — so no head-count appears anywhere on this site, and none can.
The archive also covers 4 units that are not public driver-license offices — they are listed below, and they are things like a mobile unit and a commercial-licence skills testing site. That is 12,340 readings, 4.2% of the archive. They are kept — deleting readings because they are awkward is how an archive stops being worth trusting — and excluded from every figure on this site, including the 113-office table above. 4,936 of those readings are ones the feed itself flags as off-registry.
- Commercial Driver License Skills Testing Site — 4,936 readings
- Camp Lejeune Driver License Mobile Unit — 2,468 readings
- Fort Bragg Soldier Support Center — 2,468 readings off-registry
- Raleigh Central Services — 2,468 readings off-registry
Offices below the publication floor
An office needs 8 readings while open before any wait figure is published, and 2 observed closings before a closing wait is. Below either, the field is null and the interface says so rather than showing a number built on one afternoon. Right now, of the 93 offices the lobby feed can see: 0 are below the open-readings floor, 0 are without a published typical wait, and 0 are without a published closing wait.
And the honest limit of the whole thing
The archive is 37 days old. It cannot tell you whether waits are improving statewide, it cannot tell you what happens at an office on a Saturday, and it cannot promise you anything about your own visit. It is a record of what the state reported, sampled every few minutes through every business day and kept. Its value compounds: every day it runs, it becomes the only place a question about last month can be answered at all.