streamlit-pdf
A Streamlit component for viewing PDF files
What it is and what it does
streamlit-pdf is a Streamlit component that embeds a PDF viewer directly into Streamlit web apps. It accepts PDFs from multiple sources—URLs, local file paths, file-like objects from st.file_uploader, or raw bytes—and renders them in an interactive viewer with a configurable height parameter (default 600 pixels). The component handles the rendering client-side, allowing users to scroll, zoom, and navigate through PDF documents without leaving the Streamlit app.
The package is lightweight with no runtime dependencies beyond Streamlit itself, making it straightforward to add to existing projects. It's designed for developers building document-viewing features into data apps, dashboards, or report generators. The component is in active development (Alpha status) and maintained by the Streamlit team.
Use it for:
- Display uploaded PDF reports or documents in a Streamlit dashboard without requiring external file downloads
- Embed hosted PDF documentation or guides directly in a web app for inline reference
- Build a document review interface where users upload PDFs and view them side-by-side with analysis results
- Show generated PDF reports (e.g., from a data processing pipeline) immediately after creation
- Create a simple PDF viewer app for browsing local or remote document collections
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds a PDF viewer component to Streamlit apps that displays PDF files from URLs, local paths, uploaded files, or raw bytes with configurable height.
Yes. Low install friction, no runtime dependencies, active maintenance, permissive license, and zero known vulnerabilities make this a safe choice. Install it if you need to display PDFs in a Streamlit app. The only caveat is Alpha status—expect the API or behavior to evolve, though the current interface is straightforward.
Install
streamlit-pdf on PyPI
pip
pip install streamlit-pdfuv
uv add streamlit-pdfpoetry
poetry add streamlit-pdfInstalling streamlit-pdf
Before you install
Low friction installation as a wheel package. Actively maintained with recent releases; last commit 2026-08-14 and status marked active. No runtime dependencies to manage.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and private projects with minimal restrictions.
Quickstart
pip install streamlit-pdf
import streamlit as st
st.pdf("https://example.com/document.pdf", height=600)
Requires Streamlit to be installed; streamlit-pdf is a component that extends Streamlit's functionality.
Verify before relying
- Whether st.pdf() is a direct method on the streamlit module or requires additional setup beyond import
- Performance characteristics when displaying large PDF files or many PDFs in a single app
- Browser compatibility and rendering engine used for PDF display
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 269 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 97,758/month — #13,129 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: streamlit_pdf-2.0.1-py3-none-any.whl
Keywords: streamlit, pdf, viewer, react, component
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
streamlit-feedbackAdds a user feedback widget to Streamlit apps…
permissive · top 15,000 on PyPI
streamlit-pdf-viewerStreamlit component that renders PDF documents…
unclear · top 15,000 on PyPI
gradio-pdfProvides a PDF display component for Gradio…
permissive · top 15,000 on PyPI
streamlit-notifyStreamlit-Notify provides persistent status…
permissive · top 15,000 on PyPI
streamlit-embedcodeEmbeds code snippets from external services…
unclear · top 15,000 on PyPI
streamlit-cardA Streamlit component that renders interactive…
permissive · top 15,000 on PyPI
st-annotated-textDisplays annotated text with labels and…
permissive · top 15,000 on PyPI
streamlit-avatarRenders clickable avatar icons with images,…
unclear · top 15,000 on PyPI
streamlit-echartsRenders interactive ECharts visualizations in…
permissive · top 15,000 on PyPI
streamlit-vertical-sliderAdds a vertical slider widget to Streamlit apps…
unclear · top 15,000 on PyPI