---
name: "makeinfo"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/makeinfo"
---

# makeinfo(1)

translate Texinfo documents

## NAME

makeinfo - translate Texinfo documents

## SYNOPSIS

**makeinfo** \[*OPTION*\]... *TEXINFO-FILE*...

## DESCRIPTION

Translate Texinfo source documentation to various other formats, by default Info files suitable for reading online with Emacs or standalone GNU Info.

### General options:

- **--error-limit**=*NUM*

  quit after NUM errors (default 100).

- **--force**

  preserve output even if errors.

- **--help**

  display this help and exit.

- **--no-validate**

  suppress node cross-reference validation.

- **--no-warn**

  suppress warnings (but not errors).

- **--reference-limit**=*NUM*

  warn about at most NUM references (default 1000).

- **-v**, **--verbose**

  explain what is being done.

- **--version**

  display version information and exit.

### Output format selection (default is to produce Info):

- **--docbook**

  output Docbook XML rather than Info.

- **--html**

  output HTML rather than Info.

- **--xml**

  output Texinfo XML rather than Info.

- **--plaintext**

  output plain text rather than Info.

### General output options:

- **-E**, **--macro-expand** FILE

  output macro-expanded source to FILE. ignoring any @setfilename.

- **--no-headers**

  suppress node separators, Node: lines, and menus from Info output (thus producing plain text) or from HTML (thus producing shorter output); also, write to standard output by default.

- **--no-split**

  suppress splitting of Info or HTML output, generate only one output file.

- **--number-sections**

  output chapter and sectioning numbers.

- **-o**, **--output**=*FILE*

  output to FILE (directory if split HTML),

### Options for Info and plain text:

- **--enable-encoding**

  output accented and special characters in Info output based on @documentencoding.

- **--fill-column**=*NUM*

  break Info lines at NUM characters (default 72).

- **--footnote-style**=*STYLE*

  output footnotes in Info according to STYLE: \`separate' to put them in their own node; \`end' to put them at the end of the node

-

  in which they are defined (default).

- **--paragraph-indent**=*VAL*

  indent Info paragraphs by VAL spaces (default 3). If VAL is \`none', do not indent; if VAL is \`asis', preserve existing indentation.

- **--split-size**=*NUM*

  split Info files at size NUM (default 300000).

### Options for HTML:

- **--css-include**=*FILE*

  include FILE in HTML \<style\> output; read stdin if FILE is -.

### Options for XML and Docbook:

- **--output-indent**=*VAL*

  indent XML elements by VAL spaces (default 2). If VAL is 0, ignorable whitespace is dropped.

### Input file options:

- **--commands-in-node-names**

  allow @ commands in node names.

- **-D** VAR

  define the variable VAR, as with @set.

- **-I** DIR

  append DIR to the @include search path.

- **-P** DIR

  prepend DIR to the @include search path.

- **-U** VAR

  undefine the variable VAR, as with @clear.

### Conditional processing in input:

- **--ifdocbook**

  process @ifdocbook and @docbook even if not generating Docbook.

- **--ifhtml**

  process @ifhtml and @html even if not generating HTML.

- **--ifinfo**

  process @ifinfo even if not generating Info.

- **--ifplaintext**

  process @ifplaintext even if not generating plain text.

- **--iftex**

  process @iftex and @tex; implies **--no-split**.

- **--ifxml**

  process @ifxml and @xml.

- **--no-ifdocbook**

  do not process @ifdocbook and @docbook text.

- **--no-ifhtml**

  do not process @ifhtml and @html text.

- **--no-ifinfo**

  do not process @ifinfo text.

- **--no-ifplaintext**

  do not process @ifplaintext text.

- **--no-iftex**

  do not process @iftex and @tex text.

- **--no-ifxml**

  do not process @ifxml and @xml text.

-

  Also, for the **--no-ifFORMAT** options, do process @ifnotFORMAT text.

-

  The defaults for the @if... conditionals depend on the output format: if generating HTML, **--ifhtml** is on and the others are off; if generating Info, **--ifinfo** is on and the others are off; if generating plain text, **--ifplaintext** is on and the others are off; if generating XML, **--ifxml** is on and the others are off.

## EXAMPLES

- makeinfo foo.texi

  write Info to foo's @setfilename

- makeinfo **--html** foo.texi

  write HTML to @setfilename

- makeinfo **--xml** foo.texi

  write Texinfo XML to @setfilename

- makeinfo **--docbook** foo.texi

  write DocBook XML to @setfilename

- makeinfo **--no-headers** foo.texi

  write plain text to standard output

-

  makeinfo **--html** **--no-headers** foo.texi write html without node lines, menus makeinfo **--number-sections** foo.texi   write Info with numbered sections makeinfo **--no-split** foo.texi          write one Info file however big

## REPORTING BUGS

Email bug reports to bug-texinfo@gnu.org, general questions and discussion to help-texinfo@gnu.org. Texinfo home page: http://www.gnu.org/software/texinfo/

## COPYRIGHT

Copyright © 2004 Free Software Foundation, Inc. There is NO warranty.  You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING.

## SEE ALSO

The full documentation for **makeinfo** is maintained as a Texinfo manual.  If the **info** and **makeinfo** programs are properly installed at your site, the command

-

  **info makeinfo**

should give you access to the complete manual.
