I need to be able to create text files on my SD card that are with names longer than 8 characters (which is what the SD.h currently limits me to). A choice would be to move to the SDFat library but before considering that option, is there a way to just remove the limit on the SD.h (because my code already implements the good-old SD.h)? What would be the best way to go about this issue?

1 Answer 1


The 8.3 "limit" is not a "limit" that can be removed. It is how FAT filesystems work. Longer filenames are a "fudge" extension overlaid on top of that fileststem structure. To be able to use them you would need to implement that extension.

Simpler to switch to a more modern implementation. FatFS is your friend:

  • LFN support, including UTF
  • Faster device access
  • More efficient
  • Can handle more devices than just SD cards
  • Can handle multiple devices at once

There is an implementation here though I don't know how good it is (I use it on chipKIT where it is bundled by default).

If you can't get FatFs then basically anything is better than the SD library to be brutally honest.

  • What about the SDFat library? Is it better than the FatFS? My aim is to not take too much flash memory. Apr 24, 2020 at 14:34
  • I haven't used it. But as I mention - anything is better than SD.h. If you have it / can get it easily, then use it.
    – Majenko
    Apr 24, 2020 at 14:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.