Ad Naming Convention Generator
Build a token-based naming convention, preview the exact ad name for every creative, and export the whole batch as a CSV. Free, no signup, no email gate.
Naming tokens (drag order = name order)
Filename
The creative filename, cleaned
File type
Image or Video, from the file
ID
A unique number per ad in the launch
Naming pattern
<filename> | <filetype> | <id>Generated ad names (5 names)
| Source filename | Generated ad name |
|---|---|
| acme_spring-ugc-hook-a_9x16.mp4 | acme_spring_ugc_hook_a | Video | 1 |
| acme_spring-ugc-hook-b_9x16.mp4 | acme_spring_ugc_hook_b | Video | 2 |
| acme_spring-static-testimonial_1x1.jpg | acme_spring_static_testimonial | Image | 3 |
| acme_spring-carousel-bundle_4x5.jpg | acme_spring_carousel_bundle | Image | 4 |
| acme_summer-promo-demo_16x9.mp4 | acme_summer_promo_demo | Video | 5 |
One pattern, every ad. This is the exact engine uplads applies at launch: set the convention once and every creative in a bulk launch is named the same way, with the ID token keeping each ad unique. No find-and-replace, no drift.
How to use it
How to use this ad naming convention generator
Decide the pattern once; the tool fills it in for every creative.
- 1
Pick your tokens
Each token is one piece of the name: Filename (the concept), File type, a unique ID, Date, and Custom text.
- 2
Order them, pick a separator
Reorder the tokens with the arrows and choose one separator applied everywhere.
- 3
Paste your exported filenames
Drop in the real creative filenames you exported - the tool reads the concept and file type from each.
- 4
Preview and download the CSV
The table shows the final name for every creative, and Download CSV gives you a
source_filename, ad_namesheet.
What is an ad naming convention?
The same tokens, in the same order, with the same separator, on every ad. The point is not the format but the consistency: a consistent name is what lets you filter Ads Manager to one concept across every ad set and tell iteration three of a hook from iteration one six weeks later. This is why the durable rule is the same as it is for UTM parameters - names should be generated, never typed.
Why naming conventions make or break scaled ad accounts
Anyone who has inherited a Meta account knows the feeling: ad sets called Copy of Copy of test 3 and ads named final_final_v2 scattered across campaigns, where every reporting question costs an hour it should cost a minute.
A convention prevents that because it forces every name to encode the same decisions in the same place. A strong ad name carries four:
Date
The launch date, so cohorts sort chronologically.
Placement / aspect
A token like 9x16 or 1x1, so you can filter video against static and vertical against square.
Angle
The hook or promise under test - the thing you actually compare.
Iteration
So version three of a concept never blurs into version one.
Ad names, ad sets, and campaign names
Most free generators target the campaign name; the layer that breaks reporting is one level down, at the ad. You can have a perfectly standardized campaign name and still be unable to answer “which hook is winning” because every ad inside it is called final_v2. This generator is deliberately ad-level: tokens resolve per creative, the ID keeps every ad distinct, and the result is a name you can group and filter on in reporting.
The token approach beats free-text naming
Free text works for one ad and collapses the week a test ships forty creatives - no two people abbreviate the same way at 5pm on launch day.
Free text drifts
Someone types spring video v2 FINAL into the ad name field. Fine for one ad; inconsistent by the fortieth.
Tokens hold
The concept comes from the filename, the file type is detected, and the ID auto-increments so duplicate concepts never collide. Decide the pattern once; see the naming convention guide.
Cleanup options: remove dimensions and strip brand name
Exported creatives carry noise that does not belong in an ad name. Both switches run on the filename token only, so your custom tokens and IDs are untouched.
Remove dimensions
Strips trailing size tokens like 9x16, 4x5 or 1x1 - the file type already tells you the format.
Strip brand name
Drops the first filename segment up to the first separator - useful when every file is prefixed with the same brand code.
Why a convention is only as good as its enforcement
⚙️The same engine uplads runs at launch
Every naming generator stops at the clipboard: you build a pattern, copy a string, and a human still applies it by hand at launch - which is exactly where the convention drifts.
This tool imports buildAdName from @/lib/naming/conventions - the exact production engine uplads runs when it fans a creative batch into your ad sets. The name in the table above is byte-for-byte what the product applies, with the ID token keeping every ad unique. There is no second, divergent implementation.
One pattern, every ad in a launch
A naming convention is not fifty decisions - it is one decision applied fifty times. Define the tokens once; every creative flows through the same pattern, the filename carries the concept, the ID guarantees uniqueness, and the output sorts and filters cleanly in Ads Manager from day one. Pair this with the UTM builder so names and tracking are both generated rather than typed.
Design the whole naming system
Frequently asked questions
What is an ad naming convention?
How do you create a naming convention for Facebook ads?
Is there a free ad naming convention generator?
What tokens should an ad name include?
Why does a naming convention break down at scale?
How do I apply one naming convention across 50 ads at once?
Apply one naming convention to every ad
A pattern only holds if it reaches every ad. uplads stores your convention once and applies this exact engine to every creative in a bulk launch, with a unique ID per ad - a 50-creative test ships correctly named in one pass instead of 50 manual edits.