jsoup Documentation

Jsoup: the Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safety.

11,408 stars Java Java 2 files Β· ~1,337 tokens #css#css-selectors#dom#html#java#java-html-parser#jsoup#parser
RAW Doc

Technical Documentation: jhy/jsoup

ℹ️ Provenance: Multi-Tier Ingestion Β· CodeWiki Reference

Overview (`README.md`)

jsoup: Java HTML Parser

jsoup is a Java library that makes it easy to work with real-world HTML and XML. It offers an easy-to-use API for URL fetching, data parsing, extraction, and manipulation using DOM API methods, CSS, and xpath selectors.

jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers.

jsoup is designed to deal with all varieties of HTML found in the wild; from pristine and validating, to invalid tag-soup; jsoup will create a sensible parse tree.

See jsoup.org for downloads and the full API documentation.

Example

Fetch the Wikipedia homepage, parse it to a DOM, and select the headlines from the In the news section into a list of Elements (online sample, full source):

java
Document doc = Jsoup.connect("https://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
    log("%s\n\t%s",
        headline.attr("title"), headline.absUrl("href"));
}

Open Source

jsoup is an open source project distributed under the liberal MIT license. The source code is available on GitHub.

Getting Started

  1. Download the latest jsoup jar (or add it to your Maven/Gradle build)
  2. Read the cookbook introduction.
  3. Enjoy!

Maven:

xml
<dependency>
  
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.23.2</version>
</dependency>

Gradle:

groovy
// jsoup HTML parser library @ https://jsoup.org/
implementation 'org.jsoup:jsoup:1.23.1'

Android Support

When used in Android projects, core library desugaring with the NIO specification should be enabled to support Java 8+ features.

Development and Support

If you have any questions on how to use jsoup or have ideas for future development, please get in touch via jsoup Discussions.

If you find any issues, please file a bug after checking for duplicates.

The colophon talks about the history of and tools used to build jsoup.

Status

jsoup is in general, stable release.

Author

jsoup was created and is maintained by Jonathan Hedley, its primary author.

jsoup is an open-source project, and many contributors have helped improve it over the years. You can see their contributions and join the development on GitHub.

Citing jsoup

If you use jsoup in research or technical documentation, you can cite it as:

Jonathan Hedley & jsoup contributors. jsoup: Java HTML Parser (2009–present). Available at: https://jsoup.org

plaintext
@misc{jsoup,
  author = {Jonathan Hedley and jsoup contributors},
  title = {jsoup: Java HTML Parser},
  year = {2026},
  url = {https://jsoup.org}
}

Overview (`src/test/resources/local-cert/README.md`)

This directory contains resources for a self-signed TLS certificate, used in jsoup's local integration tests.

Create the certificate:

sh
openssl genrsa 2048 > server.key
chmod 400 server.key
openssl req -new -x509 -config cert.conf -nodes -sha256 -days 36135 -key server.key -out server.crt

Create the Java key store. Used by server, and trusted by client, in TestServer.java:

sh
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name jsoup -passout pass:hunter2
keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -destkeystore server.pfx -deststoretype PKCS12  -srcstorepass hunter2 -deststorepass hunter2

--- METRICS ---