Deploy a Managed Bookmarks Folder to Edge, Chrome and Firefox via Group Policy –
One Group Policy Object (GPO) pushes the same read-only bookmarks folder (for example, “Company Links”) to the bookmarks bar of Microsoft Edge, Google Chrome and Mozilla Firefox on domain-joined Windows machines. All three browsers accept the same JSON format, so you write the bookmark list once and paste it into three policies.
| Browser | Policy name (GPO) | Policy name (registry/JSON) | Where the folder appears |
|---|---|---|---|
| Microsoft Edge | Configure favorites | ManagedFavorites | Favorites bar |
| Google Chrome | Managed Bookmarks | ManagedBookmarks | Bookmarks bar |
| Mozilla Firefox | Managed Bookmarks | ManagedBookmarks | Bookmarks toolbar |
Users can open the managed links but cannot edit, move or delete them. Their personal bookmarks are not touched.
Prerequisites
- Domain admin rights, or rights to create and link GPOs and write to the SYSVOL Central Store.
- Group Policy Management Console (GPMC) on a domain controller or an admin workstation with RSAT.
- The ADMX/ADML templates for each browser:
- Microsoft Edge policy templates (download from the Microsoft Edge for Business page).
- Google Chrome Enterprise policy templates (the “Chrome Enterprise bundle” or the policy templates zip).
- Mozilla Firefox policy templates (the
policy-templatesrelease on Mozilla’s GitHub).
- Firefox 83 or later for the ManagedBookmarks policy. Firefox ESR is recommended for managed fleets.
- An OU containing the target computer (or user) accounts.
Step 1: Add the browser templates to the Central Store
The Central Store makes the templates visible to every admin who edits GPOs in the domain.
- If it does not exist yet, create the folder
\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions. - Copy the
.admxfiles intoPolicyDefinitions:- Edge:
msedge.admxandmsedgeupdate.admx - Chrome:
chrome.admxandgoogle.admx - Firefox:
firefox.admxandmozilla.admx
- Edge:
- Copy the matching
.admlfiles into the language subfolder, for examplePolicyDefinitions\en-US. - Close and reopen GPMC so it reloads the templates.
Tip: when updating templates later, overwrite the existing files with the newer versions. Newer templates add policies; they do not break existing settings.
Step 2: Create and link the GPO
- Open Group Policy Management (
gpmc.msc). - Right-click Group Policy Objects and choose New. Name it, for example,
Browser - Managed Bookmarks. - Right-click the target OU and choose Link an Existing GPO, then select the new GPO.
- Right-click the GPO and choose Edit to open the Group Policy Management Editor.
This article configures everything under Computer Configuration, so the folder appears for every user on the machine. To target people instead of devices, use the same policies under User Configuration and link the GPO to an OU of user accounts.
Step 3: Build the bookmarks JSON
All three browsers read the same structure: a JSON array whose first entry names the top-level folder, followed by links and optional subfolders.
Readable version (for editing and review):
[
{ "toplevel_name": "Company Links" },
{ "name": "Intranet", "url": "https://intranet.contoso.com" },
{ "name": "Service Desk", "url": "https://helpdesk.contoso.com" },
{
"name": "HR",
"children": [
{ "name": "Payroll", "url": "https://payroll.contoso.com" },
{ "name": "Benefits", "url": "https://benefits.contoso.com" }
]
}
]Single-line version (paste this into the GPO text boxes):
[{"toplevel_name":"Company Links"},{"name":"Intranet","url":"https://intranet.contoso.com"},{"name":"Service Desk","url":"https://helpdesk.contoso.com"},{"name":"HR","children":[{"name":"Payroll","url":"https://payroll.contoso.com"},{"name":"Benefits","url":"https://benefits.contoso.com"}]}]Rules:
toplevel_namesets the folder name. Without it, Edge shows “Managed favorites” and Chrome shows “Managed bookmarks”.- Every link needs
nameandurl; every subfolder needsnameandchildren. - Use full URLs including
https://. - Validate the JSON (for example with a JSON linter or
ConvertFrom-Jsonin PowerShell) before pasting. One missing comma or quote makes the whole policy fail.
Step 4: Configure Microsoft Edge
- Go to Computer Configuration > Policies > Administrative Templates > Microsoft Edge > Favorites. (In older template versions the policy sits directly under Microsoft Edge.)
- Open Configure favorites (ManagedFavorites).
- Select Enabled and paste the single-line JSON from Step 3 into the text box.
- Click OK.
- Optional, so users see the folder without opening the menu: under Microsoft Edge, open Enable favorites bar (FavoritesBarEnabled), select Enabled, and click OK.
Resulting registry value: HKLM\SOFTWARE\Policies\Microsoft\Edge\ManagedFavorites (REG_SZ).
Step 5: Configure Google Chrome
- Go to Computer Configuration > Policies > Administrative Templates > Google > Google Chrome.
- Open Managed Bookmarks (ManagedBookmarks).
- Select Enabled and paste the same single-line JSON into the text box.
- Click OK.
- Optional, to show the bar: open Enable Bookmark Bar (BookmarkBarEnabled), select Enabled, and click OK.
Use the policies under Google Chrome, not Google Chrome – Default Settings (users can override), so users cannot remove the folder.
Resulting registry value: HKLM\SOFTWARE\Policies\Google\Chrome\ManagedBookmarks (REG_SZ).
Step 6: Configure Mozilla Firefox
- Go to Computer Configuration > Policies > Administrative Templates > Mozilla > Firefox.
- Open Managed Bookmarks (ManagedBookmarks).
- Select Enabled and paste the same single-line JSON into the text box.
- Click OK.
- Optional, to show the toolbar: open Display Bookmarks Toolbar (DisplayBookmarksToolbar), select Enabled, and choose Always if your template version offers that option.
Resulting registry value: HKLM\SOFTWARE\Policies\Mozilla\Firefox\ManagedBookmarks (REG_SZ).
Alternative: the older Bookmarks policy (Bookmark 01 to Bookmark 50) adds individual links with a Title, URL, Folder and Placement (toolbar or menu). Use it only for Firefox versions older than 83, or if you need to set favicons. Unlike ManagedBookmarks, these links are not locked, and a user can delete them until the next policy refresh adds them back.
Step 7: Apply and verify
- On a test machine in the target OU, run
gpupdate /forcefrom an elevated command prompt. - Run
gpresult /r /scope computerand confirm the GPO is listed under Applied Group Policy Objects. - Fully close and reopen each browser, then check its policy page:
| Browser | Policy page | What to look for |
|---|---|---|
| Edge | edge://policy | ManagedFavorites, status OK |
| Chrome | chrome://policy | ManagedBookmarks, status OK |
| Firefox | about:policies | ManagedBookmarks under Active |
- Confirm the “Company Links” folder appears on the bar and that right-click offers no edit or delete options.
In Edge and Chrome, Reload policies on the policy page applies changes without restarting the browser. Firefox reads policies only at startup.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Policy page shows an error or “invalid JSON” | Syntax error, smart quotes, or line breaks pasted into the text box | Re-validate the JSON and paste the single-line version with straight quotes |
| Policy not listed on the policy page | GPO not applied to the machine | Check the OU link, security filtering and WMI filters; run gpresult /h report.html |
| Policy listed but no folder visible | Bookmarks bar hidden | Enable FavoritesBarEnabled / BookmarkBarEnabled / DisplayBookmarksToolbar, or open the bookmarks menu |
| Firefox ignores the policy | Firefox older than 83, or an outdated ADMX | Update Firefox and the Mozilla templates; restart Firefox |
| Firefox shows the policy under Errors | Firefox also has a policies.json file in its distribution folder | Remove or align policies.json; GPO and file policies can conflict |
| Text box rejects or truncates a long list | ADMX text field length limit | Deploy the same string with Group Policy Preferences > Registry, using the registry paths in References |
| Folder name shows “Managed favorites” / “Managed bookmarks” | toplevel_name missing or misspelled | Add {"toplevel_name":"Company Links"} as the first array entry |
| Changes not showing | Browser cached the old policy | gpupdate /force, then Reload policies (Edge/Chrome) or restart Firefox |
References
Registry locations (all REG_SZ containing the single-line JSON; use HKCU instead of HKLM for per-user deployment):
| Browser | Key | Value name |
|---|---|---|
| Edge | HKLM\SOFTWARE\Policies\Microsoft\Edge | ManagedFavorites |
| Chrome | HKLM\SOFTWARE\Policies\Google\Chrome | ManagedBookmarks |
| Firefox | HKLM\SOFTWARE\Policies\Mozilla\Firefox | ManagedBookmarks |