GNU Recutils is a set of tools and libraries to access
human-editable, plain text databases called recfiles. The
data is stored as a sequence of records, each record containing an
arbitrary number of named fields. The picture below shows a sample
database containing information about GNU packages, along with the
main features provided by recutils.
- Mandatory and forbidden fields.
- Unique fields and primary keys.
- Auto-counters and time-stamps.
- Arbitrary constraints.
Rich Type System for Fields
- Predefined: integer, real, date, etc.
- User-defined: based on regular expressions.
Advanced database facilities
- Joins and foreign keys.
- Grouping and sorting.
- Aggregate functions.
- Selective: individual fields can be encrypted.
- Password-based AES.
Converters from/to other formats
- mdb files to recfiles.
- csv files to/from recfiles.
Do you like this program?
- Please consider making a micro-donation in flattr.
Advanced Emacs mode
- Navigation mode and editing mode.
- Field folding.
- Visual edition of fields driven by types.
- User manual.
Integration with org-mode
- Read data from recfiles into a table in an org-mode
buffer in Emacs.
- Publish the resulting data.
- Generate reports.
- Build your own exporters.
- Full description of the format.
- Documentation for the utilities.
- Usage examples.
- C library: librec
- Rich set of utilities to be used in shell scripts and in the
A video with a talk introducing the program can be found
An older video, which was recorded just before releasing the
first version, can be downloaded
If you want to discuss about recutils, some of the people involved
in GNU recutils use to be in the #recutils channel in
the irc.freenode.net IRC network. You are more than welcome
GNU recutils can be found on the main GNU ftp server:
(via HTTP) and
(via FTP). It can also be found
on the GNU mirrors;
a mirror if possible.
Additionally there are binary packages for some GNU/Linux
If you know of some other binary distribution of GNU recutils please
get in touch with the maintainer.
Take a look to our Frequently Asked
is available online, as
is documentation for most GNU software. You
can find more information about Recutils by
running info recutils or by looking at
or similar directories on your system.
GNU recutils has two mailing lists:
The main discussion list is
and is used to discuss most aspects of recutils, including development
and enhancement requests, as well as bug reports.
There is a separate list for general user help and discussion,
Announcements about Recutils and most other GNU software are made
To subscribe to these or any GNU mailing lists, please send an empty
mail with a Subject: header of just subscribe to the relevant
-request list. For example, to subscribe yourself to the GNU
announcement list, you would send mail to <firstname.lastname@example.org>.
Or you can use the mailing list web
Development of Recutils, and GNU in general, is a volunteer effort,
and you can contribute. For information, please
read How to help GNU. If you'd like to get
involved, it's a good idea to join the discussion mailing list (see
- Test releases
- Trying the latest test release (when available) is always
appreciated. Test releases of Recutils can be found at
(via HTTP) and
- For development sources, and other information, please see the
- Please send bug reports and patches
- Translating Recutils
- To translate Recutils's
messages into other languages, please see the Translation Project
page for Recutils.
If you have a new translation of the message strings,
or updates to the existing strings, please have the changes made in this
repository. Only translations from this site will be incorporated into
For more information, see the Translation
is currently being maintained by Jose E. Marchesi.
Please use the mailing lists for contact.
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.