Currently the expo filesystem only allows to write full strings to a file. Also reading partial strings with the position and length attribute is only possible with the base64 encoding. To have a "fully featured" filesystem, only a small set of additional features is missing. Adding these would allow for a wide range of applications that do granular binary writes and reads to files. For example it could simulate the new browser OPFS api or even run a full database on it like a RxDB storage or a custom SQLite with OPFS persistence The missing parts are position options in the options of writeAsStringAsync and readAsStringAsync. When implemented, thesse would be used like the following: Write partial data to a file at position 10: await writeAsStringAsync(fileName, 'foobar', { at: 10 // <- write at position 10 }); Read partial data from file (even on non-base64): const content = await readAsStringAsync(fileName, { position: 2, length: 5 });