Drupal is a registered trademark of Dries Buytaert
Release: Leaflet 10.4.11 Minor update available for module leaflet (10.4.11). Release: Session Inspector 1.0.8 Minor update available for module session_inspector (1.0.8). Release: Migrate QA 2.0.4 Minor update available for module migrate_qa (2.0.4). Release: CKEditor Description List 3.0.0 Major update available for module ckeditor_descriptionlist (3.0.0). Release: FlowDrop 2.4.0 Minor update available for module flowdrop (2.4.0). Release: JWT Token Refresh 1.0.4 Minor update available for module jwt_token_refresh (1.0.4). Release: ConReg 1.0.0-beta1 First beta version released for module conreg (1.0.0-beta1). Release: AI Image Studio 1.0.0-beta8 New beta version released for module ai_image_studio (1.0.0-beta8). Usage Milestone: Statistics Counter Module statistics_counter crossed 1,000 active installs. Module Revived: Decoupled Router 2.0.7 Module decoupled_router updated after 11 months of inactivity (2.0.7).

This module generates a unique identifier (UUID) for uploaded files, creating a structured path for each file that helps prevent large directories and filename conflicts. It also provides a degree of security by obscurity for public files.

The uuidpath module generates file uuid on upload and adds it as path to file destination.

When uploading a file there isn't any id at first.
Unlike serial file id (fid) a uuid can be created even if the files isn't used after uploading. Forcing an uiid creation on upload allows to create valid link in content even before the content content entity is created or the file entity is created. On a second step this module retrieves the uuid from the path when the file entity is created add it to the file entity.
The uuid path is created with 11 subfolders (see exaple below) to make sure that every foleder in classic linux file system never gets to many entries. Because every file gets its own folder there will never be duplicate filename situation as long as the core uuid service won't bring a double entry.

Features

When a public file field has name schema for current month (default) and a file named "example.png" is uploaded the result looks like: /sites/default/files/2026-08/0c/3d/d6/0a/1c/c9/43/8d/8e/bc/f25490bd0036/example.png
Even if the same file(name) is used a million times, only the uuid will change and the filename will always be the same.
So the core strategy to avoid too many files in one folder with year and month tokens can so be replaced by a fixed path like "uuid".
There is also a benefit that the file path can not be guessed so you get a little bit extra security on public files. This is only security by obscurity but the same security as many social media platforms and services are providing. If really security is needed the drupal private file system is strongly recommended.

Post-Installation

Install as you would normally install a contributed Drupal module.
See: https://www.drupal.org/node/1897420 for further information.

Additional Requirements

None

Activity

Tracked releases
1
Tracked since
Aug 2026
Latest release
3 days ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.x-dev Dev Aug 20, 2026