CoolFace
Datasetpublic

quranlab/hadith

Dataset Card for QuranLab — Hadith & Sunnah (Ahl al-Sunnah) A clean Ahl-al-Sunnah hadith corpus: the canonical Sunni collections (the Six Books + the Muwaṭṭaʾ, Musnad Aḥmad, al-Dārimī, and the famous forty-collections) in Arabic plus many translations, with grader-attributed gradings — one config per (collection × language). This is the audio/text family's hadith modality — companion to quranlab/quran (Qurʾan text) and quranlab/quran-audio (recitation). QuranLab is a… See the full description on the dataset page: https://huggingface.co/datasets/quranlab/hadith.

sourceHugging Faceotherupdated 2mo agoView on Hugging Face
2likes381downloads
Dataset Card

Dataset Card for QuranLab — Hadith & Sunnah (Ahl al-Sunnah)

Theology: Ahl al-Sunnah Arabic matn: public domain Collections: 13 Hadith: 65K+ Languages: 72

A clean Ahl-al-Sunnah hadith corpus: the canonical Sunni collections (the Six Books + the Muwaṭṭaʾ, Musnad Aḥmad, al-Dārimī, and the famous forty-collections) in Arabic plus many translations, with grader-attributed gradings — one config per (collection × language). This is the audio/text family's hadith modality — companion to **`quranlab/quran`** (Qurʾan text) and **`quranlab/quran-audio`** (recitation).

QuranLab is a volunteer, non-commercial, community-service project. This dataset is offered freely to students, researchers, and developers building tools for studying the Sunnah of the Prophet ﷺ. It is strictly Ahl al-Sunnah wa'l-Jamāʿah: sources outside Sunni orthodoxy (the Shia canon, Ibāḍī, Ahmadiyya, hadith-rejecter framings) are excluded by design.


QuranLab is a volunteer effort. Our aim is to present these works carefully and at high quality, and to help them travel faithfully — in the spirit in which they were written — not to claim them as ours.

The text here reaches you through the work of fawazahmed0/hadith-api, mhashim6/Open-Hadith-Data and HadeethEnc.com. Who to thank, and what we consulted without ever quoting, is set out in `SOURCES.md`.

What's inside

13 collections — Arabic + translations + grades. The Six Books, the Muwaṭṭaʾ and the famous forty-collections come aligned across languages with multi-grader gradings; Musnad Aḥmad and al-Dārimī are Arabic matn; and a many-language graded selection covers HadeethEnc's material. Each collection below is the work of the muḥaddith who compiled it — the repositories we drew the text from are listed in LICENSES.md.

collectionnameauthortypehadithlanguagesgraded
ahmadMusnad Ahmad (مسند أحمد)Ahmad ibn Hanbal, d. 241 AHmusnad26,3631
darimiSunan al-Darimi (سنن الدارمي)Abd Allah ibn Abd al-Rahman al-Darimi, d. 255 AHsunan3,3671
bukhariSahih al-Bukhari (صحيح البخاري)Muhammad ibn Ismail al-Bukhari, d. 256 AHsahih7,5809
muslimSahih Muslim (صحيح مسلم)Muslim ibn al-Hajjaj al-Naysaburi, d. 261 AHsahih7,3609
abudawudSunan Abi Dawud (سنن أبي داود)Abu Dawud al-Sijistani, d. 275 AHsunan5,2728
tirmidhiJami' al-Tirmidhi (جامع الترمذي)Muhammad ibn Isa al-Tirmidhi, d. 279 AHjami3,9246
nasaiSunan an-Nasa'i (al-Mujtaba) (سنن النسائي (المجتبى))Ahmad ibn Shu'ayb al-Nasa'i, d. 303 AHsunan5,6797
ibnmajahSunan Ibn Majah (سنن ابن ماجه)Muhammad ibn Yazid Ibn Majah, d. 273 AHsunan4,3387
malikMuwatta Malik (موطأ مالك)Malik ibn Anas, d. 179 AHmuwatta1,8297
nawawiForty Hadith of al-Nawawi (الأربعون النووية)Yahya ibn Sharaf al-Nawawi, d. 676 AHforty425
qudsiForty Hadith Qudsi (الأربعون القدسية)(compilation)forty-qudsi403
dehlawiForty Hadith of Shah Wali Allah al-Dihlawi (الأربعون للشاه ولي الله الدهلوي)Shah Wali Allah al-Dihlawi, d. 1176 AHforty403
hadeethencHadeethEnc — graded multilingual selection (موسوعة الأحاديث النبوية المترجمة)IslamHouse / Saudi Ministry of Islamic Affairsgraded-selection3,57472
On grading. Gradings are grader-attributed, never asserted by us, and never auto-stamped. The four Sunan, the Muwaṭṭaʾ and the forty-collections (from fawazahmed0) carry per-hadith gradings from multiple muḥaddiths (al-Albānī, Aḥmad Shākir, Zubair ʿAlī Zaʾī, …) in the grades column; every HadeethEnc row carries a grade + attribution. The two Ṣaḥīḥs are ṣaḥīḥ by Sunni consensus (a collection-level note in the collections config). The Arabic matn of Musnad Aḥmad and al-Dārimī (mhashim6) is left ungraded — we don't hold per-hadith grades for it, so we assert none.

Graded multilingual layer — HadeethEnc (72 languages)

In addition to the Arabic Nine Books, this dataset includes 3,574 curated, authentic prophetic hadith in 72 languages from HadeethEnc.com (the Encyclopedia of Translated Prophetic Hadiths — a service of IslamHouse / the Saudi Ministry of Islamic Affairs), one config per language (hadeethenc-<lang>). Unlike the Arabic matn spine, every HadeethEnc hadith carries a grade and an attribution (e.g. Authentic, Agreed upon), reproduced verbatim with its version. Each row: hadith_key, hadeethenc_id, language, title, text, intro, grade, grader, grade_source, attribution_text, explanation, status, theological_status, source, license, attribution.


Quick start

python
from datasets import load_dataset

# Default: a slim cross-collection index of every hadith
index = load_dataset("quranlab/hadith")

# One collection — Arabic, and an aligned translation (join on hadith_number)
bukhari_ar = load_dataset("quranlab/hadith", "bukhari-ar", split="train")
bukhari_en = load_dataset("quranlab/hadith", "bukhari-en", split="train")

# A graded Sunan — the `grades` column carries multiple muhaddith verdicts
tirmidhi = load_dataset("quranlab/hadith", "tirmidhi-en", split="train")

# The collection registry (authors, types, counts, languages, status notes)
collections = load_dataset("quranlab/hadith", "collections", split="train")
# Graded, multilingual selection (HadeethEnc) — e.g. English / Turkish
he_en = load_dataset("quranlab/hadith", "hadeethenc-en", split="train")
he_tr = load_dataset("quranlab/hadith", "hadeethenc-tr", split="train")

Within a fawazahmed0-sourced collection, the Arabic and each translation align by `hadith_number` (the standard Abdul-Baqi / sunnah.com numbering). The primary keys are hadith_key ("{collection}:{number}", citable) and urn (a stable unique integer per row).


Structure & fields

  • `index` (default) — slim cross-collection spine (one row per hadith, Arabic): hadith_key, urn, seq, collection, collection_type, hadith_number, language, n_languages, n_chars, has_grade, has_text.
  • `collections` — one row per collection: id, names (ar/en), author, death year (AH), type, school, hadith count, languages, n_languages, graded, numbering, source, status_note.
  • `{collection}-{lang}` — one config per (collection × language). fawazahmed0 collections carry: hadith_key, urn, seq, collection, language, hadith_number, number_sort, book_number, in_book_number, sunnah_url, text, grades (a list of {grader, grade}), n_grades, grade_summary, is_muallaq. mhashim6 Arabic (ahmad-ar, darimi-ar) is matn-only (ungraded). HadeethEnc (hadeethenc-{lang}) adds title, intro, grade, grader, grade_source, attribution_text, explanation.
  • `metadata/configs.csv` — one row per config with its collection names, numbering, terms and credit. These describe the config, not the individual hadith, so they are not repeated on every row.

hadith_number is a string (numbering follows the source edition); urn is the unique row id; seq is a contiguous 1..N spine within each edition.


Scope, sources & licensing

  • Theology: strictly Ahl al-Sunnah. Excluded by design (see the project's governance): the Shia Four Books and other Shia/Ismāʿīlī collections, Ibāḍī (Musnad al-Rabīʿ), Ahmadiyya, Quranist/hadith-rejecter sources, and hostile-orientalist grade framings.
  • Arabic matn: public domain, kept verbatim.
  • Translations and gradings: the work of their translators, publishers, and the muḥaddith graders, included with full credit.
  • Graded multilingual selection: verbatim, version-pinned hadith from HadeethEnc, each with its grade and attribution.
  • Diyanet (Turkish official): Hadislerle İslam — the DİB's thematic exposition of the Sunnah (Kütüb-i Tis'a only), page-grain Turkish with cited Arabic matn and canonical cross-references.
  • Reference links: fawazahmed0-sourced hadith carry a sunnah_url to the matching page on sunnah.com — a link only.
  • Roadmap: more Tier-2/3 collections, a per-hadith cross-collection xref graph, and a rijāl (narrator) layer.

Per-collection credits and terms are in LICENSES.md and metadata/. If you hold rights to a work here and would like it removed, open a discussion on the Community tab; we act promptly.


The QuranLab family

These datasets are built by the same volunteers and are meant to be used together; they join on shared keys — verse_key on the Qur'an side, hadith_key on the Sunnah side.

DatasetWhat it holds
`quranlab/quran`Qur'an text, multilingual translations, tafsir, word-level morphology
`quranlab/quran-audio`Recitation reference manifest and CC-BY word timing (references only, no audio files)
`quranlab/hadith`Nine Books Arabic matn, translations, and normalized authenticity grades
`quranlab/islamic-corpus-graph`The above linked into one structured graph, with retrieval passages and a held-out evaluation set

You are reading the card for `quranlab/hadith`. Corrections, additions, and removal requests are welcome on any of them through the Community tab.


Acknowledgments

With gratitude to `mhashim6/Open-Hadith-Data` for the open Arabic matn, and to the scholars and institutions who have preserved and transmitted the Sunnah across the centuries. Above all, this is offered seeking the pleasure of Allah.

Citation

bibtex
@misc{quranlab_hadith_2026,
  title        = {QuranLab --- Hadith (Ahl al-Sunnah): the Nine Books},
  author       = {{QuranLab}},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\url{https://huggingface.co/datasets/quranlab/hadith}}
}
Offered freely as a service to the worldwide community of learners — that the Sunnah of the Prophet ﷺ be a little easier to study, build with, and share. May it be of benefit.

For agents and pipelines

Deterministic facts an automated consumer needs, so nothing has to be inferred from a sample.

  • Config naming: {collection}-{lang} — e.g. bukhari-ar, bukhari-en; plus index (cross-collection spine) and collections (registry)
  • Join key: hadith_key (collection:number) across languages; urn is the unique row id
  • Default config: index
  • Format: Parquet, one directory per config, split train.
  • Terms and credit are per config in metadata/, never per row — join on the config name when you need them.
  • Never infer a grade. grade / grades are populated only where a named muhaddith graded that hadith; an empty grade means no grade is known, not “unauthenticated”.
  • attribution_text is the hadith's own chain/companion attribution — content, not a licence field.
  • Start from index to discover what exists, then load the specific {collection}-{lang} config.

Inspect it without downloading the data:

bash
# every config and split
curl https://datasets-server.huggingface.co/splits?dataset=quranlab/hadith

# a first page of rows
curl "https://datasets-server.huggingface.co/first-rows?dataset=quranlab/hadith&config=bukhari-ar&split=train"

# machine-readable schema and provenance (Croissant JSON-LD)
curl https://huggingface.co/api/datasets/quranlab/hadith/croissant

Query it in place with SQL — no full download:

bash
hf datasets sql quranlab/hadith "SELECT * FROM 'bukhari-ar' LIMIT 5"
python
import duckdb
duckdb.sql("SELECT count(*) FROM 'hf://datasets/quranlab/hadith/bukhari-ar/*.parquet'")

Quality, and how to check it yourself

Nothing is released until the integrity gate passes. Every claim below is something you can re-run rather than take on trust — here on the published data, not in our build tree:

What is guaranteedEvidence
Grades are attributed, never asserted by useach grade carries its grader; the Arabic matn layer ships ungraded rather than auto-stamped, and a wrong-grade trap set exists to catch models that guess
One key across every languagehadith_key aligns the same hadith across all languages of a collection; 65,834 hadith on the Arabic spine, 13 collections
Arabic matn is public-domain text kept verbatimno normalisation, no silent editing
Scope is enforced in codenon-Sunni collections and hostile-orientalist grade framings are refused by the builder from a machine-readable exclusion list, not by convention
Numbering is the source edition'shadith_number is a string and follows the printed edition; seq is a contiguous 1..N spine so nothing silently reorders
python
from datasets import load_dataset

ar = load_dataset("quranlab/hadith", "bukhari-ar", split="train")
en = load_dataset("quranlab/hadith", "bukhari-en", split="train")

assert ar["hadith_key"] == en["hadith_key"]     # same key, any language

# every grade names the muhaddith who gave it
he = load_dataset("quranlab/hadith", "hadeethenc-en", split="train")
assert all(g and s for g, s in zip(he["grade"], he["grader"]))

# the ungraded matn layer stays ungraded, never auto-stamped
ah = load_dataset("quranlab/hadith", "ahmad-ar", split="train")
assert all(g is None for g in ah["grade"])

Where a source is genuinely missing, the row is published empty and labelled rather than filled by guessing from a neighbouring entry. Coverage numbers in this card count only real content.

Citation

bibtex
@misc{quranlab_hadith_2026,
  title        = {QuranLab — Hadith and Sunnah Corpus (Ahl al-Sunnah)},
  author       = {QuranLab},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\url{https://huggingface.co/datasets/quranlab/hadith}}
}