Base-64 is a way to encode bytes. What those bytes represent is irrelevant. Just read the bytes and then call Convert.ToBase64String. If there is too much data to read into a single array then you can use the ToBase64Transform class to do it in chunks. You could read data in chunks from a FileStream and transform each chunk as you go.