Dangerous dog rules in British Columbia, by municipality
139 placesWhat the bylaws of 139 places in British Columbia say on the same question, side by side. Each cell is a short form of a fact that is sourced, quoted and checked on the place's own page.
| Place | Licence fee | Fine |
|---|---|---|
| 100 Mile House | None set | Notice $150 dangerous; $100 aggressive (paid in 14 days) |
| Abbotsford | $295 a year ($354 if not spayed or neutered) | Notice $500 (aggressive dog rules); $250 attack |
| Anmore | Not confirmed | Not confirmed |
| Armstrong | Not confirmed | Ticket $1,000 dangerous; $500 vicious; $200 aggressive |
| Ashcroft | $100 a year | Not confirmed |
| Barriere | None set | None set |
| Belcarra | None set | Notice $200 ($150 if paid in 14 days) |
| Bowen Island | Not confirmed | Notice $50 to $200 by offence (dangerous dog) |
| Burnaby | $132 a year ($200 if not spayed or neutered) | Notice $500 ($400 if paid within 15 days) |
| Campbell River | Not confirmed | Ticket $1,000 dangerous; $750 vicious |
| Canal Flats | Not confirmed | Notice $100 ($75 if paid in 14 days); ticket $100 |
| Castlegar | Dangerous $500; vicious $200; aggressive $100 | Ticket $50 first, $100 second, $150 third |
| Central Saanich | Not confirmed | Not confirmed |
| Chetwynd | None set | Ticket $75 first offence, plus $150 per dangerous dog |
| Chilliwack | $295 a year ($354 if not spayed or neutered) | Notice $500 (aggressive dog rules); $250 attack |
| Clearwater | None set | Ticket $500 ($400 if paid in 30 days); $1,000 attack |
| Coldstream | None set | Ticket $300 aggressive; $500 bite or no sign |
| Colwood | Dangerous $100 a year ($120 after March 1) | Notice $500; ticket $500 |
| Comox | $100 a year, plus $50 service fee | Notice $250 ($300 after 14 days); ticket $300 |
| Coquitlam | Vicious $209.90 to $262.40; aggressive $105 to $157.40 | Notice $200 to $400 ($300 to $500 full); ticket $1,000 |
| Courtenay | None set | Notice $500 ($375 if paid in 14 days) |
| Cranbrook | $225 (vicious dog); none for dangerous dog | Notice $500 ($475 if paid in 14 days); ticket $500 |
| Creston | $243 (if bought by March 31; $248 after) | Notice $475 ($450 early, $500 late) |
| Cumberland | $50 a year (aggressive or biting dog) | Ticket $500 to $1000 ($250 to $500 early) |
| Dawson Creek | Aggressive $183.43; high-risk $122.29 (plus taxes) | Notice $500; ticket $1,000 aggressive |
| Delta | $210 a year ($510 if not spayed or neutered) | Notice and ticket $100 to $300; severe attack $500 |
| District of North Vancouver | $116 a year (aggressive dog, spayed or neutered) | Notice $250, $350, $500 by offence number |
| Duncan | $215 if paid by January 31, $355 after | Notice $300 to $500; ticket $1,000 |
| Elkford | $100 a year | Not confirmed |
| Enderby | Not confirmed | Notice $150 ($75 within 14 days); ticket $150 |
| Esquimalt | None set | Notice $400 ($350 early, $500 late) |
| Fernie | Dangerous $567; vicious $227; aggressive $150 | Ticket $500 to $1,000 dangerous; $200 to $250 aggressive |
| Fort St James | None set | $25 (not securely confined) |
| Fort St. John | $100 a year (biting or aggressive dog) | Notice $400 ($350 if paid in 14 days) |
| Fruitvale | $200 a year ($100 if bought September 1 to December 31) | Notice $200; ticket $500 ($450 if paid in 30 days) |
| Gibsons | None set | Notice $400 ($375 early, $425 late) |
| Golden | Vicious or dangerous $350 before February 1, $400 after | Notice $100 aggressive; $200 vicious |
| Grand Forks | No licence fee listed; $500 impound fee | Ticket $50 (vicious dog not secured) |
| Granisle | $200 a year | Ticket $100 |
| Harrison Hot Springs | $295 a year ($354 if not spayed or neutered) | $500 (aggressive dog rules); $250 attack |
| Highlands | $100 | Notice $150 ($120 if paid in 14 days); ticket $150 |
| Hope | Vicious $300 a year ($400 late); potentially vicious $150 | Notice $200 ($150 if paid in 14 days); ticket $1,000 |
| Houston | Dangerous $250; aggressive $150 (2026) | Notice $150 ($112.50 early); $200 for some |
| Invermere | Not confirmed | Ticket $200 |
| Kamloops | $205 a year (aggressive dog); dangerous dog not allowed | $1,000 dangerous; aggressive $250 to $1,000 |
| Kaslo | Not confirmed | Ticket $1,000 attack; $500 vicious dog in public |
| Kelowna | Dangerous $500; aggressive $100 ($150 if unaltered) | Ticket $1,000 dangerous; $300 aggressive |
| Kent | $295 a year ($354 if not spayed or neutered) | Notice $500 ($490 early, $510 late); $250 attack |
| Keremeos | Not confirmed | $250 |
| Kimberley | $150 (vicious dog) | Ticket $200 first, $400 later (vicious dog) |
| Kitimat | $300 | Notice $500 ($450 if paid in 14 days); ticket $3,000 |
| Ladysmith | Not confirmed | Not confirmed |
| Lake Country | Dangerous $500; aggressive $100 ($150 if unaltered) | Ticket $1,000 dangerous; $300 aggressive |
| Lake Cowichan | None set | $150 |
| Langford | Dangerous $200; aggressive $100 | Not confirmed |
| Langley City | Dangerous $500; aggressive $275 | $500 dangerous; $250 aggressive |
| Lantzville | Not confirmed | Ticket $500 at large; $200 on private property |
| Lillooet | $120 a year (aggressive dog) | $300 ($200 if paid in 14 days) |
| Lions Bay | None set | Not confirmed |
| Logan Lake | Not confirmed | $200 |
| Lumby | No separate fee; ordinary licence $25 | Ticket $500 bite or no sign; $250 aggressive |
| Lytton | $105 | $250 |
| Mackenzie | $258 (dangerous dog) | Ticket $200 |
| Maple Ridge | $200 if paid by January 31 ($270 from February 1) | Notice $150 to $450; ticket $100 to $500 |
| Merritt | Dangerous $1,250; aggressive $350 (2026) | No notice amount; up to $2,000 in court |
| Metchosin | Dangerous $100; aggressive $75 | Ticket $250 ($300 after 30 days); $500 at large |
| Midway | $1,000 a year | $50 first, $100 second, $200 third offence |
| Mission | $295 a year ($354 if not spayed or neutered) | Notice $500 ($490 early, $510 late); $250 attack |
| Montrose | Not confirmed | $50 to $500 on conviction |
| Nakusp | None set | Notice $250 to $300 ($225 if paid in 14 days) |
| Nanaimo | $75 a year if paid by February 28 ($90 after) | $500 ($375 early, $500 late) |
| Nelson | $300 a year (vicious dog) | Notice $150 ($100 if paid in 14 days) |
| New Hazelton | None set | $250 at large; $200 other |
| New Westminster | $167 sterilized; $221 unsterilized | Notice $500 dangerous; $400 vicious; $300 aggressive |
| North Cowichan | $100 a year ($25 extra if paid after February 28) | Ticket $475 at large; notice $200 ($100 early) |
| North Saanich | Not confirmed | At least $50 on conviction |
| North Vancouver | $208.28 a year (vicious dog) | Vicious dog $120 to $400 by offence |
| Northern Rockies | Not confirmed | Notice $200 attack ($180 early, $220 late) |
| Oak Bay | Not confirmed | Ticket $260 ($200 if paid within 30 days) |
| Oliver | $50 added to the licence fee | $200 penalty (aggressive dog at large); ticket not stated |
| Osoyoos | Dangerous $500; aggressive $150 | Notice $500 dangerous, $250 aggressive; ticket $500-1,000 |
| Parksville | $200 a year | Notice $500 ($375 if paid in 14 days) |
| Peachland | Dangerous $500; aggressive $100 ($150 if unaltered) | Ticket $1,000 dangerous; $300 aggressive |
| Pemberton | Not confirmed | $500 dangerous ($400 early); $300 aggressive |
| Penticton | Dangerous $535; biting $214; aggressive $107 | Notice $475 dangerous at large; ticket $950 |
| Pitt Meadows | Vicious $500; aggressive $250 | Notice $500 vicious; $400 aggressive |
| Port Alberni | None set | Notice $500 ($375 if paid in 14 days) |
| Port Coquitlam | Dangerous $500; aggressive $115 | $500 for most offences; no early discount |
| Port Edward | Not confirmed | None set |
| Port Hardy | $89.50 | Ticket $250 |
| Port Moody | Vicious $602; aggressive $290 | Ticket $500 vicious; $250 aggressive |
| Pouce Coupe | Dangerous $199.37; high-risk $110.76 | Ticket $300 ($400 or $600 second offence) |
| Powell River | Not confirmed | Notice $300 ($30 off if paid in 14 days); ticket $300 |
| Prince George | Dangerous $515; aggressive $310 | Ticket $1,000 dangerous; notice $500 aggressive |
| Prince Rupert | $200 on or before March 1 ($250 after) | No ticket; $1,000 to $10,000 in court |
| Princeton | $375 a year | $500 |
| Qualicum Beach | None set | Ticket $500 vicious dog; $300 no sign |
| Quesnel | $200 a year (aggressive dog) | Ticket $200 first, $400 second, $800 later |
| Radium Hot Springs | None set | Ticket $500 |
| Revelstoke | Dangerous $546; aggressive $110 (altered) or $163 | Notice $500; ticket $1,000 |
| Richmond | $275 a year ($340 if not spayed or neutered) | Notice $500 ($450 if paid in 28 days) |
| Rossland | None set | Notice $100 to $250 early ($200 to $500 penalty) |
| Saanich | Dangerous $150; aggressive $75 | Ticket $500 ($750 after 30 days); notice $500 |
| Salmo | None set | Ticket $200 |
| Salmon Arm | Dangerous $250; aggressive $100 ($150 if unaltered) | Ticket $2,500 dangerous; $500 aggressive |
| Salt Spring Island | $100 | Ticket $150 uncontrolled; $50 no sign |
| Sayward | None set | $200 each |
| Sechelt | $450 a year (aggressive dog) | Notice $500 dangerous; $400 attack |
| Sicamous | Not confirmed | $500 |
| Sidney | Extra $100 a year (dangerous); extra $75 (aggressive) | Notice $260 ($200 if paid in 14 days); ticket $260 |
| Silverton | $300 a year (Pit bull Terrier) | None set |
| Smithers | Dangerous $300 a year; aggressive $150 | Notice $400 (dangerous dog at large); $300 bite |
| Sooke | $100 regular fee ($110 late); dates unclear | Ticket $150 |
| Spallumcheen | Not confirmed | Ticket $550 ($500 if paid in 14 days) |
| Sparwood | $60 | Notice $300 ($250 if paid in 14 days) |
| Squamish | Not confirmed | Notice $500 ($450 within 14 days, $550 after 28 days) |
| Stewart | $50 a year | Not confirmed |
| Summerland | None set | Notice $500 dangerous; $250 aggressive; ticket $1,000 |
| Sun Peaks | Not confirmed | Notice $500 |
| Surrey | Dangerous $655; vicious $261.50; aggressive $174 | Notice $450 dangerous; ticket $1,000 |
| Telkwa | Dangerous $318.90 a year; aggressive $159.45 | $212.60 no licence; $106.30 no muzzle |
| Terrace | Dangerous $200 a year; aggressive $100 | Ticket $300 dangerous; $200 aggressive |
| Tofino | None set | Notice $100 ($80 within 14 days); ticket $100 |
| Township of Langley | Dangerous $450 a year; aggressive $180 | Notice $500 dangerous; $250 aggressive |
| Trail | Dangerous $500; vicious $200; aggressive $100 | Notice $150 vicious ($300 after 14 days) |
| Tumbler Ridge | Dangerous $500; high risk $300 | Ticket $500 dangerous no licence; $300 no leash |
| Ucluelet | Not confirmed | Notice $500 ($400 if paid in 14 days) |
| Valemount | $50 | Notice $100 ($80 early, $120 late) |
| Vancouver | $222 a year (aggressive dog) | Not confirmed |
| Vanderhoof | None set | Notice $300 ($225 if paid in 14 days) |
| Vernon | None set | Notice $300 aggressive; $500 bite or no sign |
| Victoria | None set | Notice $500 ($375 if paid in 14 days); ticket $500 |
| View Royal | Dangerous $200; aggressive $100 | Ticket $200 dangerous; $100 no sign |
| Warfield | $200 a year | No ticket; at least $500 in court, up to $5,000 |
| West Kelowna | Dangerous $500; aggressive $100 ($150 if unaltered) | Ticket $1,000 dangerous; $300 aggressive |
| West Vancouver | Not confirmed | $500 ($475 early) |
| Whistler | Vicious $200; aggressive $100 (extra fee) | Notice $400 vicious; $300 aggressive (paid in 14 days) |
| White Rock | $200 a year (aggressive dog) | $500 (aggressive dog not confined or leashed) |
| Williams Lake | $200 (aggressive dog) | Notice $200 ($150 if paid in 14 days) |
Reading this table
- Licence fee: stated for 88 places, none set in 25, not confirmed for 26.
- Fine: stated for 127 places, none set in 3, not confirmed for 9.
Each cell is a short form of the fact on that place's own page. Open the place to see the full wording, the bylaw and section it comes from, and the official text it was matched against. None set means the bylaw that was read sets no such rule. Not confirmed means it could not be established from the official sources, for example because the bylaw is posted as a scanned image.
This table as Markdown · JSON · How answers are checked · Report an error