File system | Maximum filename length | Allowable characters in directory entries | Maximum pathname length | Maximum file size | Maximum volume size | Max number of files |
BeeGFS | 255 bytes | Any byte except NUL | No limit defined | 16 EiB | 16 EiB | |
CP/M file system | 8.3 | ASCII except for < >., ; : = ? * | No directory hierarchy | 32 MiB | 512 MiB | |
IBM SFS | 8.8 | | | Non-hierarchical | data-sort-type="number" data-sort-value="0" | |
DECtape | 6.3 | A–Z, 0–9 | DTxN:FILNAM.EXT = 15 | 369,280 bytes | 369,920 bytes | |
Elektronika BK tape format | 16 bytes | | No directory hierarchy | 64 KiB | Not limited. Approx. 800KB for 90 min cassette | |
MicroDOS file system | 14 bytes | | | 16 MiB | 32 MiB | |
Level-D | 6.3 | A–Z, 0–9 | DEVICE:FILNAM.EXT = 7 + 10 + 15 = 32; + 5*7 for SFDs = 67 | 34,359,738,368 words ; 206,158,430,208 SIXBIT bytes | Approx 12 GB | |
RT-11 | 6.3 | A–Z, 0–9, $ | 0 | 33,554,432 bytes | 33,554,432 bytes | |
Version 6 Unix file system | 14 bytes | Any byte except NUL and / | No limit defined | 16 MiB | 32 MiB | |
Disk Operating System | | | | data-sort-type="number" data-sort-value="0" at least 131,072 bytes | data-sort-type="number" data-sort-value="0" | |
GEC DOS filing system extended | 8 bytes | A–Z, 0–9. Period was directory separator | No limit defined | data-sort-type="number" data-sort-value="0" at least 131,072 bytes | data-sort-type="number" data-sort-value="0" | |
CBM DOS | 16 bytes | Any byte except NUL | 0 | 16 MiB | 16 MiB | |
Version 7 Unix file system | 14 bytes | Any byte except NUL or / | No limit defined | 1 GiB | 2 TiB | |
exFAT | 255 UTF-16 characters | | 32,760 Unicode characters with each path component no more than 255 characters | 16 EiB | 64 ZiB | |
FAT | 6.3 / 9 characters | ASCII | No directory hierarchy | data-sort-type="number" data-sort-value="0" | data-sort-type="number" data-sort-value="0" | |
FAT12/FAT16 | 8.3 | SFN: OEM A-Z, 0-9, ! # $ % & ' - @ ^ _ ` ~, 0x80-0xFF, 0x20. LFN: Unicode except NUL, " * / : < > ? \ | | No limit defined | 32 MiB | 1 MiB to 32 MiB | |
FAT16B/FAT16X | 8.3 | SFN: OEM A-Z, 0-9, ! # $ % & ' - @ ^ _ ` ~, 0x80-0xFF, 0x20. LFN: Unicode except NUL, " * / : < > ? \ | | No limit defined | 2 GiB | 16 MiB to 2 GiB | |
FAT32/FAT32X | 8.3 | SFN: OEM A-Z, 0-9, ! # $ % & ' - @ ^ _ ` ~, 0x80-0xFF, 0x20. LFN: Unicode except NUL, " * / : < > ? \ | | 32,760 Unicode characters with each path component no more than 255 characters | 4 GiB | 512 MiB to 16 TiB | |
FATX | 42 bytes | ASCII. Unicode not permitted. | No limit defined | 2 GiB | 16 MiB to 2 GiB | |
Fossil | | | | data-sort-type="number" data-sort-value="0" | data-sort-type="number" data-sort-value="0" | |
GEMDOS | 8.3 | A-Z, a-z, 0-9 ! @ # $ % ^ & + - = ~ ` ; ' ", < > | _ | | | | |
APFS | 255 UTF-8 characters | Unicode 9.0 encoded in UTF-8 | | 8 EiB | data-sort-type="number" data-sort-value="0" | 263 |
F2FS | 255 bytes | Any byte except NUL, / | No limit defined | 3.94 TiB | 16 TiB | |
MFS | 255 bytes | Any byte except : | No path | 256 MiB | 256 MiB | |
HFS | 31 bytes | Any byte except : | Unlimited | 2 GiB | 2 TiB | |
HPFS | 255 bytes | Any byte except NUL | No limit defined | 2 GiB | 2 TiB | |
NTFS | 255 characters | In Win32 namespace: any UTF-16 code unit except /\:*"?<>| as well as NUL In POSIX namespace: any UTF-16 code unit except / as well as NUL | 32,767 Unicode characters with each path component up to 255 characters long | 16 EiB | 16 EiB | 232 |
ReFS | 255 UTF-16 characters | Any Unicode except NUL, / | 32,767 Unicode characters with each path component up to 255 characters long | 16 EiB | 1 YiB | |
HFS Plus | 255 UTF-16 characters | Any valid Unicode | Unlimited | slightly less than 8 EiB | slightly less than 8 EiB | |
FFS | 255 bytes | Any byte except NUL | No limit defined | 4 GiB | 256 TiB | |
HAMMER | 255 bytes | Any byte except NUL | | data-sort-type="number" data-sort-value="0" | 1 EiB | |
UFS1 | 255 bytes | Any byte except NUL | No limit defined | 16 GiB to 256 TiB | 16 EiB | Subdirectory per directory is 32,767 |
UFS2 | 255 bytes | Any byte except NUL | No limit defined | 512 GiB to 32 PiB | 512 ZiB | Subdirectory per directory is 32,767 |
ext | 255 bytes | Any byte except NUL | No limit defined | 2 GiB | 2 GiB | |
Xiafs | 248 bytes | Any byte except NUL | No limit defined | 64 MiB | 2 GiB | |
ext2 | 255 bytes | Any byte except NUL, / | No limit defined | 16 GiB to 2 TiB | 2 TiB to 32 TiB | |
ext3 | 255 bytes | Any byte except NUL, / | No limit defined | 16 GiB to 2 TiB | 2 TiB to 32 TiB | |
ext4 | 255 bytes | Any byte except NUL, / | No limit defined | 16 GiB to 16 TiB | 1 EiB | 232 |
NOVA | 255 bytes | Any byte except NUL, / | No limit defined | 16 EiB | 16 EiB | |
Lustre | 255 bytes | Any byte except NUL | No limit defined | 16 EiB on ZFS | 16 EiB | |
GPFS | 255 UTF-8 codepoints | Any byte except NUL | No limit defined | No limit found | 299 bytes | |
GFS | 255 bytes | Any byte except NUL | No limit defined | 2 TiB to 8 EiB | 2 TiB to 8 EiB | |
NILFS | 255 bytes | Any byte except NUL | No limit defined | 8 EiB | 8 EiB | |
ReiserFS | 4,032 bytes/255 characters | Any byte except NUL or '/' | No limit defined | 8 TiB, 4 GiB | 16 TiB | |
Reiser4 | 3,976 bytes | Any byte except / and NUL | No limit defined | 8 TiB on x86 | data-sort-type="number" data-sort-value="0" | |
OCFS | 255 bytes | Any byte except NUL | No limit defined | 8 TiB | 8 TiB | |
OCFS2 | 255 bytes | Any byte except NUL | No limit defined | 4 PiB | 4 PiB | |
XFS | 255 bytes | Any byte except NUL | No limit defined | 8 EiB | 8 EiB | |
JFS1 | 255 bytes | Any byte except NUL | No limit defined | 8 EiB | 512 TiB to 4 PiB | |
JFS | 255 bytes | Any Unicode except NUL | No limit defined | 4 PiB | 32 PiB | |
QFS | 255 bytes | Any byte except NUL | No limit defined | 16 EiB | 4 PiB | |
BFS | 255 bytes | Any byte except NUL | No limit defined | 12,288 bytes to 260 GiB | 256 PiB to 2 EiB | Unlimited |
AdvFS | 255 characters | Any byte except NUL | No limit defined | 16 TiB | 16 TiB | |
NSS | 256 characters | Depends on namespace used | Only limited by client | 8 TiB | 8 TiB | |
NWFS | 80 bytes | Depends on namespace used | No limit defined | 4 GiB | 1 TiB | |
ODS-5 | 236 bytes | | 4,096 bytes | 1 TiB | 1 TiB | |
VxFS | 255 bytes | Any byte except NUL | No limit defined | 16 EiB | data-sort-type="number" data-sort-value="0" | |
UDF | 255 bytes | Any Unicode except NUL | 1,023 bytes | 16 EiB | 512 MiB to 16 TiB | |
ZFS | 255 bytes | Any Unicode except NUL | No limit defined | 16 EiB | 256 ZiB | 2128 |
Btrfs | 255 bytes | Any byte except '/' and NUL | No limit defined | 16 EiB | 16 EiB | 264 |
Minix V1 FS | 14 or 30 bytes, set at filesystem creation time | Any byte except NUL | No limit defined | 256.5 MiB | 64 MiB | |
Minix V2 FS | 14 or 30 bytes, set at filesystem creation time | Any byte except NUL | No limit defined | 2 GiB | 1 GiB | |
Minix V3 FS | 60 bytes | Any byte except NUL | No limit defined | 2 GiB | 4 GiB | |
VMFS2 | 128 | Any byte except NUL or / | 2,048 | 4 TiB | 64 TiB | |
VMFS3 | 128 | Any byte except NUL or / | 2,048 | 2 TiB | 64 TiB | |
| Level 1: 8.3, Level 2 & 3: ~ 180 | Depends on Level | ~ 180 bytes? | 4 GiB to 8 TiB | 8 TiB | |
Joliet | 64 Unicode characters | All UCS-2 code except *, /, \, :, ;, and ? | | same as | same as | |
Rock Ridge | 255 bytes | Any byte except NUL or / | No limit defined | same as | same as | |
UniFS | No limit defined | | No limit defined | Available cache space at time of write | No limit defined | No limit defined |
| | | | data-sort-type="number" data-sort-value="0" | data-sort-type="number" data-sort-value="0" | |
High Sierra Format | | | | data-sort-type="number" data-sort-value="0" | data-sort-type="number" data-sort-value="0" | |
SquashFS | 256 bytes | | No limit defined | 16 EiB | 16 EiB | |
File system | Maximum filename length | Allowable characters in directory entries | Maximum pathname length | Maximum file size | Maximum volume size | Max number of files |