Swapping a light fixture on a Saturday afternoon feels harmless enough, but is it actually legal? In Ontario the answer depends on who you are, what building you are working on, and whether the work meets code. This guide unpacks exactly when DIY electrical repairs are legal for a Toronto or GTA homeowner, when they are not, and what happens if you cross the line.
Are DIY electrical repairs illegal in Ontario?
Not always. Ontario law lets a homeowner do electrical work on their own single-family primary residence under a narrow exemption, but that exemption comes with real conditions. The work still has to meet the Ontario Electrical Safety Code, an ESA notification must be filed for anything beyond simple maintenance, and the exemption does not apply to rentals, condos, or work done for anyone else. Outside those boundaries, DIY electrical work is illegal and must be performed by an ECRA/ESA-licensed contractor.
The Ontario homeowner exemption in plain English
Ontario’s Electricity Act allows a homeowner to do their own electrical work when all of the following are true:
You own the property.
It is your primary residence (not a rental, cottage-flipped short-term, or investment property).
It is a single-family detached, semi-detached, or row home. Not a condo, apartment, or multi-unit residential building.
You do the work yourself, not a friend or unlicensed handyman.
The work meets the OESC.
You file an ESA notification for any work beyond simple maintenance.
If any of those conditions fail, the exemption fails with them and the work must be done by a licensed contractor. See when do I need an ESA permit for electrical work for the full mapping of tasks to notification requirements.
What counts as maintenance versus alteration
The line between maintenance (no notification needed) and alteration (notification required) is where most homeowners get tripped up.
Generally considered maintenance:
Like-for-like receptacle swap on existing wiring.
Like-for-like light switch swap.
Replacing a light fixture with a like-for-like fixture on existing wiring.
Replacing a faceplate or a cover.
Replacing a light bulb (obviously).
Generally considered alteration, needs an ESA notification:
Adding a new outlet, switch, or fixture.
Running new cable, drilling studs, or extending a circuit.
Installing GFCI or AFCI protection where none was previously required.
Panel changes, adding new breakers, replacing existing breakers.
Service upgrades (60-amp to 100-amp or 200-amp).
Any wiring on an EV charger, hot tub, pool, or generator transfer switch.
Any wiring in a garage, shed, or outdoor structure.
Even permitted homeowner work on the alteration list must be inspected by the ESA. That is the whole point of the notification.
Where the homeowner exemption does not apply
Rental properties. Even if you own the property, if you rent it out, you are not the resident and the exemption does not apply.
Condos. Even in-unit work in a condo is not covered by the exemption.
Cottages and second homes that are not your primary residence.
Any commercial or mixed-use property.
Any work done for someone else, whether paid or unpaid.
Work in common areas of a shared building.
DIY work in any of those situations is illegal under the Electricity Act, and both the property owner and the person who did the work can face enforcement action. Details at what happens if I do electrical work without a permit.
What actually happens if you break the rules
ESA enforcement, including stop-work orders, fines under the Provincial Offences Act, and orders to correct the work at your expense.
Resale problems if the work is discovered by a buyer or home inspector.
Liability if a tenant, contractor, or guest is injured.
The severity ramps up when the property is a rental or when an injury is involved. Landlords face the highest exposure.
What smart homeowners actually DIY
There is a healthy sweet spot for DIY in Ontario. Homeowners in the GTA typically stay legal and safe by handling only:
Bulb changes.
Faceplate replacements.
Straight like-for-like receptacle and switch swaps on the same wiring.
Light fixture swaps that use existing wiring and a compatible bracket.
Ceiling fan swaps on existing fan-rated boxes.
Cleaning and monthly GFCI TEST-button verification.
Anything larger — a new circuit, an EV charger, a panel upgrade, a basement finish — is a licensed-contractor conversation. See how to tell if your DIY wiring is up to code if you want a sanity check on work you already did.
Where DIY is technically legal but still a bad idea
Panel work. Even where a homeowner can legally file an ESA notification for panel work in their own single-family home, the risk of shock or arc-flash injury on live bus bars is severe. See can a homeowner change their own electrical panel legally.
EV chargers. Load calculations, breaker sizing, and code compliance are unforgiving. Off-brand DIY installs cause many of the panel-melt calls we see.
The most common way DIY goes wrong in Ontario is not a code failure, it is an invisible one. A GFCI installed without connecting the load-side terminals correctly still looks like a GFCI on the wall and still passes a plug-in tester in some cases, but it does not protect anything downstream. A three-prong receptacle installed without a real ground appears to work until someone gets shocked. If you are going to DIY the small stuff, buy a $25 plug-in outlet tester and use it after every job. And if you are ever unsure, book a five-minute phone consultation with a licensed contractor before touching the panel. It is free advice that saves you from expensive mistakes.
Not sure whether your Toronto or GTA project is legal DIY or a licensed contractor job? Call ezsmart at 416-838-9006 or use our contact page. A licensed electrician will give you a straight answer, quote if needed, and handle the ESA notification.
Used to monitor number of Google Analytics server requests
10 minutes
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.
30 minutes after last activity
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_ga
ID used to identify users
2 years
_gali
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gat
Used to monitor number of Google Analytics server requests when using Google Tag Manager
1 minute
_gac_
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
SourceBuster is used by WooCommerce for order attribution based on user source.
Name
Description
Duration
sbjs_session
The number of page views in this session and the current page path
30 minutes
sbjs_udata
Information about the visitor’s user agent, such as IP, the browser, and the device type
session
sbjs_first
Traffic origin information for the visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
session
sbjs_current
Traffic origin information for the visitor’s current visit to your store
session
sbjs_first_add
Timestamp, referring URL, and entry page for your visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
session
sbjs_current_add
Timestamp, referring URL, and entry page for your visitor’s current visit to your store
session
sbjs_migrations
Technical data to help with migrations between different versions of the tracking feature
session
Marketing cookies are used to follow visitors to websites. The intention is to show ads that are relevant and engaging to the individual user.
Google Maps is a web mapping service providing satellite imagery, real-time navigation, and location-based information.