Offline Writer

Offline Writer lets you easily generates posts based on the documents created with your favorite desktop applications.

Create posts with a word processor

Use MS Word, OpenOffice, LibreOffice (or other word processors able to generate .odt documents) to create your WordPress posts.

Watch the video: Offline Writer – Create a post from an .odt file

Speed up your workflow with the Markdown syntax

Markdown is a lightweight and easy-to-use syntax for creating HTML. With just regular text with a few non-alphabetic characters you will be able to control the display of the document, format words as bold or italic, add images, create lists and more.

Watch the video: Offline Writer – Create a post from an .md file

Easily create your posts with a word processor

With Offline Writer you will be able to use MS Word, OpenOffice, LibreOffice, and basically any ODT-capable word processor, to create the content of your posts, pages or custom post types.

Writing your posts in a word processor gives you the advantages that:

  • You don’t need to go online, log in or pass other security checks each time you have an idea for a new post.
  • You can make use of the extensions available for your word processor, like advanced spell checker and grammar checker usually not available in WordPress. This helps you improve the quality of your articles.
  • Considered the user-friendliness of word processors, you might collect contributions for the creation of new content from non-technical people.
  • You can work on your articles even if a internet connection is not available.

If you don’t have a word processor currently installed on your computer dozens of alternative are available, both free and paid. Check outthis list from Wikipedia for details.


Technically when .odt files are uploaded and imported the ODT parser make use of XMLReader to read the embedded XML documents and convert the tags that are common between the XML part used by the .odt format and HTML.

The difference between the HTML documents generated with the word processor built-in feature and the HTML documents generated by this plugin is that:

  • The word processor built-in feature generates a real conversion of the document with all the style embedded inline. The resulting HTML is accurate but clearly not suitable to be used as a content for a WordPress post. (at least without spending a lot of time cleaning all the inline style applied to each element and removing all the additional span elements injected in the code)
  • The ODT parser included in this plugin is selective, converts a limited set of elements and ignore all the rest. The resulting HTML is clean and suitable to be published on your blog.

To be specific all the styles applied by the word processor in the .odt file and all the elements that are not included in the following conversion table are completely ignored by the parser.

  • text:p -> p
  • text:a -> a
  • draw:image -> img
  • text:h -> h1, h2, h3, h4, h5, h6
  • text:list -> ul/ol
  • text:list-item -> li
  • table:table -> table
  • table:table-row -> tr
  • table:table-cell -> td

For the reasons explained in this section the ODT menu should be used to import content that make use of this set of common elements and not to create complex layouts based on the styles applied on the .odt files.


The images included in the .odt files are automatically uploaded in the WordPress upload directory (the actual directory depends on your selection performed in the Settings -> Media menu), along with the images manually added in the posts with the “Add Media” button.

During the upload process you will prompted with a form that allows you to set the following details related to the images:

  • Filename (the name of the image in the filesystem)
  • Alt attribute
  • Title attribute
  • Link (this allows to link the image to the specified URL)
  • Link target attribute
  • Link nofollow attribute

All these details are optional, you can even leave all the fields blank if you want and in this case the filename will be auto-assigned.

Speed up you workflow with the .md format

Markdown is a lightweight and easy-to-use syntax for creating HTML. Let’s see some of the advantages of using this emerging format with the Offline Writer plugin:

  • Markdown is extremely easy to use, the tokens available with the Markdown syntax can be learned in less than 30 minutes.
  • Markdown translates to perfect HTML. No missing closing tags, no improperly nested tags, no blocks left without containers.
  • The Markdown files are simple text files editable with any text or code editor, on any operative system.
  • The Markdown files are extremely lightweight text files which don’t need to be compressed to be transported or sent on the internet.
  • Writing with the Markdown syntax requires and average of 25% less characters than writing HTML.
  • You can stop thinking about html and focus on what’s important, the content.
  • You can start writing your posts in your personal distraction free editor, like a simple text/code editor customized for your needs or one of the specific Markdown editors available on the market.
  • Programmers no longer need to manually convert to HTML entities the problematic characters present in code snippets. The Markdown parsers do this job for you.
  • With five included parser and three Markdown variations supported, this plugin can certainly satisfy even a Markdown expert who make use of any possibility provided by the syntax.

Five Markdown parsers and three markdown flavors

At this time there isn’t a clearly defined Markdown standard and different implementations are currently used on the web. For this reason this plugin doesn’t force you to adopt a specific Markdown syntax, but instead allows you to select your favorite parser between the five available.

In the Offline Writer options you will be able to selected one of these five parser. In this list for each parser you have a reference to the supported syntax.

  • Parsedown (GitHub)
  • Parsedown Extra (Extra)
  • Cebe Markdown (Traditional)
  • Cebe Markdown GitHub (GitHub)
  • Cebe Markdown Extra (Extra)