Resolving asset upload and metadata errors caused by unsupported characters in AEM filenames
AEM Assets enforces strict validation on asset and folder names, so uploads, metadata updates, publication actions, and API responses fail when a filename contains an unsupported character such as *, /, :, #, %, &, or {}. The AEM UI blocks these characters outright, while bulk imports and API ingestion silently sanitize or URL-encode them, and downstream systems like Dynamic Media or the Assets API then return broken paths. The cause is that AEM, the underlying JCR repository, and connected systems can’t safely store or process those characters. Renaming the affected assets to use only allowed characters and re-ingesting them restores uploads, metadata edits, publication, and clean API paths.
Description description
Environments:
- Adobe Experience Manager as a Cloud Service
- Adobe Experience Manager Managed Services
- Adobe Experience Manager 6.5 (on-premises)
- AEM Assets, the bulk importer, and the Assets API
- Dynamic Media (Scene7) and Asset Share Commons
Issue/Symptoms:
- The AEM UI upload fails with the message Characters “*/:
[`]` |#%{}?& are not allowed in the file name”. - Manage Publication returns Selected resources are not valid when a filename contains #.
- Metadata can’t be updated on assets whose filenames contain & or other invalid characters.
- Asset relations fail with Could not update relation because of special characters in asset names.
- The bulk importer or S3 import renames assets by escaping characters, such as an apostrophe to
%27or % to%25. - The Assets API returns corrupted paths where an unsupported character decodes to ?, such as a superscript plus becoming ?.
Root cause:
AEM, the underlying JCR repository, and downstream systems such as Dynamic Media and the Assets API can’t safely store or process asset names that contain certain characters. The AEM UI enforces client-side validation, while bulk import and API ingestion apply JCR sanitization and URL-encoding rules. Unsupported characters cause ingestion failures, metadata update failures, publication issues, and broken API responses.
How to confirm
- Check the filename against the forbidden-character list for your AEM variant. The UI error message shows the invalid characters:
* / : [ \ ] | # % { } ? & ;=for AEM as a Cloud Service, and the same set for AEM 6.5. - Determine how the asset was ingested: manual UI upload, S3 import, bulk importer, Package Manager, or API. Manual uploads fail immediately on invalid characters, S3 and bulk imports silently sanitize them, and Package Manager bypasses validation.
Resolution resolution
Follow these steps to resolve the issue:
- Rename the asset to remove unsupported characters. In the AEM UI, select the asset, open Properties, and rename it, or re-upload the asset with a sanitized filename that uses only allowed characters. Retry the action that failed, whether that’s the metadata update, publication, or relation.
- For bulk issues affecting hundreds or thousands of assets, apply a systematic rename. Define a sanitized naming convention — replace & with “and”, remove #, and replace spaces with hyphens — then either re-ingest the corrected files into AEM or run an automation script in the source system or upstream DAM to sanitize names before upload. Search for the previously invalid assets and confirm the updated names.
- Validate downstream integrations. Confirm the sanitized names resolve issues with Asset Share Commons thumbnails and downloads, Assets API paths that no longer show ? characters, and Dynamic Media upload and search workflows. Test the search, API calls, and publication flows.
- Confirm the fix. Re-upload the asset with the sanitized filename and check that it uploads without a validation warning, that the metadata saves, that Manage Publication runs without the Selected resources are not valid error, and that the Assets API returns a path without ? characters.
If the issue persists
Contact Adobe Support if uploads, metadata edits, or publications still fail after you sanitize the filenames, if API responses show incorrect path formatting for filenames that contain only allowed characters, or if the bulk importer behaves inconsistently across environments. Provide the exact filenames, the upload method, the environment URLs, the error messages, and screenshots.