Plain Text vs. Rich Text on Mac: What's the Difference?
Open a .txt file and a .docx file side by side in their respective apps and they can look almost identical — black text on a white background, maybe some line breaks. But crack them open in a hex editor and the difference is enormous. One is hundreds of bytes. The other might be hundreds of kilobytes, even if the actual words are the same.
Understanding the difference between plain text and rich text isn't just a nerdy detail. It directly affects whether your files work where you need them to.
What plain text actually is
A plain text file (.txt) contains only characters — letters, numbers, punctuation, spaces, and line breaks. That's it. There is no information about fonts, colors, bold, italic, margins, or anything visual. The file is just a sequence of character codes, typically encoded in UTF-8.
Open a plain text file in any app, on any operating system, and you get exactly the same characters back. Nothing is interpreted, nothing is transformed. What's in the file is what you get.
What rich text adds on top
Rich Text Format (.rtf) and Word documents (.docx) layer formatting instructions on top of your text. Bold text isn't just bold — it's wrapped in markup that says "start bold here, end bold here." Fonts are specified by name. Colors have hex codes. Paragraphs have margin settings.
This formatting data lives alongside your text in the file. In RTF it's human-readable markup. In DOCX it's XML compressed inside a ZIP archive. Either way, the file is significantly more complex than the words it contains.
When each format makes sense
| Situation | Best format | Why |
|---|---|---|
| Config files, .env, scripts | .txt / plain text | Apps reading these files expect raw characters, not markup |
| Log files, data exports | .txt / plain text | Processed by other programs that parse character-by-character |
| Quick notes and drafts | .txt | Opens anywhere, never corrupts, tiny file size |
| Formal letters, reports | .docx or .rtf | Formatting matters for the reader's experience |
| Documents shared with non-technical people | .docx | Expected format, preserves layout across devices |
| Code and markup | .txt or specific extension (.py, .html) | Code editors treat these as plain text regardless of extension |
The TextEdit problem on Mac
TextEdit is the built-in Mac text editor and it defaults to Rich Text mode. This trips people up constantly. You open TextEdit, type some plain-looking text, save it as "notes.txt" — and what you get is actually an RTF file with a .txt extension. Other apps trying to read it as plain text see formatting garbage at the start of the file.
You can fix this by going to TextEdit → Settings → New Document and switching to Plain Text. Or you can use a tool that was built for plain text from the start, like txtnote.online, and skip the settings entirely.
Does the file extension tell you which format it is?
Not always. A file named "notes.txt" should be plain text, but as mentioned above, TextEdit can save Rich Text data with a .txt extension. The extension is just a label — the actual contents determine the format.
If you ever need to verify, open Terminal and run file yourfile.txt. It'll tell you the actual format of the data inside, regardless of extension.
For most day-to-day tasks on a Mac, plain text is the safer, more versatile choice. It works everywhere, it never breaks, and it doesn't lock your content inside a format that requires a specific application to read. Rich text earns its complexity when formatting genuinely needs to be preserved — and for everything else, .txt is the right call.