A native macOS app to generate Microsoft Edge Managed Favorites configuration files for enterprise deployment via Group Policy (GPO) and Microsoft Intune.
All code come from Atlassian Rovo Dev (anthropic.claude-sonnet-4-5-20250929-v1:0)

This app helps IT administrators create and manage Microsoft Edge favorites that can be deployed to users across an organization. It generates properly formatted configuration files for:
- Windows devices (via Group Policy or Intune)
- macOS devices (via Intune)
Instead of manually creating complex JSON or Plist files, you use a simple, intuitive interface to:
- Add favorites (name + URL)
- Generate configuration files automatically
- Copy or export them for deployment
- 🎨 Native macOS Design - Modern, fluid interface with animations
- ⌨️ Keyboard Shortcuts - Fast workflow (⌘N to add, ⌘S to export, ⌘⇧C to copy)
- 💾 Persistent Storage - Your favorites are saved automatically
- 📋 Multiple Formats - Generates both JSON (Windows) and Plist (macOS)
- 🚀 Export Ready - One-click export or copy to clipboard
- ⚙️ Configurable - Customize toplevel names for your organization
- macOS 15.0 (Sequoia) or later
- Xcode 16 or later (for building from source)
- Download the latest release from GitHub Releases
- Unzip
ManagedFavsGenerator-vX.X.X.zip - Move
ManagedFavsGenerator.appto your Applications folder - Launch the app
# Clone the repository
git clone <repository-url>
cd ManagedFavsGenerator
# Build
swift build -c release
# Run
.build/release/ManagedFavsGeneratorOr open Package.swift in Xcode and press ⌘R.
Since this app is not notarized by Apple, macOS Gatekeeper will block it on first launch. You need to allow it manually.
Remove the quarantine attribute to bypass Gatekeeper:
# Navigate to where you saved the app
cd ~/Downloads
# Remove quarantine flag
xattr -cr ManagedFavsGenerator.app
# Now open normally
open ManagedFavsGenerator.appExplanation:
xattr= Extended attributes tool-c= Clear all attributes-r= Recursive (for app bundles)
- Try to open
ManagedFavsGenerator.app - macOS shows: "ManagedFavsGenerator.app can't be opened because it is from an unidentified developer"
- Click OK
- Open System Settings → Privacy & Security
- Scroll down to Security section
- Click Open Anyway next to the blocked app message
- Click Open in the confirmation dialog
- App will launch successfully
Screenshot:
System Settings → Privacy & Security
┌─────────────────────────────────────────┐
│ Security │
│ "ManagedFavsGenerator.app" was blocked │
│ [Open Anyway] │
└─────────────────────────────────────────┘
- Right-click (or Control-click) on
ManagedFavsGenerator.app - Select Open from context menu
- macOS shows modified dialog with Open button
- Click Open
- App will launch and be remembered for future launches
Verify the download integrity using checksums:
# Download checksums
curl -L -O https://github.com/dernerl/ManagedFavsGenerator/releases/download/vX.X.X/checksums.txt
# Verify ZIP file
shasum -a 256 ManagedFavsGenerator-vX.X.X.zip
cat checksums.txt
# Both SHA-256 hashes should match
Press ⌘N or click the Add Favorite button in the toolbar:
- Name: Display name (e.g., "Company Portal")
- URL: Full URL including
https://
Add Folders
Press (⌘⇧N) or click the Add Folders button to organize favorites hierarchically.

Import existing configurations from other sources or backups:
- Click Import JSON or press ⌘I
- Dialog opens with text editor
- Paste your JSON configuration
- Click Import
- Perfect for quick imports, testing, or snippets
- Click Import Plist or press ⌘⇧I
- Select
.plistfile from your system - Supports full Plist files and Intune fragments
- Automatically handles files without XML headers
The app automatically generates two formats as you add favorites:
- Used for on-premises Group Policy
- Used for Intune Settings Catalog (Windows)
- Press ⌘⇧C to copy to clipboard
- Used for Intune Device Configuration Profiles
- Press ⌘S to export as file
- Or click Copy to copy to clipboard
The toplevel name (default: managedFavs) is the root key in your configuration. Change it in Settings (⌘,) if needed.
See deployment guides below for Windows GPO, Intune Windows, or Intune macOS.
Favicons load automatically when URL is entered. Display favicons next to favorite entries to make them visually recognizable.
For organizations using Active Directory and Group Policy:
- Copy the JSON output from the app
- Open Group Policy Management Console
- Navigate to:
Computer Configuration → Administrative Templates → Microsoft Edge → Favorites - Enable "Configure favorites" policy
- Paste the JSON configuration
- Link the GPO to the appropriate Organizational Unit (OU)
- Run
gpupdate /forceon client machines
Documentation:
For cloud-managed Windows devices:

- Copy the JSON output from the app
- In Microsoft Intune admin center:
Devices → Configuration profiles - Create profile:
- Platform: Windows 10 and later
- Profile type: Settings catalog
- Add settings: Search for "Microsoft Edge" → "Favorites"
- Enable "Configure favorites" and paste JSON
- Assign to device groups
- Devices will sync and apply the policy
Documentation:
For cloud-managed macOS devices:
- Export the Plist from the app (⌘S)
- In Microsoft Intune admin center:
Devices → Configuration profiles - Create profile:
- Platform: macOS
- Profile type: Templates → Preference file
- Upload the
.plistfile - Set preference domain:
com.microsoft.Edge - Assign to device groups
- Devices will sync and apply the configuration
Documentation:
{
"managedFavs": [
{
"toplevel_name": "Company",
"name": "Intranet",
"url": "https://intranet.company.com"
},
{
"toplevel_name": "Company",
"name": "Support Portal",
"url": "https://support.company.com"
}
]
}The app generates a complete macOS Configuration Profile with:
ManagedFavoritesarray containing your favorites- Proper payload structure for Intune deployment
- Unique UUIDs for identification
Windows (GPO):
- Run
gpupdate /forceto apply policies immediately - Check policy status:
gpresult /r - Verify Edge is managed:
edge://policy
Windows (Intune):
- Wait for device sync (can take up to 8 hours, or force sync)
- Check policy status in Intune portal
- Verify Edge is up to date
macOS (Intune):
- Force device sync from Company Portal
- Check profile installation: System Settings → Profiles
- Verify Edge is installed and up to date
- ✅ Ensure all URLs start with
https://orhttp:// - ✅ Check for special characters in names
- ✅ Verify JSON/Plist is properly formatted (app does this automatically)
- ✅ Ensure toplevel name doesn't contain spaces or special characters
- ✅ Favorites not saved: Check file permissions in
~/Library/Application Support/ - ✅ Export fails: Verify write permissions for target directory
- ✅ App won't start: Ensure macOS 15+ and try rebuilding
You can verify which favicon provider (Google or DuckDuckGo) the app is using in real-time:
# Live stream of favicon loading logs
log stream --predicate 'subsystem == "ManagedFavsGenerator" AND category == "Favicons"' --level info --style compactExample output:
Loading favicon for 'github.com' using Google provider: https://www.google.com/s2/favicons?domain=github.com&sz=32
Loading favicon for 'microsoft.com' using DuckDuckGo provider: https://icons.duckduckgo.com/ip3/microsoft.com.ico
To change the provider:
- Open Settings (⌘,)
- Navigate to Appearance section
- Select your preferred Favicon Provider:
- Google: More reliable, comprehensive coverage
- DuckDuckGo: Privacy-focused, no tracking
Changes take effect immediately without restart.
For developers and technical documentation, see AGENTS.md - Development guidelines, architecture, and best practices.
- Microsoft Edge Enterprise landing page
- Microsoft Edge for Business
- Microsoft Edge Policy documentation
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- App Issues: Open an issue in this repository
- Edge Policy Questions: Check Microsoft Edge documentation
- Intune/GPO Questions: Consult Microsoft documentation or your IT team
Made with ❤️ for IT Administrators