Salesforce makes uploading files effortless. Getting those files back out — all of them, in bulk — is a different problem entirely. There is no "Export All Files" button. There is no native bulk download. And when you need to mass export files from Salesforce for a migration, compliance audit, or backup, the gap between "files are in Salesforce" and "files are on my machine" can feel impossibly wide. This guide closes that gap.
What "Files" Means in Salesforce
Before you can export anything, you need to know which file type your org uses — because Salesforce has several, living in different objects.
- ContentDocument / ContentVersion (Files) — the modern, Lightning-era file system. When a user clicks "Upload Files" on any record, the file is stored as a
ContentDocument. The actual binary content lives in theVersionDatafield on theContentVersionobject. This is the most common type in Lightning-enabled orgs. - Attachment — the legacy classic file type. If your org has been running since before Lightning, you likely have
Attachmentrecords. Binary content lives in theBodyfield, linked directly to a parent record viaParentId. - Document — files stored in the legacy Documents tab. Not linked to individual records, but stored in folder libraries using the
Documentobject with aBodyfield. - ContentNote (Enhanced Notes) — when a user creates a Note in Lightning, it becomes a
ContentNote, a subtype ofContentDocument. The note content is stored as HTML. Many orgs have thousands of these alongside their binary files.
Why Native Salesforce Tools Can't Mass Export Files
VersionData column in that CSV is not the file content. It's a relative URL. To get the actual binary file, you need a separate authenticated HTTP request for every single row. For 50,000 files, that's 50,000 separate requests — done manually.The Salesforce UI allows you to download files one at a time from the Files related list on any record. There is no multi-select download, no "download folder," and no batch operation. Data Loader can export ContentVersion metadata to CSV but cannot download the actual file binaries — the session token it uses expires mid-export for large batches.
How SFDC File Exporter Works
SFDC File Exporter by RASPSYS LLP is a Windows desktop application built specifically to solve the bulk file export problem. It connects directly to your Salesforce org using OAuth 2.0, queries the appropriate file objects, fetches each file's binary content through the Salesforce REST API, and saves everything to a local folder — organized and named correctly.
- No Salesforce package required — nothing is installed into your org. No managed packages, no custom objects, no changes to your org configuration.
- OAuth authentication — uses the same secure OAuth 2.0 flow that Salesforce itself uses. No password is stored.
- API-governed — processes in controlled batches to avoid governor limit violations.
- Supports all four file types — ContentDocument, Attachment, Document, and ContentNote in a single tool.
Step-by-Step: Mass Exporting Files from Salesforce
- Download and install SFDC File Exporter. Visit the download page and run the installer. No Salesforce package installation needed — this is a Windows application only.
- Launch and connect your org via OAuth. Click "Connect Org" and authenticate through the standard Salesforce login screen. Sandbox orgs are supported — select the Sandbox login option.
- Select your file type. Choose ContentDocument (Files), Attachment, Document, or ContentNote. If unsure, start with ContentDocument — it's the default for Lightning orgs — then run a separate Attachment export for legacy records.
- Apply your filters. Narrow the export using date range, parent object type, file owner, or file extension. Filters are optional — leaving them blank exports everything.
- Choose your output folder. Select a local folder. SFDC File Exporter creates subfolders automatically based on record type and record name.
- Start the export. Files are saved with their original filenames and extensions. A progress indicator shows status and estimated time. A metadata CSV is generated alongside your files, mapping each filename to its Salesforce record ID and name.
Filtering Your Export
The filtering options give you precise control over which files are included in each run:
- By parent object — export only files linked to Accounts, only files on Opportunities, or any custom object. Useful when different teams need different subsets.
- By date range — filter by ContentDocument Created Date or Last Modified Date. For incremental backups, use "modified in the last 30 days" to capture only recently changed files.
- By file extension — export only PDFs, only images, or exclude large video files. This reduces export time when you need specific file types.
- By owner — filter files by the Salesforce user who uploaded them. Useful for offboarding workflows.
Filters can be combined. For example: "All PDF files on Opportunity records, modified in the last 90 days" is a single export run with three filters applied simultaneously.
How Files Are Organized After Export
- Top-level folder: the output directory you selected
- Subfolders by object type (e.g.,
Account\,Opportunity\) - Subfolders by record name (e.g.,
Account\Acme Corporation\) - Files saved with original names (e.g.,
Signed_Contract_2025.pdf)
A metadata.csv is generated in each subfolder containing the Salesforce record ID, record name, file ID, original filename, file size, upload date, and owner name — a full audit trail of every exported file.
Common Use Cases
Migration to a New System
When moving away from Salesforce — or adding SharePoint or Box alongside it — you need all your files before beginning the migration. SFDC File Exporter's folder structure maps cleanly to most DMS import formats.
Compliance and Legal Hold
Regulated industries require long-term retention of documents even if the originating system is decommissioned. Running SFDC File Exporter on a schedule gives you an off-Salesforce archive that satisfies retention requirements independent of your Salesforce subscription status.
Storage Cost Reduction
Salesforce file storage is billed per GB above the included allocation. Teams frequently export and then delete older files from Salesforce to reduce storage costs, archiving them to cheaper cloud or on-premises systems.
Pre-Change Backup
Before any major Salesforce deployment or data migration, a full file backup is non-negotiable. See the Salesforce Backup Checklist for Admins for the complete pre-change procedure.
Tips for Large Orgs
- Batch by date. Split the export into quarterly or annual chunks rather than attempting a single all-time export.
- Check your API limits. Each file download consumes one API call. Review your org's daily API limit in Setup → System Overview before starting a large export.
- Run exports during off-hours. Schedule large file exports overnight to avoid competing with integrations for the daily API allocation.
- Verify disk space first. A full file export from a large org can be many gigabytes.
Security Note
SFDC File Exporter uses OAuth 2.0 — the same authentication standard used by Salesforce's own mobile apps. Your credentials are never entered into or stored by SFDC File Exporter. Files are downloaded directly from Salesforce's servers to your local machine. There is no RASPSYS intermediary server — your files do not pass through any third-party infrastructure.
For full technical details, see our Security Architecture page.
RASPSYS LLP Professional Services
For complex orgs — multiple business units, very large file volumes, tight migration deadlines, or unusual data structures — RASPSYS LLP offers hands-on professional services to plan and execute the full export, validate completeness, and support the import into your destination system.
Learn about RASPSYS Salesforce Services or contact us for a free consultation.