Build Custom Filenames with the Filename Constructor

danito

Why filenames matter on a bulk download

Download a few hundred images and the names they arrive with are usually whatever the server decided: image_4829.jpg, a string of hashes, or three different files all called download.png. For a one-off save that is fine. For a batch you actually have to use, it is a sorting headache before you have even opened a folder.

The Filename Constructor in Bulk Image Downloader From URL List solves this at the source. It runs at download time and rewrites the output filename for every image in a task, so files land already named the way your project expects. The original URL list is never touched — only the names of the saved files change.

Turning it on and building a pattern

You enable the Filename Constructor on an individual download task on the options page. Once it is on, you get a segment builder: a row of named pieces you arrange to form the final filename. You drag segments into the order you want and the preview updates as you go, so you can see exactly how a name will read before you commit a single download.

The built-in segments cover the patterns most people reach for:

  • Sequence number — an incrementing counter, so files come out 001, 002, 003 in order.
  • Timestamp — stamp the download time into the name for easy chronological sorting.
  • URL fragment — pull a piece of the source URL into the filename.
  • Website name — tag files with the domain they came from.
  • Short UUID — a compact unique ID when you just need guaranteed-unique names.

If none of the presets fit, use Add New to insert a custom literal token — a fixed bit of text like a project code or client name that should appear in every file.

Getting the sequence right

The sequence segment is the one worth tuning. It respects a start number, so you can begin a batch at 1, at 100, or wherever you need to continue from a previous run. It also respects a pad width, which controls how many digits each number uses. Set the pad to three and you get 001, 002, 010, 100 — names that sort correctly in any file browser instead of the broken 1, 10, 2, 20 order you get from unpadded numbers. On a big batch that small detail saves real time later.

When to use it

Reach for the constructor any time the destination matters more than the source. Building a product image set that needs to match SKUs? Lead with a custom token and a padded sequence. Archiving from several sites at once? Put the website segment first so everything groups by source. Pulling images for a dated report? A timestamp segment keeps them in order automatically.

Because the constructor is configured per task, you can run one task with a clean sequence and another with timestamps in the same session. Set the pattern once, and every file in the run follows it — no manual renaming after the fact.