St. Lawrence County has no county building department. Each of its 32 towns, 10 villages and the City of Ogdensburg appoints a code enforcement officer who issues building permits, inspects work and signs certificates of occupancy. Many rural towns share an officer, so one phone number can serve three or four places. The county’s own role is around the edges: highway permits for county roads, Planning Board review of referred zoning actions, and septic repair grants near priority lakes and rivers.
What requires a building permit in St. Lawrence County?
Each municipality applies the Uniform Code through its own local law, so the exact list comes from the town or village. The Village of Potsdam’s wording is typical of the rule: any construction that has to conform with the state building codes needs a permit. Finished guides on this site show how two towns put it into practice: the Town of Canton uses one application for renovations, additions, decks, demolition, septic systems, electrical upgrades, roofs, solar and signs, and the Town of Massena issues its own electrical permits and takes residential, commercial and roofing applications through an online portal.
Usually needs a local permit
- New homes, camps, additions and garages
- Structural repairs, decks and porches
- Roofing, solar arrays and electrical upgrades where the town lists them
- Wood stoves, furnaces and other heating appliances
- Pools and pool barriers
- Demolition and changes of use
Permits from the county
- New driveway entrances on county roads
- Utility work in the county right-of-way
- Over-weight or over-size hauling on county roads
Small sheds, fences and repairs are often exempt, but the size limits are set town by town; ask the code officer before relying on an exemption you saw for a neighboring town.
What the towns and villages decide and what the state holds
The state’s 2025 Uniform Code and Energy Code are the same everywhere in the county. Local boards decide how they are enforced, what the permits cost, and whether to have zoning, subdivision, site plan, solar or telecommunications laws at all. St. Lawrence is one of the twelve counties the Department of State lists as having opted out of the enforcement of the Uniform and Energy codes, so the county does not enforce the code in a town or village that has also opted out; there, the state’s Code Inspection Unit provides enforcement in place of the local government and charges fees.
St. Lawrence County building department: who handles permitting
The tables below cover every town, village and city the Census Bureau counts in the county, with the code-officer phone numbers printed in the County Clerk’s 2026 roster of local officials. A village is part of a town, but every village here lists its own code officer in the roster, even where the village has appointed the same person as the town. Two places have finished guides on this site: the Town of Canton and the Town of Massena.
Short on time to read all of this?
Get a free quote →| Place | Who issues building permits | Official page |
|---|---|---|
| Brasher | Town code officer, 315-389-4223 ext. 4 | Town of Brasher |
| Canton | Town code enforcement office, 60 Main Street (Canton town guide) | Canton town and village |
| Clare | Town code officer, 315-323-8588 | No official page found |
| Clifton | Town code officer, 315-314-0682 (shared with Piercefield) | Town of Clifton |
| Colton | Town code officer, 315-244-4464 (shared with Pierrepont) | Town of Colton |
| De Kalb | Town code officer, 315-244-5724 | No official page found |
| De Peyster | Town code officer, 315-344-2400 (shared with Oswegatchie, Russell and Heuvelton) | No official page found |
| Edwards | Town code officer, 315-543-2287 (shared with Pitcairn) | No official page found |
| Fine | Town code officer, 315-848-3152 ext. 308 | Town of Fine |
| Fowler | Town code officer, 315-323-0761 (shared with Hermon, Rossie and Richville) | Town of Fowler |
| Gouverneur | Town code officer, 315-486-5926 (also serves the village) | No official page found |
| Hammond | Town code officer, 315-324-5321 ext. 12 (also serves the village and Morristown) | Town of Hammond |
| Hermon | Town code officer, 315-323-0761 (shared with Fowler) | No official page found |
| Hopkinton | Town code officer, 518-856-9851 | Town of Hopkinton |
| Lawrence | Code officer post listed as vacant in the 2026 county roster; ask the town office in North Lawrence | No official page found |
| Lisbon | Town code officer, 315-854-4026 | Town of Lisbon |
| Louisville | Town code officer, 315-322-5555 (shared with Waddington) | Town of Louisville |
| Macomb | Town code officer, 315-600-1900 | No official page found |
| Madrid | Town code officer, 315-869-1318 | No official page found |
| Massena | Town code enforcement, 315-769-3588 ext. 11 (Massena town guide) | Town of Massena code enforcement |
| Morristown | Town code officer, 315-375-8572 (shared with Hammond) | Town of Morristown |
| Norfolk | Town code officer, 315-384-0440 | Town of Norfolk |
| Oswegatchie | Town code officer, 315-344-2400 ext. 112 | No official page found |
| Parishville | Town code officer, 315-265-2131 ext. 6 (shared with Potsdam) | Town of Parishville |
| Piercefield | Town code officer, 315-314-0682 (shared with Clifton) | No official page found |
| Pierrepont | Town code officer, 315-244-4464 (shared with Colton) | No official page found |
| Pitcairn | Town code officer, 315-543-2287 (shared with Edwards) | No official page found |
| Potsdam | Town code officer, 18 Elm Street, 315-265-0670 | No official page found |
| Rossie | Town code officer and building inspector, 315-323-0761 | No official page found |
| Russell | Town code officer, 315-323-6598 | No official page found |
| Stockholm | Town code officer, 315-742-0916 | Town of Stockholm |
| Waddington | Town code officer, 315-600-7905 (also serves the village) | Town and Village of Waddington |
Not sure this scope needs a permit?
Get a free quote →| Place | Who issues building permits | Official page |
|---|---|---|
| Canton (in the Town of Canton) | Village code enforcement officer, 315-386-2871 ext. 9210 | Canton town and village |
| Gouverneur (in the Town of Gouverneur) | Same code officer as the town, 315-486-5926 | No official page found |
| Hammond (in the Town of Hammond) | Same code officer as the town, 315-324-5321 ext. 12 | No official page found |
| Heuvelton (in Oswegatchie) | Village code officer, 315-344-2400 ext. 2 | No official page found |
| Massena (in the Town of Massena) | Village Fire Department code enforcement, 34 Andrews Street, 315-769-6803 | Village of Massena code enforcement |
| Norwood (in Potsdam and Norfolk) | Village code officer, 315-265-0670 (same officer as the Town of Potsdam) | No official page found |
| Potsdam (in the Town of Potsdam) | Village Code Enforcement Office, 315-265-7678 | Village of Potsdam code enforcement |
| Rensselaer Falls (in Canton) | Village code officer, 315-322-8840 | Village of Rensselaer Falls |
| Richville (in De Kalb) | Village code officer, 315-323-0761 | No official page found |
| Waddington (in the Town of Waddington) | Village code officer, 315-322-5555 | Town and Village of Waddington |
| City of Ogdensburg | City code enforcement, 330 Ford Street, 315-393-1935 | City of Ogdensburg planning and development |
Rather talk it over?
Call 1-855-478-4290 →Several officers cover more than one town: one serves De Peyster, Oswegatchie, Russell and the Village of Heuvelton; another serves Fowler, Hermon, Rossie and the Village of Richville; and the Town of Potsdam’s officer also covers Parishville and the Village of Norwood. In Massena the village’s code work is done by its career fire department, separately from the town.
What St. Lawrence County itself does
- Highway Department, 44 Park Street, Canton: driveway permits for new entrances on county roads (the county no longer installs driveways for individuals), utility work permits for anything in the county right-of-way, and county hauling permits; it accepts only checks or cash.
- Planning Office (315-379-2292): staffs the County Planning Board, which reviews zoning actions referred under General Municipal Law 239-m and 239-n, gives planning and zoning help to local boards and runs the land-use regulations map.
- Septic repair funds: the Planning Office reimburses half the cost of replacing a failing septic system, up to $10,000, for properties within 250 feet of listed waters such as the St. Lawrence, Raquette, Grasse and Oswegatchie Rivers, Cranberry Lake and Star Lake.
St. Lawrence County permit types and applications
Residential permits
Applications come from the town or village clerk or the officer, and most rural offices keep limited hours, so call before visiting. Larger offices post forms online: the Village of Potsdam’s forms page has its building permit, planning board, zoning appeal, site plan, subdivision, sign and rental-housing applications, and the Town of Massena takes residential and roofing applications through its portal.
Building or remodeling a home here? Alliance handles residential permit expediting, so the crew isn't waiting on the counter.
Rather not deal with the St. Lawrence County building department?
Get a free quote →Commercial permits
Commercial projects usually go to the town or village planning board for site plan review where the municipality has one, and that review often triggers a county referral. The County Planning Office’s map shows which municipalities have a planning board, a zoning board of appeals and site plan rules.
For tenant improvements and new commercial builds, Alliance handles commercial permit applications through issuance. More on this: commercial building permits explained.
What comes before the building permit
- Zoning: a zoning permit, variance or special use permit where the municipality has zoning; many rural towns have none.
- County referral: actions near county or state roads, municipal boundaries and similar features go to the County Planning Board, with a separate check payable to the board.
- County road access: a driveway or utility work permit from the Highway Department for frontage on a county road.
- Septic and wells: handled with the local permit (in Canton, septic systems go on the town building permit at no charge); the state Health Department’s Canton District Office, 58 Gouverneur Street (315-386-1040), is the state environmental health office for the county.
- Adirondack Park: parts of the southern towns lie inside the park, where the Adirondack Park Agency may also have to approve a project.
Building permit fees in St. Lawrence County
There is no countywide fee schedule: each town, village and the city sets its own by board resolution, and many keep the schedule at the clerk’s office rather than online. The table shows the Village of Potsdam’s posted building fees and the county charges that can apply on top of any local fee. The county referral fees have applied since January 1, 2013.
| Fee | Amount | Set by |
|---|---|---|
| Village of Potsdam building permit, project cost up to $5,000 | $40 | Village of Potsdam |
| Village of Potsdam building permit, cost over $5,000 | $40 plus $8 per $1,000 above $5,000 | Village of Potsdam |
| Village of Potsdam permit renewal | $25 | Village of Potsdam |
| County referral, residential area variance, site plan or subdivision under 5 lots | $25 | County Planning Board |
| County referral, residential use variance, special use permit or 5–9 lots | $75 | County Planning Board |
| County referral, subdivision of 10 lots or more | $150 | County Planning Board |
| County referral, commercial project under 5,000 sq ft / 5,000–9,999 sq ft | $75 / $150 | County Planning Board |
| County referral, commercial project over 10,000 sq ft | $150 plus $50 per additional 5,000 sq ft | County Planning Board |
| Driveway permit on a county road (application) | $50, non-refundable | County Highway Department |
Worked example: in the Village of Potsdam, a project costing $25,000 pays $40 plus $8 for each of the 20 thousands above $5,000, so $40 + $160 = $200. Local government applications are exempt from the county referral fees.
Want this handled start to finish?
Get a free quote →Trade permits and who may pull them
St. Lawrence County’s pages show no county license for electricians, plumbers or home improvement contractors, and the county does not issue trade permits. Electrical, plumbing and heating work is handled by the local code officer, usually on the building permit; Massena issues a separate town electrical permit, and Canton’s certificate-of-occupancy list asks for two electrical certificates. Ask the officer which electrical inspection agencies are accepted before the electrician starts. Every permit application needs proof of workers’ compensation and disability coverage, or the state exemption form for an owner doing the work.
How to get a building permit in St. Lawrence County
Use the tax bill or the county’s map tool; check whether the address is inside a village.
Use the numbers above, or ask the town clerk how to reach a shared officer.
Get any zoning permit, variance or site plan approval first; the board sends referrals to the county.
County driveway or utility permit, and a septic design where there is no sewer.
Plans, plot plan, insurance forms and the local fee.
Call the officer at each stage and obtain the certificate of occupancy or compliance.
Review, corrections and what causes delay
With part-time officers covering several towns, the usual delay is reaching the officer, not plan review itself; leave a message with the town clerk and give the tax parcel number. County Planning Board referrals add time because the local board must wait for the county’s recommendation, or for the review period to pass, before it acts, and a missing referral fee check holds the referral.
Inspections and certificates
Inspections are booked with the officer who issued the permit. The same officer issues the certificate of occupancy or compliance at the end. The Town of Canton’s list shows what a final can involve: electrical certificates, a septic certificate of compliance, an air-leakage test certificate, truss and heating specifications and alarm test results. In the Village of Massena, inspections are carried out by the fire department’s code staff.
New York building code
New York builds on one statewide code, the Uniform Code, outside New York City; the 2025 edition and 2025 Energy Code took effect on 31 December 2025 (the all-electric provisions remain suspended by court order). Cities, towns and villages administer it, and local standards stricter than the code need Code Council approval. The Uniform Code in New York
Each municipality in St. Lawrence County enforces the Uniform Code through its own local law; there is no county code-enforcement law to fall back on.
St. Lawrence County permit FAQ
Does St. Lawrence County issue building permits?
No. The towns, villages and the City of Ogdensburg issue them. The county issues driveway, utility and hauling permits for county roads.
Inspections are where schedules slip.
Get a free quote →I live in the Village of Norwood. Who issues my permit?
The village’s code officer, who is also the Town of Potsdam’s officer (315-265-0670). Norwood straddles the Towns of Potsdam and Norfolk, but village land is permitted by the village.
How much is a building permit in the Village of Potsdam?
$40 for a project costing up to $5,000, and $40 plus $8 per $1,000 above that; renewals are $25.
Do I need a county permit for a new driveway?
Only on a county road. The Highway Department requires a driveway permit with a $50 non-refundable application fee, paid by check or cash.
Is there money to replace a failing septic system?
Near listed lakes and rivers, yes: the county reimburses half the cost of an engineer-designed replacement, up to $10,000.
Is my town in the federal flood insurance program?
FEMA lists every town and village in the county, and Ogdensburg, as participating except the Village of Hammond, which does not appear in its status book.
How do I find an old permit?
Ask the town, village or city clerk that issued it; the Village of Potsdam posts a Freedom of Information request form, and other clerks take written requests.
St. Lawrence County permit search and official resources
Permit and certificate files stay with the municipality that issued them, so a records search starts with that clerk. County highway permits are kept by the Highway Department, and referral files by the Planning Office.
- 2026 roster of city, town and village officers (County Clerk)
- Land use regulations map tool
- St. Lawrence County Planning Office
- County highway, driveway and utility permits
- Septic system replacement program
- Village of Potsdam code enforcement and county referral fees
- Village of Potsdam forms and building permit fees
- NYS Department of Health district offices
- Department of State Code Inspection Unit
- FEMA Community Status Book, New York
- NYS code adoption and enforcement updates
Simplify St. Lawrence County permitting with Alliance Permitting
Alliance Permitting is a permit documentation and submission company in New York. We prepare your paperwork, file it correctly and coordinate with the permitting authority through issuance. We are not a contractor and we do not perform licensed plan review or inspections; that work stays with your licensed team and the jurisdiction.
Ready to break ground in St. Lawrence County sooner?
Let Alliance prepare, file, and track your St. Lawrence County permits while your crew stays on the job.
More New York permitting guides
Town of Canton
Read guide →Town of Massena
Read guide →Jefferson County
Read guide →Steuben County Building Permit Guide
Read guide →Town of Stillwater Building Permit Guide
Read guide →Town of Stony Point Building Permit Guide
Read guide →This guide is provided by Alliance Permitting for general information about St. Lawrence County permitting. Requirements, fees, and procedures change; confirm details with the permitting authority before relying on them.