This program reads the journal entries from a livejournal (or compatible) blog site and archives them in a subdirectory named after the journal name. Both the journal entries and journal comments are downloaded.

This program may be run as often as needed to bring the backup copy up to date. Both new and updated items are downloaded.

You may optionally download entries from a different journal (a community) where you are a member. If you are a community maintainer, you can also download comments from the community.

This program uses only standard Python libraries, so it will work wherever Python itself does (Windows, Linux, FreeBSD, Mac OS X, etc).

There is an [info]ljdump community set up to discuss this program. If you have any questions or comments, please post there.


The ljdump program is provided in source form as a Python program.

The source code is also available in the ljdump repository on GitHub.


The simplest way to run this is to execute the ljdump.py script with Python. Depending on your OS, you may be able to double-click the ljdump.py script directly, or you may need to open a Terminal/Command Prompt window to run it. Either way, it will prompt you for your Livejournal username and password, then download all your journal entries, comments, and userpics.

If you want to save your username and password so you don't have to type it every time you run ljdump, you can save it in the configuration file.

The configuration is read from "ljdump.config". A sample configuration is provided in "ljdump.config.sample", which should be copied and then edited. The configuration settings are:

The Livejournal server URL. This should only need to be changed if you are dumping a journal that is livejournal-compatible but is not livejournal itself. Versions before 1.1 required the specific XMLRPC server URL here. Version 1.1 and later use the "flat" interface as well, so only the server name should be configured here.
The livejournal user name. A subdirectory will be created with this same name to store the journal entries.
The account password. This password is never sent in the clear; the livejournal "challenge" password mechanism is used.
Optional: The journal to download entries from. If this is not specified, the "username" journal is downloaded. If this is specified, then only the named journals will be downloaded (this element may be specified more than once to download multiple journals).
Greg Hewgill <greg@hewgill.com> likeable