Tagline: Explore, select, and export Salesforce metadata with precision β visually, securely, and effortlessly.
Salesforce Metadata Exporter is a modern, developer-focused Chrome Extension that helps you browse Salesforce org metadata, generate deployment-ready package.xml files, and export metadata as ZIP packages without manual XML writing or external tools.
Built for Salesforce developers and administrators who frequently work with:
- Metadata deployments
- Partial deployments
- CI/CD preparation
- Sandbox β Production releases
- Multi-org environments
- Metadata backup and migration
The extension focuses on accuracy, speed, and clarity, using Salesforce Tooling API and Metadata API directly β no scraping, no middleware, no credential storage.
- Automatically detects the currently active Salesforce org
- Supports:
- Production
- Sandbox
- Developer Edition
- Scratch Orgs
- Uses existing Salesforce browser session
- No OAuth setup
- No credentials stored
- Real-time connection status indicator
- Easy org switching
- Displays a searchable list of Salesforce metadata types
- Dynamically loads metadata types from the connected org
- Intelligent fallback to default metadata list if API discovery fails
- Quick search and filter capabilities
- Commonly supported types include:
- ApexClass
- ApexTrigger
- ApexPage
- ApexComponent
- CustomObject
- CustomField
- Layout
- Profile
- PermissionSet
- Flow
- CustomMetadata
- CustomLabel
- Workflow
- ValidationRule
- RecordType
- And many more...
- Click any metadata type to view actual components present in the org
- Uses the correct Salesforce API per metadata type:
- Tooling API for Apex metadata
- Metadata API (
listMetadata) for configuration metadata
- Displays real-time component count with badges
- Search within components for quick filtering
- Expandable/collapsible component lists
- Gracefully handles:
- Empty metadata
- Unsupported metadata types
- API errors
- Select individual metadata components or use wildcards
- "Select All" / "Clear All" support per metadata type
- Mark members for deletion β click the ποΈ trash icon to add a component to the
destructiveChanges.xmlmanifest instead of retrieving it - Member rows show colour-coded state: blue border = retrieve, red border = delete
- Global preset filters:
- Select All Metadata
- Clear All Selections
- Preset Manager β save and reload named selection presets stored in Chrome Storage
- Search within metadata components
- Global member search β search across all loaded member lists at once using the
Memberssearch mode - Visual member count badges (shows
N (+)for retrieve,N (-)for deletion) - Selected metadata types persist across sessions using Chrome Storage
- On extension open, selected types default to all members (
*) for consistent preview/export behavior
- Generates valid Salesforce
package.xmlfor retrieval - Generates
destructiveChanges.xmlfor deletion manifests β mark individual members for deletion using the trash icon - Dual preview tabs:
π package.xmlβ live retrieval manifestποΈ destructiveChanges.xmlβ live deletion manifest
- Import existing package.xml with multiple options:
- Upload from file - Select package.xml file from disk
- Paste from clipboard - Copy package.xml content and paste directly
- Automatic parsing and validation
- Smart handling of metadata types not available in current org
- Preserves wildcard (*) and specific member selections
- Auto-expands types with specific members for verification
- Supports:
- Full wildcard deployment (
<members>*</members>) - Partial deployments (specific components only)
- Full wildcard deployment (
- Live package.xml preview with syntax highlighting
- Copy to clipboard with one click
- Automatically updates as selections change
- Configurable Salesforce API version (v59.0)
- Export metadata as downloadable ZIP package β if deletions are marked,
destructiveChanges.xmlis automatically injected alongsidepackage.xmlinside the ZIP - Export progress shown via a persistent toast that stays visible and updates during long exports (includes elapsed time)
- Export timeout is configurable in the Org/Profile modal (default: 30 minutes)
- Stop Export β cancel a running export mid-way using the Stop button
β οΈ Important: Exporting withdestructiveChanges.xmldoes not delete anything from your org. The manifest only takes effect when the ZIP is deployed to a Salesforce org using CLI, Ant, or Workbench.
- Modern two-column layout:
- Left: Metadata Types Selection
- Right: Package XML Preview
- Responsive design
- Dark / Light theme toggle with persistent preferences
- Clean footer with social links
- Toast notifications for actions, errors, and export progress (no blocking alert popups)
- Designed for daily Salesforce development workflows
- Smooth animations and transitions
- Light Mode: Clean, modern interface with gradient backgrounds
- Dark Mode: Eye-friendly dark theme for extended sessions
- Instant theme switching
- Theme preference saved automatically
- All components fully styled for both modes
- HTML, CSS, JavaScript (Vanilla ES Modules)
- Chrome Extensions API (Manifest V3)
- Salesforce Tooling API
- Salesforce Metadata API (SOAP)
- Modular CSS Architecture (12 separate stylesheets)
- Service Worker for background operations
- Content scripts for session extraction
- Message-driven architecture
π₯ Get it on Chrome Web Store
- Click the link above or visit the Chrome Web Store
- Click "Add to Chrome"
- Confirm the installation
- Navigate to any Salesforce org and click the extension icon
-
Clone or Download this Repository
git clone <repository-url> cd salesforce-metadata-exporter
-
Open Chrome Extensions Page
chrome://extensions/ -
Enable Developer Mode
- Toggle Developer mode (top-right corner)
-
Click "Load unpacked"
- Select the project root folder (contains
manifest.json)
- Select the project root folder (contains
-
Done π
- Navigate to any Salesforce org
- Click the extension icon to open the exporter
β Works with existing Salesforce login β No external servers β No data stored outside the browser β Supports multiple orgs
-
Login to Salesforce
- Open any Salesforce org in Chrome
- Login as you normally would
-
Open the Extension
- Click the extension icon
- Click "Login to Production" or "Login to Sandbox"
-
Select Metadata Types
- Option A: Manual Selection
- Browse available metadata types
- Click to expand and view components
- Select individual components or use wildcards
- Use "Select All" / "Clear" buttons for quick actions
- Option B: Import from existing package.xml π€
- Upload: Click "Upload" button in preview section β Select package.xml file
- Paste: Copy package.xml content β Click "Paste" button
- Components will be auto-selected based on the content
- Review and modify selections as needed
- Option A: Manual Selection
-
Preview Package XML
- View the live preview of
package.xmlordestructiveChanges.xmlvia the tab switcher - The
ποΈ destructiveChanges.xmltab shows which components will be deleted on deploy - Click "Copy" button to copy the active manifest to clipboard
- View the live preview of
-
Export Metadata
- Click "Export Metadata"
- If destructive members exist, a confirmation dialog appears β review the deletion list and click "Continue Export"
- Monitor progress in the top-right persistent toast (updates + elapsed time)
- Click "Stop Export" to cancel a running export at any time
- Optional: adjust Export Timeout (Minutes) in the Org/Profile modal if needed
- Download completes automatically β the ZIP will contain both
package.xmlanddestructiveChanges.xmlif deletions were marked
π‘ To actually delete components: deploy the downloaded ZIP to a Salesforce org using Salesforce CLI (
sf project deploy start), Ant Migration Tool, or Workbench.
β
Salesforce org auto-detection
β
Production and Sandbox support
β
Metadata type discovery
β
Metadata component listing (Tooling API + Metadata API)
β
Individual member selection
β
Partial & full package.xml generation
β
destructiveChanges.xml generation (mark members for deletion; auto-injected into exported ZIP)
β
Preset Manager (save/load named selection presets)
β
Global member search (search across all loaded member lists)
β
Stop Export (cancel a running export mid-flight)
β
Profile & Permission Set Downsizing (strip unwanted XML sections before download)
β
Live XML preview with syntax highlighting
β
Copy to clipboard functionality
β
ZIP export with Metadata API retrieve()
β
Export progress tracking via persistent updating toast
β
Saved metadata type selections (members default to * on open)
β
Dark / light theme toggle
β
Clear search buttons
β
Member count badges (retrieve + delete counts)
β
Responsive design
β
Modern modular CSS architecture
- π¦ Enhanced ZIP content preview
- π€ Profile & PermissionSet sub-component selection (beyond downsizing)
- π Org-to-org metadata comparison
- π Metadata dependency visualization
- π·οΈ Custom metadata type grouping
- β‘ Batch export optimization
- π Export completion notifications
- No Credential Storage: Never stores username, password, or security tokens
- Session-Based Auth: Uses existing logged-in session only
- Manual Trigger: All exports require explicit user action
- Minimal Permissions: Only requests necessary Chrome permissions
- HTTPS Only: All Salesforce API calls use HTTPS
- No External Servers: All processing happens client-side
- Open Source: Full transparency, audit-friendly code
| Permission | Justification |
|---|---|
storage |
Save user preferences (theme, selections, export timeout) |
downloads |
Trigger ZIP file download |
activeTab |
Access current Salesforce tab for org detection |
cookies |
Extract Salesforce session cookies for authenticated API calls |
Host permissions (*.salesforce.com) |
Communicate with Salesforce APIs |
Contributions, bug reports, and feature requests are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please keep changes modular and follow the existing code structure.
- CHANGELOG - Version history and release notes
- CONTRIBUTING - Contribution guidelines
- PRIVACY - Privacy policy
- Metadata API Developer Guide
- Tooling API Developer Guide
- package.xml Reference
- Metadata Types Coverage
Contributions, bug reports, and feature requests are welcome!
- Fork the repository
- Create a feature branch
- Submit a pull request
Please keep changes modular and follow the existing code structure.
Built by Kartik Patkar Salesforce Developer β’ Chrome Extension Builder
This project is licensed under the MIT License β free to use, modify, and distribute.
Salesforce Metadata Exporter β because deployments should be precise, fast, and stress-free π




