Block structural errors first
Duplicate outputs and common invalid names become blocking errors before rename execution, reducing surprises after a batch is downloaded.
This evidence does not use 'safe' as a slogan. It separates the checkable safeguards in the current production renamer and image batch flow: what can be reviewed first, what blocks execution, what is only advisory, whether source files are overwritten, and how output-name collisions are handled.
Compiled from the batch-renaming, image-conversion and output-naming source pinned to the production commit. It records safeguards that can be checked in the current implementation without stretching UI protections into a zero-risk guarantee.
Pinned production commit: c35d0c7a; 3 production source files referenced.The rename workspace computes and displays the original filename, proposed filename, warnings and errors for each file so the batch can be reviewed before ZIP creation.
Source: components/RenamerTool.tsx
Proposed output names are checked case-insensitively for duplicates. A collision becomes a blocking error instead of waiting until ZIP creation to reveal the conflict.
Source: components/RenamerTool.tsx
Current checks cover empty names, slash/backslash, control characters, common reserved symbols, trailing spaces or periods, Windows reserved names, and output names beyond the current 180-character limit.
Source: components/RenamerTool.tsx
If a source file has an extension but the proposed output does not, the workspace warns the user. It remains advisory because removing or changing an extension can be intentional.
Source: components/RenamerTool.tsx
When the rename batch contains blocking errors, the action that creates the downloadable ZIP remains disabled until the naming conflict or invalid output is resolved.
Source: components/RenamerTool.tsx
Execution uses the existing browser File objects and writes them into a new ZIP under the proposed names. FileNest does not directly overwrite or delete the source files on the user's device.
Source: components/RenamerTool.tsx
Image batches create browser Object URLs for the added source files and show clickable thumbnails in multi-image batches so each source image can be inspected before processing.
Source: components/ImageConverterTool.tsx
Image outputs use a case-insensitive set of names already used in the batch. Collisions are resolved deterministically as name (2), name (3), and so on to avoid same-name results in the ZIP.
Source: components/ImageConverterTool.tsx · lib/file-names.ts
Duplicate outputs and common invalid names become blocking errors before rename execution, reducing surprises after a batch is downloaded.
Extension changes and sequence choices may be intentional, so the preview does not pretend software can decide every project-specific naming meaning.
Renamed results go into a new ZIP instead of directly rewriting or deleting source files on the user's device.