Why does MS-DOS use 8.3 filenames instead of, say, 11.2 or 16.16?

Raymond Chen

When I discussed years ago why operating system files tend to follow the old 8.3 file name convention, I neglected to mention why the old MS-DOS filename convention was 8.3 and not, say, 11.2 or 16.16.

It’s a holdover from CP/M.

As I noted when I discussed the old MS-DOS wildcard matching rules, MS-DOS worked hard at being compatible with CP/M. And CP/M used 8.3 filenames.

Why did CP/M use 8.3 filenames? I don’t know. There’s nothing obvious in the CP/M directory format that explains why those two reserved bytes couldn’t have been used to extend the file name to 10.3. But maybe they figured that eight was a convenient number.


Discussion is closed.

Feedback usabilla icon