whatisgithub

What is tika?

apache/tika — explained in plain English

Analysis updated 2026-07-03

3,746JavaAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

Apache Tika is a Java library that pulls text and metadata out of hundreds of file formats, PDFs, Word docs, images, audio files, through one consistent three-line API.

Mindmap

mindmap
  root((tika))
    What it does
      Extract plain text
      Extract metadata
      Detect file type
    Supported formats
      PDF and Word
      Images and audio
      100+ other types
    How to use
      Java library
      Command line tool
      REST server
    Tech stack
      Java 17+
      Maven build
      Apache license
    Use cases
      Search indexing
      Batch conversion
      Metadata harvest
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Extract all text from a PDF or Word document in a Java app with three lines of code

USE CASE 2

Build a document search index by running Tika as a server that parses any file type you send it

USE CASE 3

Pull author, creation date, and file type metadata from a batch of mixed-format files in one pass

USE CASE 4

Detect the file type of an unknown file and extract whatever text content it contains

What is it built with?

JavaMavenDocker

How does it compare?

apache/tikaopenhft/chronicle-queueundertow-io/undertow
Stars3,7463,7453,749
LanguageJavaJavaJava
Setup difficultyeasymoderatemoderate
Complexity2/54/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires Java 17 or later, older JDK versions are no longer supported as of April 2025.

Use freely for any purpose, including commercial use, as long as you keep the copyright and Apache 2.0 license notice.

So what is it?

Apache Tika is a Java library that reads files of many different formats and pulls out the text and metadata inside them. Feed it a PDF, a Word document, an image, an audio file, or dozens of other types, and it returns the plain text content along with information like the author, creation date, and file type. It does this by wrapping a large collection of existing document parsing libraries into one consistent interface. Developers can use Tika by adding it as a dependency to a Java project, running it as a command-line tool, or connecting to it as a server. The quick-start example in the README is three lines of Java code: create a Tika object, point it at a file, get back a string of text. The project requires Java 17 or later. Support for older versions ended in April 2025. Building from source uses Maven, and a Maven wrapper script is included so you do not need Maven pre-installed. Docker is used for some integration tests but is optional. Tika is part of the Apache Software Foundation and is released under the Apache 2.0 open source license. Pre-built downloads are available from the project website and through the Maven Central package repository.

Copy-paste prompts

Prompt 1
Using Apache Tika in Java, write code to extract all text and metadata from a PDF file and print them to the console.
Prompt 2
Show me how to run Apache Tika as a REST server and send it a Word document to parse using curl.
Prompt 3
I have a folder of mixed files (PDFs, images, Word docs). Write a Java program using Apache Tika that extracts text from each file and saves it as a .txt file.
Prompt 4
Write a Java function using Apache Tika that takes a file path, auto-detects the file type, and returns the extracted plain text.
Prompt 5
How do I add Apache Tika to a Maven project and extract the author and creation date metadata from a document?

Frequently asked questions

What is tika?

Apache Tika is a Java library that pulls text and metadata out of hundreds of file formats, PDFs, Word docs, images, audio files, through one consistent three-line API.

What language is tika written in?

Mainly Java. The stack also includes Java, Maven, Docker.

What license does tika use?

Use freely for any purpose, including commercial use, as long as you keep the copyright and Apache 2.0 license notice.

How hard is tika to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is tika for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.