Export from Windows Address Book (WAB) files

1. Introduction

Libwab is a little command line utility that you can use to export your addresses from a Windows Address Book (used in Microsoft Outlook Express). Simply compile and run it on a .wab file and it should dump the file in ldif format (a nice ascii format used in ldap).

Used in heuristic mode libwab can often recover deleted contacts and contacts from damaged files.

2. Download

The source: libwab-060901.tar.gz
Windows Binary (MinGW):
Other files (old version, etc) files/

3. Windows Instructions


  1. Download the current wabread mingw zip file
  2. Extract the contents to a new folder C:\wabwork>.
  3. Locate your .wab file(s). You can do this by clicking Start->search->"For Files or Folders" and entering "*.wab" in "Search for files or folders named".
  4. Copy your .wab file(s) into C:\>wabwork
  5. Go to "Start->Run", enter cmd.exe and press enter.
  6. You should now be in a DOS window like the following (there may be differences)
    Microsoft Windows 2000 [Version 5.00.2195]
    (C) Copyright 1985-2000 Microsoft Corp.
    C:\Documents and Settings\Administrator>
  7. Go to C:\wabwork
    C:\Documents and Settings\Administrator>c:
    C:\Documents and Settings\Administrator>cd \wabwork
  8. Run dir to make sure everything is there:
     Volume in drive C has no label.
     Volume Serial Number is F8C2-A937
     Directory of C:\wabwork
    08/05/2006  12:01p      <DIR>          .
    08/05/2006  12:01p      <DIR>          ..
    05/27/2003  10:16p             244,179 example.wab
    08/02/2006  04:25p             935,399 libiconv-2.dll
    08/02/2006  04:26p             111,180 wabread.exe
                   3 File(s)      1,290,758 bytes
                   2 Dir(s)  20,292,921,344 bytes free
    You should have
    • the wabread executable.
    • The libiconv-2.dll
    • The wabfile(s) you wish to decode.
    Note: wabread.exe may be named wabread-060803.exe (or similarily). You can rename this file to wabread.exe with ren wabread-060803.exe wabread.exe

Executing wabread

  • If you run the wabread executable then you should see something like this:
    Use:  wabread [options] <filename.wab>
       -d #        set debugging (logical or 1,2,3,4...)
       -h          heuristic record dump: attempt to recover data
                     from a broken .wab file and/or deleted records.
       -u          enable unicode (a bit unstable under win32)
  • To decode example.wab we do the following:
    C:\wabwork>wabread example.wab >example.ldif
    The file "example.ldif" should now contain the records from example.wab in ldif form.
  • If you wish to get deleted records back from example.wab or the example.wab file is damaged then you can use heuristic mode:
    C:\wabwork>wabread -h example.wab >example-heuristic.ldif
    The above should result in the file "example-heuristic.ldif" being generated. This file will contain everything that wabread finds in your .wab file that seems like it is a record.