CoolFace
Datasetpublic

amrosama/al-kawakib-magazine-ocr

Al-Kawakib Magazine OCR Pages This dataset contains rendered Arabic magazine page images paired with page-level text and line-level bounding boxes. It is intended for OCR, document understanding, and VLM fine-tuning experiments. Fine-Tuning Notebook A standalone Google Colab notebook for DeepSeek-OCR 3B + TRL SFT is available here: Open the fine-tuning notebook in Colab The notebook can train on this dataset alone or on all three Arabic magazine OCR… See the full description on the dataset page: https://huggingface.co/datasets/amrosama/al-kawakib-magazine-ocr.

sourceHugging Facecc-by-4.0updated 2mo agoView on Hugging Face
3likes590downloads
Dataset Card

Al-Kawakib Magazine OCR Pages

<p align="center"> <img src="assets/previewtextpage.jpg" alt="Split preview with OCR bounding boxes and extracted text" width="70%"> </p>

This dataset contains rendered Arabic magazine page images paired with page-level text and line-level bounding boxes. It is intended for OCR, document understanding, and VLM fine-tuning experiments.

Fine-Tuning Notebook

A standalone Google Colab notebook for DeepSeek-OCR 3B + TRL SFT is available here:

Open the fine-tuning notebook in Colab

The notebook can train on this dataset alone or on all three Arabic magazine OCR datasets.

Dataset Structure

Each row represents one page image.

ColumnDescription
imagePage image rendered as a Hugging Face image column.
image_idStable row id derived from the source path.
source_pathOriginal relative image path.
collectionCollection folder name.
volumeSource volume folder name.
page_numberPage number parsed from the filename.
width, heightImage dimensions in pixels.
ocr_textFull page transcription text.
line_countNumber of detected text lines.
line_textsText from each detected line.
line_bboxesJSON array of line polygon bounding boxes.
lines_jsonJSON array containing line text and polygon bounding boxes.
instruction, responseImage-to-text fine-tuning pair. The instruction is Extract all text from this image.
taskTask label.

Splits

Split mode: volume.

SplitRowsParquet shards
train4004141
validation17032
test30904

Total rows: 44834

Usage

python
import json

from datasets import load_dataset
from huggingface_hub import get_token

ds = load_dataset(
    "amrosama/al-kawakib-magazine-ocr",
)

sample = next(iter(ds["train"]))
image = sample["image"]
text = sample["ocr_text"]
line_texts = sample["line_texts"]
lines = json.loads(sample["lines_json"])
bboxes = json.loads(sample["line_bboxes"])

print(sample["image_id"], image.size, sample["line_count"])

For VLM fine-tuning, use image as the visual input, instruction as the prompt, and response as the target answer.

For non-streaming use on machines with enough disk/cache space:

python
from datasets import load_dataset
from huggingface_hub import get_token

ds = load_dataset("amrosama/al-kawakib-magazine-ocr", token=get_token())
sample = ds["train"][0]

Curation Notes

Images without matching valid OCR JSON were skipped. Common source/footer marks and angled watermark fragments were filtered from the text fields; the source page images are unchanged. The text and bounding boxes were generated automatically and may still contain mistakes from historical print quality, page skew, stamps, low contrast, cropped text, or mixed page layouts.

Suggested Evaluation

Use held-out pages to evaluate full-page transcription quality, line detection coverage, and robustness across different publication years and scan conditions.

License & Attribution

This dataset is released under the [CC BY 4.0 License](https://creativecommons.org/licenses/by/4.0/).

In plain English: You are completely free to use, share, adapt, or fine-tune models with this dataset for any purpose—academic or commercial. The only requirement is that you give credit by mentioning or citing this dataset.

Citation

If you use this dataset in your work or research, please cite it as:

bibtex
@misc{al_kawakib_ocr_dataset,
  author = {Amr Osama Abdellatif},
  title = {Al-Kawakib Magazine OCR Dataset},
  year = {2026},
  publisher = {Hugging Face},
  journal = {Hugging Face Repository},
  howpublished = {\url{[https://huggingface.co/datasets/amrosama/al-kawakib-magazine-ocr](https://huggingface.co/datasets/amrosama/al-kawakib-magazine-ocr)}}
}