Abstract: A formal machine reader is a tool able to transform natural language text into formal structured knowledge so as the latter can be interpreted by machines, according to a shared semantics. FRED is a formal machine reader for the semantic web: its output is a RDF/OWL graph, whose design is based on frame semantics. FRED’s graph are domain- and task-independent, making the tool suitable to be used as a semantic middleware for domain- or task-specific applications. To serve this purpose, it is available both as REST service and as Python library. This paper provides details about FRED’s capabilities, design issues, implementation and evaluation.