there are several ways how you can edit templates.
template packs (only for completion; very old and very unlikely that you'll see one if your portal is not older than 3-5 years):
The editing experience looks like this
Simple drag&drop of (custom) modules and options to add some classes and html stuff in the right sidebar. Old portals still might be built on this, but newer portals should use themes instead of template packs.
To edit those it was just dragging and dropping modules in the layout you wish.
All changes outside of so-called flexible columns affected all pages that were using this template.
Themes (HubL Themes)
Around 2020 Template packs got replaced with themes.
Themes work (and behave) a bit different than template packs.
They're providing a much better UX to the page editor as you can drag&drop elements while editing the page. No switching between the design-manager and pages is required.
A theme is basically a summary of all the different elements that are required for your/a website. CSS, JS, Building blocks(modules) and templates.
Much more flexibility but also a bit more complex setup
If I remember correctly the CLI was also introduced around 2020 and replaced the good old FTP.
The allows people/developers to work locally instead of the design manager and push every theme/module change to HubSpot, but you still can apply changes in the Design-Manager. Game changer for devs.
It's also important to know, that if you're using a default HubL theme (like Growth or Barricade) or a Marketplace theme, you're not able to modify the source code of it unless you create a child theme of it and clone all assets you'd like to change, to the child theme.
In order to change elements in templates, you should know HTML, HubL, CSS (and most likely JS)
CMS React (React Themes or Project themes)
React themes are the brand new, shiny kid on the block.
CMS React was officially launched around March/April 2025 by introducing the new default theme Elevate.
React themes provide the same building experience in the page editor as HubL themes, but the only way today to apply changes on template/module level is via CLI and React knowledge, as they aren't visible/accessible in the Design-Manager. The child theme practise of HubL themes is also somewhat applied to React themes - you cannot edit Elevate directly. You have to fetch it to local via CLI, edit everything you like and build your own project out of it (CLI handles a lot of it for you)
IMO (as a developer): React themes are a huge drawback as HubSpot was built for and around non-devs and the Design-Manager provides non-devs with a somewhat good possibility to apply changes on their own.
The major arguments for why React themes were introduced are (my personal opinion):
Ai has a much easier time with React than HubL
vibe-coding
getting more devs from other tools into HubSpot
The main reason, why I don't recommend to start with React themes is: Unless you have a React dev (or devs) on your side, you're basically not able to change anything on your own and if React themes will hit the marketplace at one point, I believe that this will flood the whole ecosystem with a bunch of Ai slob themes and real devs will have a super hard time optimizing everything which will cost the client/user a lot more.
Custom themes
These are - as the name might suggest - completely custom tailored themes that were created just for your use-case by some developer(s).
From my experience, it's often cleaner and better to have a custom theme, as it can be completely tailored to your business needs and HubSpot knowledge but also more expensive.
Marketplace themes come for free or start around $700 while custom themes might start around $3-5k with no limits.
For instance, I've built 5 figure themes in the past which had multi brand options(child-themes), completely custom membership portals and had nothing "out of the box" in them.
My recommendation: if you're not already "200 URLs deep in building", don't have devs on your side and use something like Elevate (or React themes in general), think about starting on a HubL or custom theme.
edit:
It's super important to know that if you're using a HubL or React theme, HubSpot will create a not accessible detached version of the used template for the page once you change the slightest thing in a page.
Example:
If you create a page with something like the home template and change the headline in the hero, all changes to the home template will only be applied to the next page created with the same home template.
Exception:
Changes on module level are always being pushed to all instances of the module
there are several ways how you can edit templates.
template packs (only for completion; very old and very unlikely that you'll see one if your portal is not older than 3-5 years):
The editing experience looks like this
Simple drag&drop of (custom) modules and options to add some classes and html stuff in the right sidebar. Old portals still might be built on this, but newer portals should use themes instead of template packs.
To edit those it was just dragging and dropping modules in the layout you wish.
All changes outside of so-called flexible columns affected all pages that were using this template.
Themes (HubL Themes)
Around 2020 Template packs got replaced with themes.
Themes work (and behave) a bit different than template packs.
They're providing a much better UX to the page editor as you can drag&drop elements while editing the page. No switching between the design-manager and pages is required.
A theme is basically a summary of all the different elements that are required for your/a website. CSS, JS, Building blocks(modules) and templates.
Much more flexibility but also a bit more complex setup
If I remember correctly the CLI was also introduced around 2020 and replaced the good old FTP.
The allows people/developers to work locally instead of the design manager and push every theme/module change to HubSpot, but you still can apply changes in the Design-Manager. Game changer for devs.
It's also important to know, that if you're using a default HubL theme (like Growth or Barricade) or a Marketplace theme, you're not able to modify the source code of it unless you create a child theme of it and clone all assets you'd like to change, to the child theme.
In order to change elements in templates, you should know HTML, HubL, CSS (and most likely JS)
CMS React (React Themes or Project themes)
React themes are the brand new, shiny kid on the block.
CMS React was officially launched around March/April 2025 by introducing the new default theme Elevate.
React themes provide the same building experience in the page editor as HubL themes, but the only way today to apply changes on template/module level is via CLI and React knowledge, as they aren't visible/accessible in the Design-Manager. The child theme practise of HubL themes is also somewhat applied to React themes - you cannot edit Elevate directly. You have to fetch it to local via CLI, edit everything you like and build your own project out of it (CLI handles a lot of it for you)
IMO (as a developer): React themes are a huge drawback as HubSpot was built for and around non-devs and the Design-Manager provides non-devs with a somewhat good possibility to apply changes on their own.
The major arguments for why React themes were introduced are (my personal opinion):
Ai has a much easier time with React than HubL
vibe-coding
getting more devs from other tools into HubSpot
The main reason, why I don't recommend to start with React themes is: Unless you have a React dev (or devs) on your side, you're basically not able to change anything on your own and if React themes will hit the marketplace at one point, I believe that this will flood the whole ecosystem with a bunch of Ai slob themes and real devs will have a super hard time optimizing everything which will cost the client/user a lot more.
Custom themes
These are - as the name might suggest - completely custom tailored themes that were created just for your use-case by some developer(s).
From my experience, it's often cleaner and better to have a custom theme, as it can be completely tailored to your business needs and HubSpot knowledge but also more expensive.
Marketplace themes come for free or start around $700 while custom themes might start around $3-5k with no limits.
For instance, I've built 5 figure themes in the past which had multi brand options(child-themes), completely custom membership portals and had nothing "out of the box" in them.
My recommendation: if you're not already "200 URLs deep in building", don't have devs on your side and use something like Elevate (or React themes in general), think about starting on a HubL or custom theme.
edit:
It's super important to know that if you're using a HubL or React theme, HubSpot will create a not accessible detached version of the used template for the page once you change the slightest thing in a page.
Example:
If you create a page with something like the home template and change the headline in the hero, all changes to the home template will only be applied to the next page created with the same home template.
Exception:
Changes on module level are always being pushed to all instances of the module