Supported Document Formats

This page lists all the document formats supported by the parsers in Apache Tika 1.20. Follow the links to the various parser class javadocs for more detailed information about each document format and how it is parsed by Tika.

Please note that Apache Tika is able to detect a much wider range of formats than those listed below, this page only documents those formats from which Tika is able to extract metadata and/or textual content.

HyperText Markup Language

The HyperText Markup Language (HTML) is the lingua franca of the web. Tika uses the TagSoup library to support virtually any kind of HTML found on the web. The output from the HtmlParser class is guaranteed to be well-formed and valid XHTML, and various heuristics are used to prevent things like inline scripts from cluttering the extracted text content.

XML and derived formats

The Extensible Markup Language (XML) format is a generic format that can be used for all kinds of content. Tika has custom parsers for some widely used XML vocabularies like XHTML, OOXML and ODF, but the default DcXMLParser class simply extracts the text content of the document and ignores any XML structure. The only exception to this rule are Dublin Core metadata elements that are used for the document metadata.

Microsoft Office document formats

Microsoft Office and some related applications produce documents in the generic OLE 2 Compound Document and Office Open XML (OOXML) formats. The older OLE 2 format was introduced in Microsoft Office version 97 and was the default format until Office version 2007 and the new XML-based OOXML format. The OfficeParser and OOXMLParser classes use Apache POI libraries to support text and metadata extraction from both OLE2 and OOXML documents.

Old, pre-OLE2 Excel files (Excel 2, 3 and 4) are handled by the OldExcelParser.

The older, pre-OOXML pure-XML, office file formats are handled by SpreadsheetMLParser, WordMLParser and Word2006MLParser.

Temporary Office lock files (owner files) are supported for basic metadata extraction by MSOwnerFileParser.

OpenDocument Format

The OpenDocument format (ODF) is used most notably as the default format of the OpenOffice.org office suite. The OpenDocumentParser class supports this format and the earlier OpenOffice 1.0 format on which ODF is based.

iWorks document formats

The various iWorks document formats (Numbers, Pages, Keynote) are supported by the IWorkPackageParser class, which extracts text and metadata.

WordPerfect document formats

The Corel WordPerfect Office Suite formats are supported by WordPerfectParser, supporting WordPerfect WP6+ files, and QuattroProParser, supporting QuattroPro QPW v9+ files.

Portable Document Format

The PDFParser class parsers Portable Document Format (PDF) documents using the Apache PDFBox library.

Electronic Publication Format

The EpubParser class supports the Electronic Publication Format (EPUB) used for many digital books.

The FictionBookParser class supports the xml-based Fiction Book publishing format.

Rich Text Format

The RTFParser class uses the standard javax.swing.text.rtf feature to extract text content from Rich Text Format (RTF) documents.

Compression and packaging formats

Tika uses the Commons Compress library to support various compression and packaging formats. The CompressorParser class handles parsing of the top level compression formats, then PackageParser class and its subclasses parse the packaging formats and then pass the unpacked document streams to a second parsing stage using the parser instance specified in the parse context. Formats supported include Tar, AR, ARJ, CPIO, Dump, Zip, 7Zip, Gzip, BZip2, XZ, LZMA, Z and Pack200.

Additionally, the RarParser class supports the RAR archive format, which isn't supported by Commons Compress.

The AppleSingleFileParser class supports resources packaged within AppleSingle and AppleDouble files.

Text formats

Extracting text content from plain text files seems like a simple task until you start thinking of all the possible character encodings. The TXTParser class uses encoding detection code from the ICU project to automatically detect the character encoding of a text document.

Feed and Syndication formats

The FeedParser class supports the RSS and Atom feed syndication formats.

The IptcAnpaParser class supports the IPTC ANPA News Wire feed format.

Help formats

The ChmParser class supports the CHM Help format.

Audio formats

Tika can detect several common audio formats and extract metadata from them. Even text extraction is supported for some audio files that contain lyrics or other textual content. Extracted metadata includes sampling rates, channels, format information, artists, titles etc. The AudioParser and MidiParser classes use standard javax.sound features to process simple audio formats. The Mp3Parser class adds support for the widely used MP3 format, and the MP4Parser class provides it for MP4 audio. The Ogg family of audio formats (Vorbis, Speex, Opus, Flac etc) are supported by the VorbisParser, OpusParser, SpeexParser and FlacParser classes.

Image formats

The ImageParser class uses the standard javax.imageio feature to extract simple metadata from image formats supported by the Java platform, such as PNG, GIF and BMP. More complex image metadata is available through the JpegParser class and TiffParser classes that uses the metadata-extractor library to supports Exif metadata extraction from Jpeg and Tiff images. The PSDParser class extracts metadata from PSD images. The BPGParser class extracts simple metadata from BPG (Better Portable Graphics) images. The WebPParser class extracts simple metadata from WebP image format. The ICNSParser class extracts simple metadata from the Apple ICNS icon image format.

When extracting from images, it is also possible to chain in Tesseract, via the TesseractOCRParser, to have OCR performed on the contents of the image.

The WMFParser class extracts simple text from Microsoft WMF drawings. The EMFParser class extracts simple text from Microsoft EMF drawings, along with exposing any embedded other resources / files.

Video formats

Tika supports the Flash video format using a simple parsing algorithm implemented in the FLVParser class.

The MP4 family of video formats (MP4, Quicktime, 3GPP etc) is supported by the MP4Parser class, which extracts metadata on the video, along with audio stream (if present).

For the Ogg family of video formats, a limited amount of metadata is extracted by the OggParser class. There is also an experimental TheoraParser class which extracts only limited metadata, pending a consensus on the "right" way to return metadata for audio streams along with the video metadata.

As an alternative to the metadata-focused parsers above, the PooledTimeSeriesParser can be used (if the required tool is installed) to generate a numeric representation of the video suitable for similarity searches. More details on this approach, and setup instructions for the parser + tool, can be found on the Tika wiki page for the parser.

Java class files and archives

The ClassParser class extracts class names and method signatures from Java class files, and the PackageParser class supports also jar archives.

Source code

The SourceCodeParser class handles a number of source code formats, including Java, C, C++ and Groovy. It provides a formatted form of the code, along with some simple metadata.

Mail formats

The MboxParser can extract email messages from the mbox format used by many email archives and Unix-style mailboxes.

The RFC822Parser can process single email messages in the RFC 822 format used by many email clients in their archives / exports.

The OutlookPSTParser can extract email messages from the Microsoft Outlook PST email format.

The OutlookExtractor (part of OfficeParser) is able to extract email messages from the Microsoft Outlook MSG email format.

The TNEFParser can extract email attachments from the Microsoft TNEF (Transport Neutral Encoding Format, aka Winmail.dat) used with some Microsoft email clients.

CAD formats

The DWGParser can extract simple metadata from the DWG CAD format.

Font formats

The TrueTypeParser class can extract simple metadata from the TrueType font format. The AdobeFontMetricParser class does something similar for Adobe Font Metrics files.

Scientific formats

The DIFParser is able to extract attribute metadata from the GCMD Directory Interchange Format (DIF) scientific file format.

The GDALParser is able to extract attribute metadata from the GDAL scientific file format.

The GeographicInformationParser is able to extract attribute metadata from the ISO-19139 georgraphic information file format.

The GeoParser is makes use of a pre-built collection of a geographic gazetteer, to resolve geographic entities into their positions into the metadata

The GribParser is able to extract attribute metadata from the Grib scientific file format.

The HDFParser is able to extract attribute metadata from the HDF scientific file format.

The ISArchiveParser is able to extract attribute metadata from the ISA-Tab (ISA Tools) family of scientific file formats.

The NetCDFParser is able to extract attribute metadata from the NetCDF scientific file format.

The MatParser is able to extract attribute metadata from the Matlab scientific file format.

Executable programs and libraries

The ExecutableParser can extract metadata information on platforms, architectures and types from a range of executable formats and libraries, such as Windows Executables and Linux / BSD programs and libraries.

Crypto formats

The Pkcs7Parser is able to parse the contents of PKCS7 signed messages, but doesn't include any information from the outer PKCS7 wrapper.

The TSDParser class processes metadata from Time Stamped Data Envelope files, as well as exposing the contents stored within the TSD wrapper.

Database formats

The SQLite3Parser is able to extract content from SQLite3 files, in a tabular form. However, it requires that the org.xerial sqlite-jdbc jar is manually added to the classpath first, as that binary jar isn't shipped as standard.

The JackcessParser is able to extract metadata and content in a tabular form, from Microsoft Access database files.

The DBFParser currently supports versions of dBase files (dbf) before version 7. dBase formats are used in many legacy database systems, including dBase, FoxBASE, FoxPRO and in ESRI's Shapefile format. See digitalpreservation.gov for background on this format.

Natural Language Processing

Tika supports calling out to a number of Natural Language Processing and Named Entity Recognition frameworks, tools and libraries.

These can be used to support additional formats, or to gain extra information on existing formats. In many cases, additional tools or REST services or training datasets are required to enable or power this support.

Details on the requirements and setup steps are generally given either in the parser's javadocs, or on the Tika wiki.

The SentimentParser class classifies documents based on the sentiment of document, powered by Apache OpenNLP's Maximum Entropy Classifier.

JournalParser uses Grobid (via RESTful server) to extract additional metadata from the text of journal publications. A number of other NLP and NER parsers are available in the ner package

Image and Video object recognition

Tika supports calling out to a number of Object Recognition frameworks to analyse the contents of images and videos. Large training datasets and or frameworks are generally required, often accessed via REST services. The recognition package contains most of these. Details on the requirements and setup steps are generally given on the Tika wiki.

Full list of Supported Formats in "standard" artifacts

  • org.apache.tika.parser.apple.AppleSingleFileParser
    • application/applefile
  • org.apache.tika.parser.apple.PListParser
    • application/x-plist
    • application/x-bplist-itunes
    • application/x-bplist
    • application/x-bplist-memgraph
    • application/x-bplist-webarchive
  • org.apache.tika.parser.asm.ClassParser
    • application/java-vm
  • org.apache.tika.parser.audio.AudioParser
    • audio/vnd.wave
    • audio/x-wav
    • audio/basic
    • audio/x-aiff
  • org.apache.tika.parser.audio.MidiParser
    • application/x-midi
    • audio/midi
  • org.apache.tika.parser.code.SourceCodeParser
    • text/x-c++src
    • text/x-groovy
    • text/x-java-source
  • org.apache.tika.parser.crypto.Pkcs7Parser
    • application/pkcs7-signature
    • application/pkcs7-mime
  • org.apache.tika.parser.crypto.TSDParser
    • application/timestamped-data
  • org.apache.tika.parser.csv.TextAndCSVParser
    • text/csv
    • text/tsv
    • text/plain
  • org.apache.tika.parser.dbf.DBFParser
    • application/x-dbf
  • org.apache.tika.parser.dif.DIFParser
    • application/dif+xml
  • org.apache.tika.parser.dwg.DWGParser
    • image/vnd.dwg
  • org.apache.tika.parser.epub.EpubParser
    • application/x-ibooks+zip
    • application/epub+zip
  • org.apache.tika.parser.executable.ExecutableParser
    • application/x-msdownload
    • application/x-sharedlib
    • application/x-elf
    • application/x-object
    • application/x-executable
    • application/x-coredump
  • org.apache.tika.parser.feed.FeedParser
    • application/atom+xml
    • application/rss+xml
  • org.apache.tika.parser.font.AdobeFontMetricParser
    • application/x-font-adobe-metric
  • org.apache.tika.parser.font.TrueTypeParser
    • application/x-font-ttf
  • org.apache.tika.parser.html.HtmlParser
    • text/html
    • application/vnd.wap.xhtml+xml
    • application/x-asp
    • application/xhtml+xml
  • org.apache.tika.parser.hwp.HwpV5Parser
    • application/x-hwp-v5
  • org.apache.tika.parser.image.BPGParser
    • image/bpg
    • image/x-bpg
  • org.apache.tika.parser.image.HeifParser
    • image/heic-sequence
    • image/heif
    • image/heic
    • image/heif-sequence
  • org.apache.tika.parser.image.ICNSParser
    • image/icns
  • org.apache.tika.parser.image.ImageParser
    • image/png
    • image/vnd.wap.wbmp
    • image/x-jbig2
    • image/bmp
    • image/x-xcf
    • image/gif
    • image/x-icon
    • image/x-ms-bmp
  • org.apache.tika.parser.image.JpegParser
    • image/jpeg
  • org.apache.tika.parser.image.PSDParser
    • image/vnd.adobe.photoshop
  • org.apache.tika.parser.image.TiffParser
    • image/tiff
  • org.apache.tika.parser.image.WebPParser
    • image/webp
  • org.apache.tika.parser.iptc.IptcAnpaParser
    • text/vnd.iptc.anpa
  • org.apache.tika.parser.iwork.IWorkPackageParser
    • application/vnd.apple.keynote
    • application/vnd.apple.iwork
    • application/vnd.apple.numbers
    • application/vnd.apple.pages
  • org.apache.tika.parser.iwork.iwana.IWork13PackageParser
    • application/vnd.apple.numbers.13
    • application/vnd.apple.pages.13
    • application/vnd.apple.keynote.13
  • org.apache.tika.parser.iwork.iwana.IWork18PackageParser
    • application/vnd.apple.pages.18
    • application/vnd.apple.keynote.18
    • application/vnd.apple.numbers.18
  • org.apache.tika.parser.mail.RFC822Parser
    • message/rfc822
  • org.apache.tika.parser.mat.MatParser
    • application/x-matlab-data
  • org.apache.tika.parser.mbox.MboxParser
    • application/mbox
  • org.apache.tika.parser.microsoft.EMFParser
    • image/emf
  • org.apache.tika.parser.microsoft.JackcessParser
    • application/x-msaccess
  • org.apache.tika.parser.microsoft.MSOwnerFileParser
    • application/x-ms-owner
  • org.apache.tika.parser.microsoft.OfficeParser
    • application/x-tika-msoffice-embedded; format=ole10_native
    • application/msword
    • application/vnd.visio
    • application/vnd.ms-project
    • application/x-tika-msworks-spreadsheet
    • application/x-mspublisher
    • application/vnd.ms-powerpoint
    • application/x-tika-msoffice
    • application/sldworks
    • application/x-tika-ooxml-protected
    • application/vnd.ms-excel
    • application/vnd.ms-outlook
  • org.apache.tika.parser.microsoft.OldExcelParser
    • application/vnd.ms-excel.workspace.3
    • application/vnd.ms-excel.workspace.4
    • application/vnd.ms-excel.sheet.2
    • application/vnd.ms-excel.sheet.3
    • application/vnd.ms-excel.sheet.4
  • org.apache.tika.parser.microsoft.TNEFParser
    • application/vnd.ms-tnef
    • application/x-tnef
    • application/ms-tnef
  • org.apache.tika.parser.microsoft.WMFParser
    • image/wmf
  • org.apache.tika.parser.microsoft.chm.ChmParser
    • application/vnd.ms-htmlhelp
    • application/x-chm
    • application/chm
  • org.apache.tika.parser.microsoft.onenote.OneNoteParser
    • application/onenote; format=one
  • org.apache.tika.parser.microsoft.ooxml.OOXMLParser
    • application/vnd.ms-powerpoint.template.macroenabled.12
    • application/vnd.ms-excel.addin.macroenabled.12
    • application/vnd.openxmlformats-officedocument.wordprocessingml.template
    • application/vnd.ms-excel.sheet.binary.macroenabled.12
    • application/vnd.openxmlformats-officedocument.wordprocessingml.document
    • application/vnd.ms-powerpoint.slide.macroenabled.12
    • application/vnd.ms-visio.drawing
    • application/vnd.ms-powerpoint.slideshow.macroenabled.12
    • application/vnd.ms-powerpoint.presentation.macroenabled.12
    • application/vnd.openxmlformats-officedocument.presentationml.slide
    • application/vnd.ms-excel.sheet.macroenabled.12
    • application/vnd.ms-word.template.macroenabled.12
    • application/vnd.ms-word.document.macroenabled.12
    • application/vnd.ms-powerpoint.addin.macroenabled.12
    • application/vnd.openxmlformats-officedocument.spreadsheetml.template
    • application/vnd.ms-xpsdocument
    • application/vnd.ms-visio.drawing.macroenabled.12
    • application/vnd.ms-visio.template.macroenabled.12
    • model/vnd.dwfx+xps
    • application/vnd.openxmlformats-officedocument.presentationml.template
    • application/vnd.openxmlformats-officedocument.presentationml.presentation
    • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    • application/vnd.ms-visio.stencil
    • application/vnd.ms-visio.template
    • application/vnd.openxmlformats-officedocument.presentationml.slideshow
    • application/vnd.ms-visio.stencil.macroenabled.12
    • application/vnd.ms-excel.template.macroenabled.12
  • org.apache.tika.parser.microsoft.ooxml.xwpf.ml2006.Word2006MLParser
    • application/vnd.ms-word2006ml
  • org.apache.tika.parser.microsoft.pst.OutlookPSTParser
    • application/vnd.ms-outlook-pst
  • org.apache.tika.parser.microsoft.rtf.RTFParser
    • application/rtf
  • org.apache.tika.parser.microsoft.xml.SpreadsheetMLParser
    • application/vnd.ms-spreadsheetml
  • org.apache.tika.parser.microsoft.xml.WordMLParser
    • application/vnd.ms-wordml
  • org.apache.tika.parser.mif.MIFParser
    • application/x-mif
    • application/vnd.mif
    • application/x-maker
  • org.apache.tika.parser.mp3.Mp3Parser
    • audio/mpeg
  • org.apache.tika.parser.mp4.MP4Parser
    • video/x-m4v
    • application/mp4
    • video/3gpp
    • video/3gpp2
    • video/quicktime
    • audio/mp4
    • video/mp4
  • org.apache.tika.parser.odf.FlatOpenDocumentParser
    • application/vnd.oasis.opendocument.tika.flat.document
    • application/vnd.oasis.opendocument.flat.presentation
    • application/vnd.oasis.opendocument.flat.spreadsheet
    • application/vnd.oasis.opendocument.flat.text
  • org.apache.tika.parser.odf.OpenDocumentParser
    • application/x-vnd.oasis.opendocument.presentation
    • application/vnd.oasis.opendocument.chart
    • application/x-vnd.oasis.opendocument.text-web
    • application/x-vnd.oasis.opendocument.image
    • application/vnd.oasis.opendocument.graphics-template
    • application/vnd.oasis.opendocument.text-web
    • application/x-vnd.oasis.opendocument.spreadsheet-template
    • application/vnd.oasis.opendocument.spreadsheet-template
    • application/vnd.sun.xml.writer
    • application/x-vnd.oasis.opendocument.graphics-template
    • application/vnd.oasis.opendocument.graphics
    • application/vnd.oasis.opendocument.spreadsheet
    • application/x-vnd.oasis.opendocument.chart
    • application/x-vnd.oasis.opendocument.spreadsheet
    • application/vnd.oasis.opendocument.image
    • application/x-vnd.oasis.opendocument.text
    • application/x-vnd.oasis.opendocument.text-template
    • application/vnd.oasis.opendocument.formula-template
    • application/x-vnd.oasis.opendocument.formula
    • application/vnd.oasis.opendocument.image-template
    • application/x-vnd.oasis.opendocument.image-template
    • application/x-vnd.oasis.opendocument.presentation-template
    • application/vnd.oasis.opendocument.presentation-template
    • application/vnd.oasis.opendocument.text
    • application/vnd.oasis.opendocument.text-template
    • application/vnd.oasis.opendocument.chart-template
    • application/x-vnd.oasis.opendocument.chart-template
    • application/x-vnd.oasis.opendocument.formula-template
    • application/x-vnd.oasis.opendocument.text-master
    • application/vnd.oasis.opendocument.presentation
    • application/x-vnd.oasis.opendocument.graphics
    • application/vnd.oasis.opendocument.formula
    • application/vnd.oasis.opendocument.text-master
  • org.apache.tika.parser.pdf.PDFParser
    • application/pdf
  • org.apache.tika.parser.pkg.CompressorParser
    • application/zlib
    • application/x-gzip
    • application/x-bzip2
    • application/x-compress
    • application/x-java-pack200
    • application/x-lzma
    • application/deflate64
    • application/x-lz4
    • application/x-snappy
    • application/x-brotli
    • application/gzip
    • application/x-bzip
    • application/x-xz
  • org.apache.tika.parser.pkg.PackageParser
    • application/x-tar
    • application/java-archive
    • application/x-arj
    • application/x-archive
    • application/zip
    • application/x-cpio
    • application/x-tika-unix-dump
    • application/x-7z-compressed
  • org.apache.tika.parser.pkg.RarParser
    • application/x-rar-compressed
  • org.apache.tika.parser.prt.PRTParser
    • application/x-prt
  • org.apache.tika.parser.sas.SAS7BDATParser
    • application/x-sas-data
  • org.apache.tika.parser.video.FLVParser
    • video/x-flv
  • org.apache.tika.parser.wordperfect.QuattroProParser
    • application/x-quattro-pro; version=9
  • org.apache.tika.parser.wordperfect.WordPerfectParser
    • application/vnd.wordperfect; version=5.1
    • application/vnd.wordperfect; version=5.0
    • application/vnd.wordperfect; version=6.x
  • org.apache.tika.parser.xliff.XLIFF12Parser
    • application/x-xliff+xml
  • org.apache.tika.parser.xliff.XLZParser
    • application/x-xliff+zip
  • org.apache.tika.parser.xml.FictionBookParser
    • application/x-fictionbook+xml
  • org.apache.tika.parser.xml.XMLParser
    • application/xml
    • image/svg+xml
  • org.gagravarr.tika.FlacParser
    • audio/x-oggflac
    • audio/x-flac
  • org.gagravarr.tika.OggParser
    • audio/ogg
    • application/kate
    • application/ogg
    • video/daala
    • video/x-ogguvs
    • video/x-ogm
    • audio/x-oggpcm
    • video/ogg
    • video/x-dirac
    • video/x-oggrgb
    • video/x-oggyuv
  • org.gagravarr.tika.OpusParser
    • audio/opus
    • audio/ogg; codecs=opus
  • org.gagravarr.tika.SpeexParser
    • audio/ogg; codecs=speex
    • audio/speex
  • org.gagravarr.tika.TheoraParser
    • video/theora
  • org.gagravarr.tika.VorbisParser
    • audio/vorbis