Convert a Text File to RTF, HTML, DOC, and more via Command Line

Jul 6, 2011 - 7 Comments

The command line tool textutil allows you to quickly convert text files to many other useful formats. The command syntax you’ll want to use is:

textutil -convert filetype filename

Conversion options are txt, rtf, rtfd, html, doc, docx, odt, wordml, and webarchive, here’s sample syntax converting a text file named test.txt to an rtf:

textutil -convert rtf test.txt

Textutil will automatically append the filename with the appropriate extension. If you want to give the file a new name in the conversion process, use the -output flag as follows:

textutil -convert rtf test.txt -output NewFileName.rtf

If there’s multiple text documents you want to join together into a single new file, use textutil’s built-in cat function:

textutil -cat rtf file1.txt file2.txt file3.txt -output combinedFiles.rtf

You can quickly verify the conversion was successful by opening the newly created rtf file in TextEdit with:

open test.rtf

You can also go the other direction and convert from any of the aforementioned filetypes back to txt, just remember that plaintext does not support any styling so the document will be stripped of any unique fonts, font sizes, styling, or other aspects of a rich text file.

Don’t forget that you can also convert a text file to a spoken audio file, this can be achieved through the command line or by using the simpler “Add to iTunes as Spoken Track” method.

Enjoy this tip? Subscribe to the OSXDaily newsletter to get more of our great Apple tips, tricks, and important news delivered to your inbox! Enter your email address below:

Related articles:

Posted by: William Pearson in Command Line, Mac OS X, Tips & Tricks

7 Comments

» Comments RSS Feed

  1. Viceroy says:

    I like the concatenation aspect but I don’t think I would use the conversions when I can do it through other text editors.

  2. david says:

    viceroy – you can do the concatenation by just using cat

    being a unix admin I love learning new tricks and can see potential benefits in certain cases by using this thanks!

    I think this goes hand and hand with being able to manipulate images and convert to different types try the following to learn more about that.
    sips –help

  3. […] addition to being able to convert TXT files to RTF or other filetypes, you can use textutil to convert the font family and font size of a document from the command […]

  4. D L S says:

    Loved it..

    I am a completely new and first Time Mac User and have been a Windows User for almost 10 years.. Just loved learning all this stuff..

    Used to do a lot of such things back when Learnt DOS in Windows

  5. Linds says:

    Here’s an Applescript droplet (OSX Lion) to package this up:

    (* ConvertFileFormat ©Lindsay Crawford, 2012
    Based on William Pearson’s article http://osxdaily.com/2011/07/06/convert-a-text-file-to-rtf-html-doc-and-more-via-command-line/ and loosely, Apple’s Droplet with Settable Properties.app

    INSTRUCTIONS
    Run the app to convert one file, or drop a group of files on the app. Converted files with same names but different extensions are left in the original folder.
    Unconvertible files are ignored.
    *)

    property type_list : {“txt”, “rtf”, “rtfd”, “html”, “doc”, “docx”, “odt”, “wordml”, “webarchive”}

    on run — display description and get a file
    try
    open ({choose file})
    end try
    end run

    — This droplet processes files dropped onto the applet
    on open these_items

    set convertTo to (choose from list type_list with title “Format Conversion” with prompt “Select the format to convert the file(s) to:” default items {“html”} without multiple selections allowed) as text

    repeat with i from 1 to the count of these_items

    set this_item to item i of these_items

    — Get the info for the item
    tell application “System Events”
    set the item_info to (get the properties of this_item)

    set this_name to the name of the item_info
    set this_place to the POSIX path of the container of the item_info
    set ext to name extension of the item_info

    end tell

    — now check the file type
    if (ext is in type_list) then
    process_item(this_place, this_name, convertTo)
    end if

    end repeat

    end open

    — this sub-routine processes files
    on process_item(this_place, this_name, convertTo)
    — this_place is a POSIX path to the folder for this file
    — this_name is just the file name with extension
    — convertTo is a text string containing the new file extension

    copy “cd ” & quoted form of this_place & “;textutil -convert ” & convertTo & space & quoted form of this_name to theCommand
    do shell script theCommand

    end process_item

  6. […] You can also open an RTF document into TextEdit and perform the conversion directly on the file, saving the resulting file as a TXT document. The same conversions can also be achieved from the temrinal by using the textutil command. […]

  7. John says:

    Very useful note about using TextEdit to convert text to HTML thank you

Leave a Reply

 

Shop for Apple & Mac Deals on Amazon.com

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates