# Tidy Names > Rename a messy folder to one consistent naming scheme. Paste the file names (one per line, folders allowed). The > page splits off each extension, finds dates in many forms (2024-03-05, 20240305, 2024-3-5, 05.03.2024 day-first, > 5 Mar 2024, March 2024) and version tags, applies your rules, previews every old and new name, catches collisions > (ignoring case), lost or changed extensions, characters Windows refuses and reserved names, and writes rename scripts > that move every file through a temporary name so no rename can overwrite another. A metered run proposes one scheme > and a new name for each file, using only the dates, numbers and words each name or your description carries, and > asks about the files it cannot place. Built on the SkillSafe skill @googleworkspace/recipe-batch-rename-files. https://tidy-names.skillsafe.ai/ ## What is free - Reading up to 300 names: folder, name and extension (.tar.gz kept together; a leading dot is a hidden file), the first date and any version tag (v3, ver 2, rev 1). - Rules, in order: find and replace; drop copy marks ("Copy of", (1), copy, final); dates to YYYY-MM-DD or moved to the front; one separator (hyphen, underscore, space); one case; a prefix; numbering; lower-case extensions. - Checks: collisions ignoring case, lost or changed extensions, < > : " / \ | ? * and control characters, a trailing space or dot, Windows reserved names (CON, PRN, AUX, NUL, COM1-9, LPT1-9), names over 120 characters. - Exports: a bash script and a PowerShell script (two-phase, through temporary names), an undo script, an old-new CSV, the label drawer picture (PNG, SVG). Nothing is renamed on the page. - Three samples replay their saved proposals at no cost. ## The metered task One task, `names`, on gpt-terra, metered per run. Input string fields: `task`, `goal`, `scheme`, `files` (one line per file, `f1.` ..., with its detected date, version and extension) and `counts`. The reply is one JSON object: `verdict` (`consistent` or `partial`), `scheme` (`pattern`, `why`), `names` (each `file`, `name`, `why`), `unsure` (each `file`, `question`) and `note`. The page keeps one new name per file it sent and re-checks each: the same extension, safe characters, no collisions, and no date, number or word that the file's old name and the description do not carry. ## Links - API tutorial: https://tidy-names.skillsafe.ai/api.html - Source skill: https://skillsafe.ai/skill/@googleworkspace/recipe-batch-rename-files