Filename Compatibility Checker

Checks a list of filenames for the characters and lengths some systems refuse: a colon, a trailing space, a name that works perfectly here and vanishes the moment the folder is copied to Windows, a phone or a cloud drive.

How to use it

Point it at a folder or paste the names in, and each one is put against the real rules of Windows, macOS, Linux and the usual cloud sync services at the same time.

  1. Choose the folder, or paste the names Only the names are read — the contents of your files are never opened. Typing names by hand lets you test a naming scheme before you have created anything.
  2. Tick the systems the files have to survive A folder that will only ever live on one Linux machine has almost no rules. One that will be zipped, emailed, opened on a Mac and put on a shared drive has all of them.
  3. Take the suggested names, or set your own style The replacement character, lower case, plain letters only and a length limit are all yours to set. Save the list and you have a rename plan you can work through.
Full instructions

The names to check

nothing chosen yet

What would break

In depth

Checking a folder of names before you copy it anywhere

A close look at the Filename Compatibility Checker: the three ways to feed it names, what each system box tests, the steps it follows to build a safe replacement, and a seven name folder taken through the whole report.

Screenshot: Names that work here and not there
Names that work here and not there as it appears when the page opens.

The fault that only appears after the copy

A name is not just a label. Every system has its own rules about what a name may contain, how long it may be, and whether two names count as the same. Those rules disagree. So a folder can work for years on the machine where it was made, and lose files the first time it moves.

Nothing warns you. A file quietly does not arrive. An archive unpacks under a name that is not the one it went in under. This page reads the names, tests each against the rules that really exist, and says which will break and where. It cannot rename anything, so running it costs you nothing.

  • A project folder about to be handed to a client on a different kind of computer.
  • Anything going into an archive that a supplier will unpack.
  • Files being pushed onto a Linux server or into version control.
  • A naming scheme you are still designing and want to test first.

Three ways to hand it names

Choose files picks out individual files. Choose a folder reads a whole tree at once, which is the usual choice, and gives the checker the full path of each item so it can judge length as well as spelling.

The third way is the box labelled Or type names, one per line, with the Check these names button under it. Anything you type is treated as a path, so a line may include folders. Backslashes are turned into forward slashes and a leading slash is dropped, so you can paste a directory listing straight in.

Typing is the only way to test names for files that do not exist yet. If you are agreeing a naming scheme with a team, write five example names, see what comes back, and settle the argument before anybody creates anything.

Check against: four boxes, four rule books

The four tick boxes in the side panel decide which rule books are applied. Untick the ones that do not matter and the noise drops away.

  • Windows: bans a less than sign, a greater than sign, a colon, a double quote mark, a backslash, a vertical bar, a question mark and an asterisk. A name may not finish with a space or a full stop. Old device names such as CON, PRN, AUX, NUL and the numbered COM and LPT names are reserved, and an extension does not rescue them. Path length is checked too.
  • macOS: flags a colon, because underneath the friendly view it is still a separator. It also flags a name starting with a full stop, since that hides the file.
  • Linux and other Unix systems: almost nothing is forbidden, but a name is limited to 255 bytes rather than 255 letters, and one starting with a hyphen is read by commands as an instruction.
  • Cloud sync services: a space at either end, a name starting with a tilde and a dollar sign, which they treat as scratch work and skip, and a path over 400 characters.

The five checks that always run

Some faults belong to no one system, so they are tested whatever you have ticked.

The first is control characters, usually a line break that got into a name by accident. The second is a letter with an accent stored in the split apart form, as a plain letter followed by an invisible mark, rather than as one character. The third is emoji and other characters from the far end of the range, which some older archive programs mangle. The fourth is a grey note rather than a fault: a name with a space, or with a symbol such as an ampersand or a semicolon, is legal everywhere and still needs quoting in a command.

The fifth compares names with each other inside the same folder. Two names that differ only in their capitals, or only in how an accent is stored, are one name on Windows and on an ordinary Mac disk. Both entries are flagged, and each is told which other name it collides with.

The path length sum, with numbers

The box labelled Room to leave for the folder it goes in starts at 60 and moves in steps of five, up to 200. It exists because Windows counts the whole path, and you rarely unpack a folder where it came from.

The sum is simple. The length of the path as the checker sees it, plus the number in that box, must stay under 260. With the default 60, anything over 200 characters is flagged. Drop the box to 0 and only paths over 260 are caught. Push it to 150 for a folder heading somewhere buried deep. A short name can still fail this test, because it is the chain of folders above it that does the damage.

How a safe name is built

The Safe name column is not a guess. The same steps run on every name, in this order, and the settings below the dividing line in the panel control them.

Split accents are joined back up. If Plain English letters only is ticked, accents are then dropped so that a letter with an acute accent becomes the plain letter, and anything still outside the ordinary typewriter set is swapped for your replacement character. Control characters are deleted, and forbidden characters become the replacement character.

Next, spaces. Left alone, a run of spaces collapses to one. Tick Replace spaces too and runs of space become the replacement character instead.

Then the tidying. Two or more replacement characters in a row are squeezed into one. Leading hyphens, spaces and dots are stripped, and trailing dots and spaces go too. A name reduced to nothing becomes file. A reserved device name has -file added, so CON becomes CON-file. Finally the name is trimmed from the end until it fits the byte limit, and if the result would match a name already suggested in that folder, a number is added.

The tidy-up settings themselves

  • Replace bad characters with: one character, a hyphen by default. Emptying the box does not delete the offending characters; a hyphen is used instead.
  • Replace spaces too: turns every gap into the replacement character. Good for web addresses, worse for anything a person has to read.
  • Make everything lower case: the simplest cure for names that clash only by capitals.
  • Longest name to allow: 8 to 255, counted in bytes, starting at 100. Bytes, not letters, because an accented letter usually costs two and an emoji costs four.
  • Only list the names with a problem: filters the table on screen. It has no effect on the saved list, which always holds every name you checked.

A handover folder, checked line by line

Seven names are typed into the box and Check these names is pressed. Everything is left at its defaults: all four systems ticked, 60 characters of room, a hyphen as the replacement.

Report: Q1 <final>.docx is flagged twice, by Windows for the colon and the two angle brackets and by macOS for the colon. The safe name comes back as Report- Q1 -final-.docx. CON.txt is flagged as a reserved device name and becomes CON-file.txt. budget . ends in a full stop that Windows would silently drop, and the suggestion is simply budget.

resume.pdf and Resume.pdf are each told they collide with the other. The first keeps its name; the second is offered as Resume-2.pdf, because two different names must never be tidied into one. -draft notes.txt is flagged by Linux for its leading hyphen and comes back as draft notes.txt. The seventh, Q3 budget & forecast.xlsx, gets only a grey note about the ampersand and the spaces, and its safe name is unchanged.

The counters at the top of the panel read: names checked 7, with a real problem 6, worth a second look 1, would be renamed 5.

The report and the list you save

On screen you get three columns: the name, what is wrong with it, and the safe version. Real faults are in red, with the system that objects written in front of them. Grey entries are cautions you may reasonably ignore. A suggestion that differs from the original is coloured, so you can scan that column and see how much work is coming.

Very large folders show the first five hundred rows and say so. Save the rename list writes filename-check.csv, with columns for the path, the current name, the suggested name, a yes or no for whether it changed, and the problems. Sort it by the changed column and you have a work list to tick off.

Traps, and how to get out of them

  • Everything is flagged. You left all four systems ticked for a folder that will only ever live on one machine. Untick what does not apply.
  • The suggestion looks wrong. Change a setting and look again; the table redraws as you type, and nothing is committed either way.
  • Two identical looking names appear. That is the accent or the capitals check firing, and it is the most valuable thing on the page. Rename one before you copy the folder anywhere.
  • You expected the files themselves to be renamed. Take the CSV and do that with a tool which can write files.

When another tool fits better

If you already know what the names should be and just want them applied, skip the checking and go to the bulk renamer, which builds new names from a rule and hands them back in an archive.

If the trouble is inside the files rather than on them, this page cannot help, because it never opens a single one.

The names never leave, and the contents are never touched

Two promises apply here. The first is the ordinary one: everything is worked out inside your own browser, and nothing crosses your connection. The second is specific to this tool. The contents of your files are never even read.

The browser hands the page a list of names, sizes and paths, and that list is all it uses. Point it at a folder of confidential contracts and it still knows nothing beyond what they are called.

Help

Names that work here and not there

Point it at a folder or paste the names in, and each one is put against the real rules of Windows, macOS, Linux and the usual cloud sync services at the same time. It catches reserved names, over-long paths, two files that collide once capitals stop mattering, and accents stored in a form that looks identical but is not. Every name that fails comes back with a safe version.

Choose the folder, or paste the names

Only the names are read — the contents of your files are never opened. Typing names by hand lets you test a naming scheme before you have created anything.

Tick the systems the files have to survive

A folder that will only ever live on one Linux machine has almost no rules. One that will be zipped, emailed, opened on a Mac and put on a shared drive has all of them.

Take the suggested names, or set your own style

The replacement character, lower case, plain letters only and a length limit are all yours to set. Save the list and you have a rename plan you can work through.

The same accented letter, stored two different ways

There are two ways to store a letter such as é: as one character, or as a plain e followed by an invisible accent that sits over it. They look identical everywhere and they are not the same name. Older Mac disks stored the split form and almost everything else stores the joined one, which is why a folder copied from a Mac can end up with two entries that look exactly alike, why a search for the file finds nothing, and why version control reports a file as both deleted and added. It is flagged here, and the suggested name is always the joined form.

Good to know

A name ending in a space or a full stop

Windows quietly removes both when it creates the file, so "report ." becomes "report". Unpack an archive containing one and you get a file with a different name from the one in the archive — or, occasionally, a folder you cannot delete by ordinary means at all.

Some names are still taken by the hardware

CON, PRN, AUX, NUL and the numbered COM and LPT names were the printer and serial ports of the first version of DOS, and Windows still reserves every one of them. CON.txt counts as well, because the part before the full stop is what matters.

A name is measured in bytes, not letters

The 255 limit is bytes. An accented letter usually costs two and an emoji four, so a 200-letter name in one language fits and the same length in another does not. The count here is the real one.

Nothing is renamed for you

This is a report. It cannot touch your files, so a suggestion you disagree with costs you nothing — change the settings and look again.

Common questions

Which characters are not allowed in a Windows file name?
The angle brackets, the colon, the double quote, both slashes, the upright bar, the question mark and the star — plus anything below character 32. The name also may not end in a space or a full stop.
Why can I not create a file called CON?
It is one of the device names reserved since the first version of DOS, along with PRN, AUX, NUL and the numbered COM and LPT names. Adding an extension does not help.
What is the 260-character limit?
The longest path Windows accepts unless long paths have been switched on. It counts the drive, every folder and the name, so a short name deep in a tree can still be too long. Set how much room to leave in the panel.
Why do two files with the same name appear in my folder?
Because they differ only in their capitals, or only in how an accent is stored. Linux sees two files, Windows and a normal Mac disk see one, and copying between them loses one of them. Both cases are reported here.
Are my files uploaded?
No, and their contents are never even read. Only the names are looked at, and only on your own device.