Different file systems in different Operating Systems has different limitations in the number of files that can be in a directory as determined by the underlying architecture.. Here is an overview of maximum of number of files that you can have in a directory and associated problems, if any, like performance.

FAT32

  • Maximum number of files: 268,173,300
  • Maximum number of files per directory: 216 – 1 (65,535)
  • Maximum file size: 2 GiB – 1 without LFS, 4 GiB – 1 with

NTFS

  • Maximum number of files: 232 – 1 (4,294,967,295)
  • Maximum file size
    • Implementation: 244 – 26 bytes (16 TiB – 64 KiB)
    • Theoretical: 264 – 26 bytes (16 EiB – 64 KiB)
  • Maximum volume size
    • Implementation: 232 – 1 clusters (256 TiB – 64 KiB)
    • Theoretical: 264 – 1 clusters

ext2

  • Maximum number of files: 1018
  • Maximum number of files per directory: ~1.3 × 1020 (performance issues past 10,000)
  • Maximum file size
    • 16 GiB (block size of 1 KiB)
    • 256 GiB (block size of 2 KiB)
    • 2 TiB (block size of 4 KiB)
    • 2 TiB (block size of 8 KiB)
  • Maximum volume size
    • 4 TiB (block size of 1 KiB)
    • 8 TiB (block size of 2 KiB)
    • 16 TiB (block size of 4 KiB)
    • 32 TiB (block size of 8 KiB)

ext3

  • Maximum number of files: minimum (volume Size / 213, number of Blocks)
  • Maximum file size: same as ext2
  • Maximum volume size: same as ext2

ext4

  • Maximum number of files: 232 – 1 (4,294,967,295)
  • Maximum number of files per directory: unlimited
  • Maximum file size: 244 – 1 bytes (16 TiB – 1)
  • Maximum volume size: 248 – 1 bytes (256 TiB – 1)