100+
September 30, 2026
October 2, 2017
The plugin uses the hooks “wp_handle_upload_prefilter” and “wp_handle_sideload_prefilter” and modifies the filename to remove all special characters.
FEATURES
– Remove accents
– Remove special characters
– Change the filename to lowercase
– Convert non-Latin characters to Latin ones (requires the PHP “intl” extension)
– Optionally replace underscores with hyphens
– Count the uploads that had to be cleaned and the ones that were already clean
Examples :
– filename : rick & morty.png > rick-morty.png
– filename : finaL fantasy / (Copié) (Copié).jpg > final-fantasy-copie-copie.jpg
– filename : Привет.jpg > privet.jpg
The settings and the counters are in “Settings > Healthy filenames”.
/wp-content/plugins/healthy-filenames directory, or install the plugin through the WordPress plugins screen directly.No. Only the files uploaded while the plugin is active are cleaned.
Every file that goes through the WordPress upload functions: media library, editor, REST API, imports from a URL.
No. The extension is left to WordPress, which validates it and converts it to lowercase.
They are converted to Latin characters when the PHP “intl” extension is available: “Привет.jpg” becomes “privet.jpg”. Without it, or when the setting is unchecked, they are removed.
A name made only of special characters, such as “!!!.jpg”, gets a fallback name: “unnamed-file.jpg”. The fallback name can be changed in the settings.
Each upload accepted by WordPress is counted once: either as “cleaned” when its name had to be modified, or as “already clean”. The settings page shows both counters and the share of uploads that needed cleaning. Image sizes generated from an upload are not counted.