# protoc > Parse Google Protobuf `.proto` files and generate output in the specified language. > More information: . - Generate Python code from a `.proto` file: `protoc --python_out={{path/to/output_directory}} {{input_file.proto}}` - Generate Java code from a `.proto` file that imports other `.proto` files: `protoc --java_out={{path/to/output_directory}} --proto_path={{path/to/import_search_path}} {{input_file.proto}}` - Generate code for multiple languages: `protoc --csharp_out={{path/to/c#_output_directory}} --js_out={{path/to/js_output_directory}} {{input_file.proto}}` - Encode a text-format message into a protocol message from a `.proto` file: `protoc --encode={{TypeName}} {{input_file.proto}} < {{message.txt}}` - Decode a protocol message into text-format from a `.proto` file: `protoc --decode={{TypeName}} {{input_file.proto}} < {{message.bin}}` - Decode a protocol message into raw tag/value pairs: `protoc --decode_raw < {{message.bin}}`