Skia/PDF Creator & Producer
Understanding PDF metadata that shows Skia/PDF as the Producer — learn how Google's powerful 2D graphics library creates PDF files in Chrome, Android, Flutter, and many other applications.
📄 About This PDF Metadata
When you examine a PDF file's properties and see Skia/PDF listed as the Producer, it indicates that the document was generated using Google's Skia graphics library. This is commonly seen in PDFs created by Chrome, Chromium-based browsers, Android apps, and Flutter applications.
Sample PDF Metadata from Chrome/Skia:
Creator: Chromium
Producer: Skia/PDF m131
Creation Date: 2025-01-27 10:30:45
PDF Version: 1.4
The "m" followed by a number (e.g., "m131") in the Producer field indicates the Chromium milestone version. This helps identify which version of Chrome or the Skia library was used to generate the PDF.
PDF Creator
Usually shows the application name (e.g., Chromium, Chrome, or the app name). This identifies the software that initiated the PDF creation.
PDF Producer
Shows Skia/PDF followed by the milestone version (e.g., m131). This is the underlying graphics engine that renders and generates the actual PDF content.
🎨 What is Skia?
Skia is an open-source 2D graphics library developed and maintained by Google. It provides common APIs that work across a variety of hardware and software platforms, serving as the graphics engine for some of the world's most widely used software including Google Chrome, ChromeOS, Android, and Flutter.
Project Information
| Developer: | Google (originally Skia Inc.) |
| Acquired: | 2005 by Google |
| Open Sourced: | 2008 |
| License: | BSD (New BSD) |
| Website: | skia.org |
Technical Details
| Language: | C++ |
| Platforms: | Windows, Linux, macOS, Android, iOS |
| GPU Backends: | OpenGL, Vulkan, Metal, Direct3D |
| GitHub: | google/skia |
| Stars: | 9,500+ |
Key Features of Skia:
2D Drawing
Draw shapes, paths, text, and images with anti-aliasing
Typography
Advanced text rendering with OpenType features and emoji support
Image Processing
Decode, encode, and manipulate various image formats
GPU Acceleration
Hardware-accelerated rendering via OpenGL, Vulkan, Metal
PDF Backend
Generate PDF documents programmatically
Cross-Platform
Consistent rendering across all major platforms
⚙️ How Skia Creates PDFs
Skia includes a dedicated PDF backend that can generate PDF documents directly from its drawing commands. When an application like Chrome needs to create a PDF (e.g., "Print to PDF"), it uses Skia's PDF backend to render the content and produce the final PDF file.
PDF Generation Process:
- Application sends drawing commands to Skia Canvas
- Skia records operations (shapes, text, images)
- PDF backend converts commands to PDF operators
- Resources (fonts, images) are embedded or referenced
- Content streams are compressed for efficiency
- Final PDF file is written with metadata
The Skia PDF backend supports advanced features like font subsetting, image compression (JPEG quality control), PDF/A-2b conformance, and structured document tags for accessibility.
💡 Did You Know?
Skia was originally developed by Skia Inc., acquired by Google in 2005, and open-sourced in 2008. It's been the graphics engine behind Chrome since the browser's launch, making it one of the most battle-tested graphics libraries in existence.
📱 Applications Using Skia
Skia powers many major applications and platforms. PDFs created by any of these may show "Skia/PDF" in the metadata:
🌐 Web Browsers
- Google Chrome - Print to PDF feature
- Chromium - Open-source base browser
- Microsoft Edge - Chromium-based since 2020
- Opera, Brave, Vivaldi - Chromium-based browsers
- Mozilla Firefox - Uses Skia for canvas rendering
📱 Mobile & Desktop
- Android - System graphics rendering
- ChromeOS - Entire desktop rendering
- Flutter - Cross-platform app framework
- Electron apps - When using Chrome's print
- LibreOffice - Optional Skia backend (v7.1+)
🛠️ Development Tools
- Puppeteer - Headless Chrome automation
- Playwright - Browser automation
- Headless Chrome - Server-side PDF generation
- SkiaSharp - .NET bindings for Skia
- Skija - Java bindings for Skia
☁️ Cloud Services
- Google Docs - Export to PDF
- Google Sheets - Print/export to PDF
- Google Slides - Export presentations
- AppSheet - PDF generation
- Various SaaS platforms - Using headless Chrome
🏷️ Understanding the Metadata Format
The Skia/PDF producer string follows a specific format that provides version information:
Producer String Format:
Skia/PDF m[version]
Examples:
Skia/PDF m131- Created with Chromium milestone 131Skia/PDF m119- Created with Chromium milestone 119Skia/PDF m104- Created with Chromium milestone 104
Version Number Meaning:
| Component | Description | Example |
|---|---|---|
| Skia/PDF | Identifies Skia's PDF backend | Always "Skia/PDF" |
| m | Stands for "milestone" | Always "m" |
| Number | Chromium milestone version | 131, 119, 104, etc. |
The milestone number corresponds to Chrome's version numbering. For example, Skia/PDF m131 indicates the PDF was created with Skia from Chrome/Chromium version 131.x. This helps identify when the PDF was created and which features were available.
⚠️ Note
Non-browser applications using Skia directly (like Flutter or SkiaSharp) may show different version formats, such as just "Skia/PDF" without a milestone number, or with the specific Skia library version.
📋 Common PDF Sources
Here are the most common ways PDFs with Skia/PDF metadata are created:
The most common source. When you use Ctrl+P (or Cmd+P) in Chrome or Edge and select "Save as PDF" as the destination, the browser uses Skia to render and generate the PDF.
Metadata: Creator: Chromium (or Chrome/Edge), Producer: Skia/PDF m[version]
When you export documents from Google Workspace applications (Docs, Sheets, Slides) as PDF, they use Google's rendering infrastructure which is based on Skia.
Metadata: Creator: Google Docs (or similar), Producer: Skia/PDF m[version]
Automation tools that control headless Chrome to generate PDFs from web pages. Commonly used for invoices, reports, and automated document generation.
Metadata: Creator: HeadlessChrome/[version], Producer: Skia/PDF m[version]
Flutter apps use Skia as their rendering engine. When these apps generate PDFs (using packages like pdf or printing), they may produce PDFs with Skia metadata.
Metadata: Creator: [App Name], Producer: Skia/PDF
Desktop applications built with Electron (like VS Code, Slack, Discord) use Chromium internally. If they offer PDF export functionality, it uses Skia.
Metadata: Creator: [App Name], Producer: Skia/PDF m[version]
🔍 Understanding PDF Metadata
PDFs created with Skia contain standard metadata fields. Applications can customize some of these when creating the PDF:
| Metadata Field | Typical Value | Description |
|---|---|---|
| Creator | Chromium, Chrome, App name |
The application that initiated PDF creation |
| Producer | Skia/PDF m131 |
Skia PDF backend with version number |
| Title | Page title or document name | Often from HTML <title> tag |
| Author | Varies (often empty) | Document author if specified |
| Creation Date | Timestamp | When the PDF was created |
| PDF Version | 1.4 |
PDF specification version |
| Tagged | yes or no |
Whether PDF has accessibility tags |
View PDF Metadata (Command Line):
# Using pdfinfo (Linux/macOS)
pdfinfo document.pdf
# Example output:
Title: My Web Page
Creator: Chromium
Producer: Skia/PDF m131
CreationDate: Mon Jan 27 10:30:45 2025
Tagged: yes
Pages: 3
🛠️ Troubleshooting
Common issues with PDFs created using Skia/PDF:
Images Not Displaying in Some PDF Readers
Cause: Skia uses modern PDF features that older PDF readers may not fully support.
Solution: Use an up-to-date PDF reader like Adobe Acrobat Reader, Chrome's built-in viewer, or Foxit Reader. Alternatively, re-save the PDF using a different tool.
PDF File Size Too Large
Cause: High-resolution images or uncompressed content in the original web page.
Solution: In Chrome's print dialog, use "Simplified" view if available, or compress the PDF afterward using tools like PDF compressors or Ghostscript.
Fonts Look Different Than Expected
Cause: Skia embeds font subsets. If the web page uses fonts not available for embedding, fallback fonts are used.
Solution: Ensure web fonts have proper licensing for embedding, or use system fonts that are always available.
Links Not Working in PDF
Cause: Some PDF creation methods may not preserve hyperlinks.
Solution: When using Chrome's Print to PDF, ensure "Background graphics" is checked in More settings. For programmatic generation, ensure link preservation is enabled.
PDF Not Opening / Appears Corrupted
Cause: Incomplete download, interrupted PDF generation, or incompatible reader.
Solution: Re-download or regenerate the PDF. Try opening in a different PDF reader. If using automated tools, ensure the generation process completes fully before accessing the file.
❓ Frequently Asked Questions
When a PDF shows "Skia/PDF" as the Producer in its metadata, it means the document was generated using Google's Skia graphics library. This is commonly seen in PDFs created by Chrome's "Print to PDF" feature, Google Docs exports, or applications using headless Chrome for PDF generation.
"Chromium" appears as the Creator when the PDF was generated using Chrome, Edge, or another Chromium-based browser. The browser acts as the application creating the PDF, while Skia is the underlying engine that produces it. This is normal behavior for browser-generated PDFs.
The "m" stands for "milestone" and the number corresponds to the Chromium version. For example, "Skia/PDF m131" means the PDF was created with Skia from Chromium milestone 131 (Chrome version 131.x). This helps identify when the PDF was created and which version of the rendering engine was used.
Yes, Skia is completely free and open-source software licensed under the BSD license. It can be used for personal, commercial, and enterprise applications without any licensing fees. Google maintains and sponsors development, but anyone can use and contribute to the project.
When using Skia directly in code, you can set custom Creator metadata. However, when using browser "Print to PDF," the metadata is set automatically. To change metadata afterward, you can use PDF editing tools like exiftool, pdftk, or PDF libraries in various programming languages.
Modern versions of Chrome (and Skia) can generate tagged PDFs that support accessibility features. You can check if a PDF is tagged by viewing its metadata (look for "Tagged: yes"). Tagged PDFs include structural information that screen readers and assistive technologies can use.
Open the PDF and check its properties/metadata. In most PDF readers, you can access this via File → Properties or Document Properties. Look for the "Producer" field — if it shows "Skia/PDF" (with or without a version number), the PDF was created using Skia's PDF backend.
🛠️ Related Tools
PDF Metadata Viewer
Free tool to view PDF metadata including Creator, Producer, and creation dates.
View PDF Metadata →📝 Summary: Skia/PDF Metadata
- Skia is Google's 2D graphics library
- Producer shows Skia/PDF m[version]
- Creator typically shows the application name
- Powers Chrome, Android, Flutter
- "m" number = Chromium milestone version
- Originally by Skia Inc., acquired by Google in 2005
- Open source since 2008 (BSD license)
- Used by billions of devices worldwide
- Supports tagged/accessible PDFs
- Common in browser "Print to PDF" output