Level 1: file names are limited to eight characters with a three-character extension, using upper case letters, numbers and underscore only. The maximum depth of directories is 8.
Level 2: file names are not limited to 11 characters (the 8.3 format) but can be up to the maximum allowed by the 1 byte counter in the directory entry and the filename length byte counter. This is close to 180 characters, depending on how many extended attributes are present.
Level 3: files are allowed to be non-contiguous (fragmented), principally to allow packet writing or incremental CD recording).
Important: all levels restrict filenames to upper case letters, digits, underscores ("_"), and a dot. Linux converts uppercase letters to lower case while mounting ISO filesystems. File names shall not: include spaces, start or end with the dot character, have more than one dot, directory names shall not use dots at all.
Some CD authoring applications allow the user to use almost any character. While this does not conform to the ISO 9660 standard, most operating systems which can read ISO 9660 file systems have no problem with out-of-spec names. However, the names could appear wrong to the user.