TL;DR
A file refuses to become a PDF. The output is blank, or the tool sits there, or you get something that looks nothing like the source.
Almost every case is one of six things:
- The extension is lying about the format — a
.csvthat's actually a spreadsheet, a.txtthat's actually a PDF - The encoding is wrong — text file saved in a non-UTF-8 encoding, showing as mojibake or nothing
- The format genuinely isn't supported —
.docx,.xlsx,.pptxand friends are containers, not documents - The file is enormous — not a limit in the tool, a limit in your machine's memory
- The file is corrupt or truncated — an interrupted download
- The content is empty — a CSV with headers and no rows, an HTML file whose content is fetched by JavaScript
Convert: Anything to PDF handles 14 formats locally with no size cap and no conversion limit — which means when something fails, it's almost never a quota. It's one of the six above, and this post is how to tell which.
First: what should happen
Convert: Anything to PDF supports these, on-device:
| Category | Formats |
|---|---|
| Images | JPG/JPEG, PNG, WebP, SVG, GIF, BMP |
| Text & markup | TXT, HTML (local file), Markdown, JSON, XML |
| Data | CSV (auto-formatted table) |
| Workflow | Excel → CSV → PDF |
| Web | Active browser tab |
Everything runs in your browser. Nothing is uploaded, there's no size limit imposed by us, no watermark, and no cap on how many files you convert.
That last point matters diagnostically: with a hosted converter, "it stopped working" is often just the free tier's daily limit. With local conversion, a failure is a real failure, and it has a real cause.
Cause 1: The extension is lying
Symptom: the file converts, and the output is gibberish, blank, or a wall of unreadable symbols.
A file extension is a naming convention, not a fact. Nothing enforces it. Rename a JPEG to .txt and your OS will happily let you, and every tool downstream will believe it.
This is more common than it sounds because of how files reach us:
- Export tools that write
.csvbut produce a tab-separated file, or a full.xlsx - "Download as text" buttons that emit HTML
- Files renamed by someone trying to get past an upload filter
- Cloud storage that appends or strips extensions on download
How to check: open the file in a plain text editor.
- Starts with
%PDF-→ it's a PDF already - Starts with
PKand then binary noise → it's a ZIP container (which means.docx,.xlsx,.pptx, or an actual zip) - Starts with
<!DOCTYPE htmlor<html→ it's HTML - Starts with
{or[→ JSON - Starts with
<?xml→ XML - Readable columns separated by commas → genuinely CSV
- Binary noise from byte one → an image or other binary format
The fix: rename it to what it actually is, then convert.
Cause 2: Encoding
Symptom: the text converts but shows é where é should be, or question marks, or empty boxes.
Text files don't record their own encoding. A file saved as Windows-1252, ISO-8859-1, or UTF-16 read as UTF-8 produces predictable garbage.
Common sources: older Windows applications, database exports with default settings, CSVs from accounting or banking software, anything from a legacy line-of-business system.
How to check: open in a text editor that shows encoding — VS Code displays it bottom-right, Notepad++ has an Encoding menu.
The fix: re-save as UTF-8.
- VS Code: click the encoding indicator → "Save with Encoding" → UTF-8
- Notepad++: Encoding → Convert to UTF-8
- Excel: Save As → "CSV UTF-8 (Comma delimited)" — a genuinely different option from plain "CSV"
That last one solves a large share of real-world CSV problems on its own. If you export from Excel regularly and see accented characters break, this is why.
Related but different: empty boxes (□□□) rather than wrong characters usually means a font problem, not an encoding one — the characters decoded fine, but no installed font has glyphs for them. Install a font covering that script.
Cause 3: The format genuinely isn't supported
Symptom: you select a .docx or .xlsx and nothing happens, or the output is nonsense.
Modern Office files are ZIP archives containing XML, plus a rendering model, plus fonts, plus embedded objects. Converting one faithfully means implementing a large part of a word processor. That's not a gap in a browser extension — it's a different product.
What to do instead, per format:
| Format | Route |
|---|---|
.docx, .doc | Word / Google Docs / LibreOffice → Export as PDF |
.xlsx, .xls | Save as CSV → convert. Or Excel's own Export as PDF |
.pptx, .ppt | PowerPoint / Slides → Export as PDF |
.pages, .numbers, .key | Apple apps → Export as PDF |
.odt, .ods | LibreOffice → Export as PDF |
.psd, .ai, .indd | Adobe app → Export as PDF |
.eml, .msg | Open in mail client → Print to PDF |
.heic | Convert to JPG first, then convert |
The Excel-to-CSV route is worth knowing properly, because it's the one people use most. Save the sheet as CSV, then convert — Convert: Anything to PDF renders CSV as a formatted table and switches to landscape automatically when there are 6+ columns, which is much better output than most tools manage.
What you lose: formulas become their computed values, formatting and colours go, charts don't survive, and multi-sheet workbooks need one CSV per sheet. What you gain: a clean, readable table with no upload. For data, that's usually the right trade. For a formatted financial report you're presenting, use Excel's own PDF export.
Cause 4: The file is too large
Symptom: the tab freezes, the conversion never finishes, or Chrome shows the "page unresponsive" dialog.
There's no size limit in the extension. The limit is your machine — specifically the memory available to a browser tab, which is finite regardless of how much RAM you have.
Where it bites:
- Very large CSVs (tens of thousands of rows), each becoming a table row to lay out
- Extremely high-resolution images, especially uncompressed BMP or PNG
- Merging dozens of large images at once
- A single very long text or Markdown file
The fixes, in order:
- Split the file. A 40,000-row CSV as four 10,000-row files converts fine and is more readable anyway.
- Resize images before converting. A 6000px-wide photo has far more detail than any PDF page needs. 2000px on the long edge is plenty.
- Merge in batches. Twelve images at a time rather than sixty.
- Close other tabs. They're competing for the same memory.
Cause 5: The file is corrupt
Symptom: nothing happens at all, or the output is truncated partway through.
Usually an interrupted download or a bad transfer.
How to check: open it in its native application. If Preview won't show the image and your editor shows a truncated file, it's the file.
The fix: download it again. Check the file size against what the source says it should be — a truncated download is often obviously short.
Cause 6: There's nothing in it
Symptom: a PDF is produced. It's blank, or a single page with a header row and nothing else.
Three flavours:
Empty CSV. Headers, no rows. Common with filtered exports where the filter matched nothing.
JavaScript-dependent HTML. A local .html file whose actual content is fetched at runtime. Converting the file converts the shell. Open it in a browser tab and use Convert: Web to PDF instead — that captures the rendered result after JavaScript runs.
Whitespace-only text. A file that's technically non-empty but contains only spaces and newlines.
The five-step routine
When something won't convert:
- Open it in a text editor and look at the first line. Resolves cause 1 immediately.
- Check the encoding indicator. Resolves cause 2.
- Check it's a supported format. If it's an Office file, export from the source app.
- Check the size. Over ~50MB or 10,000+ rows, split it.
- Open it in its native app. If that fails too, the file's broken.
Five checks, under two minutes, and one of them is the answer nearly every time.
How this compares to hosted converters
Different tools fail differently, and knowing which kind you're using tells you where to look.
| Local extension | Hosted converter (Smallpdf, iLovePDF, PDFCrowd) | |
|---|---|---|
| Size limits | Your machine's memory | Hard caps on free tiers, often 5–10MB |
| Daily limits | None | Usually 2–3 free conversions |
| Where the file goes | Nowhere | Their servers |
| Failure causes | The six above | The six above, plus quotas, timeouts, and queues |
| Diagnosing a failure | You can inspect the file | Often just "conversion failed" |
| Office formats | Not supported | Often supported |
| Watermarks | Never | Sometimes, tier-dependent |
The honest trade: hosted services handle .docx and .xlsx because they run real conversion software server-side, and that's a genuine advantage if you convert Office files constantly. What you pay for it is that the file leaves your machine, plus quotas that appear at inconvenient moments.
For everything in the 14 supported formats, local conversion is faster, unmetered, and doesn't put your document on someone else's infrastructure. For a .docx, use Word's own export — it's better output than any converter will give you anyway.
Frequently asked questions
Why is my converted PDF blank?
Either the source is genuinely empty (a CSV with only headers, a whitespace-only text file), or it's a local HTML file whose content loads via JavaScript — converting the file gets the empty shell. For the second case, open the file in a browser tab and use Convert: Web to PDF, which captures the page after JavaScript has run.
Why can't I convert a Word or Excel file directly?
.docx and .xlsx are ZIP archives of XML plus a full rendering model — converting them faithfully means implementing most of a word processor. Export to PDF from the app that made them, or for spreadsheets, save as CSV and convert that. The CSV route produces a clean formatted table and auto-switches to landscape for wide data.
My text file shows strange characters like é instead of é. Why?
The file isn't UTF-8 — it's probably Windows-1252 or ISO-8859-1, common from older Windows software and database exports. Open it in VS Code or Notepad++ and re-save as UTF-8. If you're exporting from Excel, choose "CSV UTF-8" rather than plain "CSV".
Is there a file size limit?
Not one we impose. The practical limit is your browser tab's memory. Very large CSVs (tens of thousands of rows), huge uncompressed images, or merging many large files at once can exhaust it. Split large files, resize images to around 2000px on the long edge, and merge in batches.
The file has the right extension but converts to gibberish. What's wrong?
The extension is probably wrong. Nothing enforces file extensions, and export tools frequently mislabel their output. Open the file in a text editor: %PDF- means it's a PDF, PK plus binary means a ZIP-based Office file, <html means HTML. Rename to the true format and convert again.
Why do I see empty boxes instead of characters?
That's a font issue rather than an encoding one — the characters decoded correctly, but no installed font has glyphs for them. Common with CJK, Arabic, or Indic scripts on a system without those fonts. Install a font covering the script (Noto is the free, comprehensive family) and re-convert.
Do I get a limited number of free conversions?
No. Convert: Anything to PDF has no conversion cap, no row limit, no watermark, and no paid tier. Because everything runs on your machine, there's no server metering anything.
Bottom line
Conversion failures feel opaque and almost never are. Six causes cover essentially all of them, and the first diagnostic — opening the file in a text editor and reading the first line — resolves the most common one on its own.
Mislabelled extension, wrong encoding, unsupported container format, memory exhaustion, corrupt download, empty content. Check in that order.
And when it's an Office file: don't fight it. Export from the app that made it. That's not a workaround, it's the correct route — the source application knows the document's layout better than any converter ever will.
Convert: Anything to PDF is free, unmetered, and local. If your problem is a web page rather than a file, Convert: Web to PDF has a full troubleshooting section in its FAQ.
Also free, also ours: CineMan AI — for when the file finally converts and you've earned an evening off.