Export Media URLs
Export Media URLs
Description
The fastest way to pull a complete inventory of your WordPress Media Library. Export every attachment’s details — pick exactly the columns you want from grouped, collapsible field sections with quick-select presets — then download a CSV or JSON file, or display the results in a paginated table right inside the dashboard. A separate Media Tools tab helps you audit and clean up the library. Invaluable for migrations, SEO and accessibility audits, and library cleanup.
Media Tools
Each tool lives on its own sub-tab and processes the library in pages (100, 250, 500, 1000 or All per page), so the scans stay fast and light even on libraries with thousands of items.
- Storage summary — attachment counts per media type, read straight from the database (instant)
- Missing file detector — find attachments whose file is gone from disk (e.g. after a bad migration)
- Duplicate detection — find files that are byte-for-byte identical (matched by size and content hash; choose “All” for a complete cross-library scan)
- Heavy image flags — spot oversized images (large file size or pixel dimensions) that slow your pages
- Bulk alt-text editing — review and update alt text image by image, page by page, with missing alt text highlighted
You can export each media item’s:
- ID
- Title
- File Name
- URL
- File Size
- MIME Type
- Dimensions (width x height)
- Thumbnail / Medium / Large image URLs
- Caption
- Alt Text
- Alt Missing (flag — quickly find images with no alt text)
- Description
- Parent Post and Parent URL
- Date Uploaded
The data can be filtered by media type (images, video, audio, documents, archives), by attachment status (attached vs. unattached/orphaned), by author, and between a date range before extraction. You can also export a specific item range to keep each request small on very large libraries.
When do we need this plugin?
- To check all Media URLs of your website
- During a migration (and to confirm everything moved across)
- During an SEO or accessibility audit (find images missing alt text)
- To clean up orphaned media imported by a theme demo
- During a security audit
Customizable Features
- Choose exactly which columns to export, grouped with quick-select presets (Migration, SEO/Accessibility, Cleanup, Full)
- Download as CSV or JSON, or display the results in a paginated table
- Filter by media type, attachment status, author and date range
- Export a specific item range (helpful on very large libraries)
- Custom or randomly generated download file name
- Remembers your last field selection
- CSV and JSON downloads stream straight to the browser, leaving nothing behind in wp-content/uploads
System requirements
- PHP version 5.4 or higher
- WordPress version 3.6 or higher
Feedback
If you like this plugin, then please consider leaving us a good rating.
Contact
For further information please send me an email.
Installation
From your WordPress dashboard
- Visit ‘Plugins > Add New’
- Search for ‘Export Media URLs’
- Activate Export Media URLs from your Plugins page.
From WordPress.org
- Download Export Media URLs.
- Unzip the plugin.
- Upload the ‘export-media-urls’ directory to your ‘/wp-content/plugins/’ directory, using your favorite method (ftp, sftp, scp, etc…)
- Activate Export Media URLs from your Plugins page.
Usage
- Go to Tools > Export Media URLs.
- Tick the fields you want (or use a preset such as “SEO / Accessibility”).
- Choose a media type, and optionally filter by attachment status, author or date range.
- Click “Download” to get a CSV or JSON file, or “Display Here” to view the results in a paginated table.
Uninstalling:
- In the Admin Panel, go to “Plugins” and deactivate the plugin.
- Click “Delete” on the Plugins page. This removes the plugin files and its per-user preference automatically.
Screenshots

The Export screen — pick fields from collapsible groups with quick-select presets, and filter by media type

Results shown right in the dashboard, in a paginated table

The Summary dashboard — library stats plus one-click access to every maintenance tool

Duplicate Files — byte-for-byte identical files grouped for easy cleanup

Bulk Alt-Text editing — fix missing alt text across the library, with missing rows highlighted
Faq
For every media item you can export the ID, Title, File Name, URL, File Size, MIME Type, Dimensions, sized-image URLs (thumbnail/medium/large), Caption, Alt Text, an “Alt Missing” flag, Description, Parent Post and Parent URL, and the upload date. Choose exactly the columns you want using the grouped checkboxes and quick-select presets.
Yes. You can download the data as a CSV file, download it as JSON, or display it in a paginated table right inside the dashboard.
Yes. Use the “Attachment Status” filter and choose “Unattached (orphaned)” to list media that is not attached to any post — handy for cleaning up demo images imported by a theme.
Yes. Add the “Alt Missing” field (or use the SEO / Accessibility preset). Any image with no alt text is flagged, so you can fix accessibility and SEO gaps quickly.
The export reads attachments in batches and streams results out as it goes, so memory stays bounded no matter how many items you have. You can also export a specific item range to keep each request small.
Yes. Cell values that begin with =, +, – or @ are neutralized, so a malicious value cannot run as a spreadsheet formula when the file is opened.
No. It only stores your last field selection as a per-user preference; it does not create tables or modify your content.
This plugin works with PHP version 5.4 and greater. WordPress itself recommends using PHP version 7.4 or greater.
Reviews
Does exactly what it says
By alsage13 on May 19, 2026
Gotta love it when a plugin does exactly what it says it will do, right out of the box. I installed it, it exported a clean CSV full of media file URLs. Done.
Perfect job ! MERCI !
By mainanna on March 28, 2026
Perfect ! thank's so much !!!
Thank you for creating such a useful tool. 👍
By cycleworldau on November 5, 2025
Does exactly what it says on the box.
Very fast without the usual faff and slow processing from most file related tools.
A very useful plugin
By harshamutu on April 15, 2025
I find this useful plugin amongst the few that create no issues. Thanks to contributors. I wish we also had a provision to add more fields that are incorporated into media by other media related plugin.
Great Plugin!
By dawnadmin on September 16, 2024
Simple. Clean. Does what it says it will do in seconds. Helps you clean up when you are done from the same page so you don't have extra bloat in your database. Excellent job.
excelent
By felizdisla on May 19, 2024
super plugin
super awesome plugin
By sachsongngu on February 8, 2024
Very useful
By wfmurphy99 on December 18, 2023
This plugin has saved me from a lot of busywork!
Easy Effective Tool/Utility
By jeanclaude56 on March 3, 2024
A handy tool that allows me to check all the attributes of my media files
Excellent! Just what I needed
By Glenn Langford (beatz62) on September 20, 2023
Solved my problem of exporting media post_id with URL to create serialized code string to upload to custom fields.
Changelog
3.0
- New – Media Tools tab: storage summary, missing-file detector, duplicate detection, heavy-image flags, and bulk alt-text editing
- New – export MIME Type, Dimensions, Thumbnail/Medium/Large URLs, an “Alt Missing” flag, and Parent Post / Parent URL
- New – filter by media type (images, video, audio, documents, archives)
- New – filter by attachment status (attached vs. unattached/orphaned)
- New – JSON download format, alongside CSV and on-screen display
- New – field picker grouped into collapsible sections with quick-select presets; remembers your last selection
- New – on-screen results table now paginates with a “Results per page” selector
- Improvement – rewritten on a modular architecture, still PHP 5.4 compatible
- Improvement – exports run in batches and stream straight to the browser, leaving nothing behind in wp-content/uploads
- Improvement – removed the bundled select2 dependency; the interface now uses plain, dependency-free JavaScript
- Improvement – the whole interface is now translatable (POT included)
- Security – CSV formula-injection protection
- Security – hardened output escaping, nonce verification and input sanitization across all screens
- Fix – corrected the version mismatch and restored genuine PHP 5.4 compatibility
2.3.1
- Improvement – strengthened csv file name to prevent unauthorized discovery
- Compatibility – tested with WordPress 6.9.1
2.3
- Fixed – patched a security vulnerability
2.2
- Added – additional file size data field
- Improvement – preserves the previously selected values
- Compatibility – tested with wordpress 6.7.1
2.1
- Improvement – author filtering is simplified
- Compatibility – tested with wordpress 6.4.3
2.0
- Added – additional data fields (file name, caption, alt-text, description)
- Added – enables user to delete the file once downloaded
- Added – support for the translation
- Fixed – patched a security vulnerability
- Improvement – a few code refinements and validation checks
- Compatibility – tested with wordpress 6.4.1 & PHP 8.2.0
1.0
- initial release