NAME

vcardtidy - normalize the format of VCARD files

VERSION

v1.1.0 (2026-01-20)

SYNOPSIS

vcardtidy [FILES...] [OPTIONS...]

DESCRIPTION

vcardtidy formats VCARD files, using Text::vCard::Addressbook to normalize field order and capitalization.

By default vcardtidy acts like a filter, reading from stdin and writing to stdout.

If FILES... are specified they are tidied up in place! Users are encouraged to use a revision control system (e.g. Git) and/or have secure backups.

OPTIONS

--debug, -d

Output debugging statements to STDERR.

--regex, -r REGEX

Before tidying, evaluate REGEX replacement expression against the input. Can be used multiple times. To add a NOTE and an additional CATEGORY in one go for example:

$ vcardtidy untidy.vcf \
   -r 's/^END:VCARD/NOTE:My note\r\nEND:VCARD/m'
   -r 's/^(CATEGORIES:.*)(\s+)$/\1,NewCategory\2/m'

Tools like sed(1), awk(1) and of course perl(1) are obviously natively designed to modify text, in a better way. But --regex ensures that you still have a valid VCARD afterwards, allowing you to easily iterate while you develop your change.

--force, -f

Force a tidy to occur when the N or FN fields are missing, by creating them based on the card's UID.

This flag can also be used to overwrite the VERSION field or ensure the the REV field is updated.

--help, -h

Print the full usage message and exit.

--no-rev, -R

Prevent vcardtidy from updating the "REV" timestamp.

--nothing, -n

Do not write tidied output to files. In filter mode outputs the original VCARD.

--vcard-version, -v VERSION

The value of VERSION to update (with --force) or add (when none exists). Defaults to "4.0".

--version, -V

Print the version and exit.

SUPPORT

This tool is managed via github:

https://github.com/mlawren/vcardtidy

SEE ALSO

Text::vCard::Addressbook, githook-perltidy(1)

AUTHOR

Mark Lawrence <nomad@null.net>

COPYRIGHT AND LICENSE

Copyright 2022-2026 Mark Lawrence <nomad@null.net>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.