---
name: "khard"
section: "1"
platform: "linux"
package: "khard"
version: "0.22.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/khard"
---

# khard(1)

Console address book manager

## NAME

khard - Console address book manager

## SYNOPSIS

```
usage: khard [-h] [-c CONFIG] [--debug] [--skip-unparsable] [-v]
             SUBCOMMAND ...
```

### Positional Arguments

- **SUBCOMMAND**

  Possible choices: list, ls, show, details, template, birthdays, bdays, email, phone, postaddress, post, postaddr, new, add, add-email, merge, edit, modify, ed, copy, cp, move, mv, remove, delete, del, rm, addressbooks, abooks, filename, file

### Named Arguments

- **-c, --config**

  config file to use

  The default value and the syntax of the config file are explained in **[khard.conf(5)](/khard.conf/5.md)**.

- **--debug**

  enable debug output

- **--skip-unparsable**

  skip unparsable vcard files

- **-v, --version**

  show program's version number and exit

## DESCRIPTION

**khard** is an address book for the Unix command line.  It can read, create, modify and delete vCard address book entries.  **khard** only works with a local store of vCard files.  It is intended to be used in conjunction with other programs like an email client, text editor, vdir synchronizer or VOIP client.

## SUBCOMMANDS

The functionality of khard is divided into several subcommands.  All of these have their own help text which can be seen with **khard SUBCOMMAND --help**. The full list of subcommands and all options can be found in **khard-subcommands(1)**.

Many subcommands accept search terms to limit the number of contacts they should work on, display or present for selection.  The syntax is described in Search query syntax.

### Listing subcommands

These subcommands list information of several contacts who match a search query.

- **list**

  list all (selected) contacts

- **birthdays**

  list birthdays (sorted by month and day)

- **email**

  list email addresses

- **phone**

  list phone numbers

- **postaddress**

  list postal addresses

- **filename**

  list filenames of all matching contacts

### Detailed display

These subcommands display detailed information about one contact.

- **show**

  display detailed information about one contact, supported output formats are "pretty", "yaml" and "vcard"

### Modifying subcommands

These subcommands are used to modify contacts.

- **edit**

  edit the data of a contact, supported formats for editing are "yaml" and "vcard"

- **new**

  create a new contact

- **add-email**

  Extract email address from the "From:" field of an email header and add to an existing contact or create a new one

- **merge**

  merge two contacts

- **copy**

  copy a contact to a different addressbook

- **move**

  move a contact to a different addressbook

- **remove**

  remove a contact

### Other subcommands

- **addressbooks**

  list all address books

- **template**

  print an empty yaml template

## SEARCH QUERY SYNTAX

Search queries consist of one or more command line arguments.  Each can be a simple search term or a search term for a specific field.  The field name is separated from the search term by a colon (**:**) without any spaces.

Spaces in the field name have to be replaced with underscores.

The available fields are the same fields as in the YAML template with the exception of the five name components (first, last, prefix, suffix, additional).  But there is the special pseudo field specifier **name:** which will search in *any* name related field (including nicknames and formatted names).

If a field name is not known the search term is interpreted as a plain search term and the string (including the colon) is looked up in any field of the contact.

## CONFIGURATION

See **[khard.conf(5)](/khard.conf/5.md)**.

## Copyright

2020, Eric Scheibler
