It's plain text, but not plain English
MT940 files are ordinary text files — you can open one in Notepad, TextEdit, or any code editor and see readable characters, usually with a .sta or .mt940 extension. What you'll find, though, is a sequence of numbered tags rather than a table: lines starting with :20:, :25:, :28C:, :60F:, :61:, :86: and :62F:, each carrying a specific piece of the statement.
This is fine for a program to parse but awkward for a person to scan. Finding a specific transaction, totalling amounts, or comparing several statements means manually tracking which :61: line goes with which :86: description, across a file that can run to hundreds of lines.
What the tags mean, roughly
A few tags matter most. :20: is a reference for the message. :25: identifies the account. :28C: is a statement or sequence number. :60F: and :62F: give the opening and closing balances. The real content is in repeating pairs of :61: (a transaction line with its date, amount and a debit/credit marker) and :86: (a free-text description that follows it). A single statement can contain many of these pairs, one per transaction.
Converting is usually more practical than reading tags
Rather than parsing tags by eye, converting the file to CSV or Excel turns each :61:/:86: pair into a normal spreadsheet row, with the date, amount and description already separated into their own columns. From there you can sort by date, filter by amount, or search the description column the way you would with any other spreadsheet.
Bankfile's MT940 converters read the :61: lines and preserve multiline :86: descriptions, using the credit, debit and reversal markers to determine each amount's sign. The conversion runs locally in your browser — the file is read and converted on your device, not uploaded anywhere.
Bank-specific text in :86:
The :86: field is free text, and banks often pack their own subfields into it — a structured code followed by a counterparty name and a reference, for instance — without a shared standard for how those subfields are separated. A converter can't reliably unpack bank-specific structure it was never told about, so that field is generally kept as supplied rather than split further, which is worth knowing if you're comparing statements from more than one bank.