There is no standard for representing stream objects. **About some objective elements:** But as you explained it the stream is an abstraction of a flow of data. But what is not well shown is that this abstraction also hides the origin of the stream: * it can be a file stored on the file system, and that has a finished size; * it can be a file object representing itself a stream of incoming characters typed on the console, with no end until you shut down the computer; * it can be data coming from a network connection over the internet that streams infinite data (e.g. temperature measurements in you house, mesaurements of factory sensors, etc...) For all these reasons, you should not show the stream as a boxed (finished) content, but suggest the uncertainty and possible endless flow in some way. **Subjective remarks** Your first representation of a pipe conveys well the idea. Maybe do not connect it to a a boxed file, but rather some cloud with a question mark?