The file didn't convert. The tool threw an error, or worse, produced an output file that's blank, garbled, or truncated. Before you try a different tool and hope for the best, stop and diagnose. File conversion fails for a finite set of reasons, and each has a specific fix.
This guide covers every common conversion failure, organized by symptom and cause. Whether you're hitting "unsupported format," getting garbled text, seeing a blank video, or producing a PDF with missing fonts — the answer is here.
These aren't theoretical problems. ChangeThisFile processes thousands of conversions, and these are the actual failure modes we've diagnosed and solved.
Corrupted Source Files
The most common conversion failure: the source file is damaged. This happens when downloads are interrupted, files are truncated during copy, or storage media develops errors.
Check Magic Bytes
Every file format starts with a specific byte sequence ("magic number") that identifies it. If the first few bytes are wrong, the file is either corrupted or mislabeled.
| Format | Magic Bytes (hex) | ASCII Representation |
|---|---|---|
| JPEG | FF D8 FF | (binary) |
| PNG | 89 50 4E 47 | .PNG |
| 25 50 44 46 | ||
| ZIP/DOCX/XLSX | 50 4B 03 04 | PK.. |
| GIF | 47 49 46 38 | GIF8 |
| MP4/MOV | ... 66 74 79 70 | ...ftyp |
| MP3 | FF FB or 49 44 33 | .. or ID3 |
| FLAC | 66 4C 61 43 | fLaC |
| 7Z | 37 7A BC AF | 7z.. |
| RAR | 52 61 72 21 | Rar! |
Check with: xxd -l 16 file.xyz (Linux/macOS) or Format-Hex -Path file.xyz -Count 16 (PowerShell). If the magic bytes don't match the file extension, the file is either renamed or corrupted.
Truncated Files
A file that's cut short during download or copy may have correct magic bytes but incomplete data. Symptoms: conversion starts but produces truncated output, or fails with "unexpected end of file."
Check file size — a 1920x1080 JPEG should be at least 200KB (probably 500KB-5MB). A 1080p MP4 video should be at least a few MB per minute. If the file is suspiciously small, it's likely truncated.
For video: ffmpeg -v error -i file.mp4 -f null - will report errors at the exact point where corruption begins. For images: opening in any image viewer will typically show the image up to the corruption point, with the rest as gray or missing.
File Extension Doesn't Match Actual Format
This is more common than you'd think. Someone renames file.webm to file.mp4 because the recipient "needs MP4." The file extension changes but the actual format doesn't — it's still WebM inside. The conversion tool tries to parse it as MP4, fails, and throws a confusing error.
How to diagnose:
file commandon Linux/macOS:file mystery.mp4→ "WebM" reveals the truth- Check magic bytes (see table above)
- Open in VLC or FFprobe:
ffprobe -hide_banner file.mp4shows the actual container and codecs
Fix: Rename the file to its correct extension and then convert properly. WebM to MP4, MKV to MP4, etc.
Unsupported Format Variations
Many format names cover multiple incompatible sub-formats:
TIFF Compression Variants
TIFF files can use different internal compression: none, LZW, ZIP/Deflate, JPEG, CCITT fax, JBIG, or even JPEG 2000. A tool that handles LZW-compressed TIFF may fail on JPEG-compressed TIFF. Satellite imagery and medical imaging often use unusual TIFF compression that consumer tools don't support.
Fix: Use ImageMagick or LibreOffice which handle the widest range of TIFF variants. For specific sub-formats, FFmpeg or specialized tools (GDAL for geospatial TIFF) may be needed.
PDF Version Incompatibilities
PDF has evolved through versions 1.0 (1993) to 2.0 (2017). Newer PDFs use features (3D content, embedded files, JavaScript, transparency groups) that older tools can't render. A PDF 2.0 file with AES-256 encryption won't open in a viewer that only supports PDF 1.4 encryption.
Fix: Use an up-to-date PDF reader (Chrome, Firefox, Adobe Acrobat, Okular). For conversion, Ghostscript handles the widest range of PDF versions: PDF to JPG and PDF to PNG work across versions.
Video Codec Inside Wrong Container
A .mp4 file could contain H.264, H.265, VP9, AV1, or even MPEG-2 video. A .mkv file might use virtually any video codec. If the conversion tool doesn't have a decoder for the specific codec inside the container, it fails even though it "supports" the container format.
Diagnose with: ffprobe -show_streams file.mp4 — look at codec_name. If it says "hevc" and your tool only handles H.264, that's the problem.
Fix: Use FFmpeg, which has decoders for virtually every codec. ChangeThisFile's server-side converter uses FFmpeg for this reason: MKV to MP4, AVI to MP4, WebM to MP4.
Character Encoding Problems
Text-based conversions (CSV to JSON, XML to YAML, HTML to Markdown) can produce garbled output if the source file's encoding is misdetected.
Symptoms:
- Accented characters (e, u, n) become multi-character garbage (é, ü, ñ)
- Smart quotes become “ and â€
- Em-dashes become â€"
- Asian characters become boxes or question marks
Cause: The source file is encoded as Windows-1252 (or another legacy encoding) but the conversion tool reads it as UTF-8, or vice versa.
Fix:
- Detect the actual encoding:
file -i document.csv(Linux) or use chardet (Python library) - Convert to UTF-8:
iconv -f WINDOWS-1252 -t UTF-8 input.csv > output.csv - Then proceed with the format conversion
This is especially common with CSV files exported from older versions of Excel, which defaulted to Windows-1252.
Missing Fonts in Document Conversion
Converting DOCX to PDF or PPTX to PDF produces output where text is misaligned, overlapping, or uses the wrong font. This happens when the conversion tool doesn't have the fonts specified in the document.
Common missing fonts:
- Calibri, Cambria, Consolas — Microsoft fonts, not installed on Linux by default
- Helvetica Neue — macOS font, not on Windows or Linux
- SF Pro, SF Mono — Apple system fonts, only on macOS
- Custom/brand fonts — purchased fonts not available on conversion server
Fix:
- Install Microsoft core fonts:
apt install ttf-mscorefonts-installer(Ubuntu/Debian) - Embed fonts in the source document before converting (Word: File → Options → Save → Embed fonts)
- Accept font substitution if the exact font isn't critical
- Convert to PDF on the same system where the document was created (fonts guaranteed to match)
File Too Large
Size limits exist at multiple levels:
- Upload limit: ChangeThisFile's web converter allows up to 50MB. Other online tools may limit to 5-25MB.
- Memory limit: A 500MB image file (e.g., a very high-res TIFF) may exceed available RAM during conversion. ImageMagick will abort with "memory allocation failed."
- Timeout: ChangeThisFile's server-side conversions timeout at 120 seconds. A 2GB video may not finish encoding in time.
- Filesystem: FAT32 has a 4GB single file limit. If the output would exceed 4GB on a FAT32 drive, it fails.
Fix: For web converters, split large files or use command-line tools (FFmpeg, ImageMagick, LibreOffice) locally with no size limits. For timeout issues, use the ChangeThisFile API with longer processing or convert locally.
DRM-Protected Files
DRM (Digital Rights Management) prevents conversion by design. Attempting to convert a DRM-protected file produces an error or a blank/silent output.
Common DRM-protected content:
- Kindle ebooks (KFX/AZW3 purchased from Amazon)
- iTunes music (pre-2009 purchases only; DRM-free since 2009)
- Netflix/Disney+/Amazon Prime video downloads
- Adobe Digital Editions EPUB files with ADEPT DRM
- Some PDF files with permission restrictions (the owner password restriction — which, as noted in our encryption guide, is trivially bypassed)
Fix: There's no universal fix. DRM is intentionally designed to prevent conversion. Some options: purchase DRM-free versions of the content, use the platform's own export features if available, or check whether the DRM applies in your jurisdiction (laws vary). ChangeThisFile and similar tools cannot convert DRM-protected content.
Common Error Messages Decoded
| Error Message | Likely Cause | Fix |
|---|---|---|
| "Invalid data found when processing input" | Corrupted file or wrong format for the extension | Check magic bytes; re-download if corrupt |
| "Codec not found" / "Decoder not found" | The file uses a codec the tool doesn't support | Use FFmpeg (supports virtually all codecs) |
| "Permission denied" | File is locked by another process or read-only | Close other apps using the file; check permissions |
| "File is encrypted" / "Password required" | File is password-protected | Enter the password before converting |
| "Unsupported format" (despite correct extension) | Format variant not supported by the tool | Try a different tool (FFmpeg, ImageMagick, LibreOffice) |
| "Output file is 0 bytes" | Conversion started but produced no output | Check for DRM, missing codecs, or insufficient disk space |
| "Memory allocation failed" | File is too large for available RAM | Increase memory limits or process in chunks |
| "Could not determine type of stream" | Container is recognized but streams inside are unreadable | Use ffprobe to inspect streams; likely a codec issue |
| "No such file or directory" (on output) | Output directory doesn't exist | Create the output directory before converting |
| "Broken pipe" / "Connection reset" | Server-side conversion timed out or crashed | Try a smaller file or convert locally |
Troubleshooting Flowchart
- Does the file open in its native application? If no → the file is corrupted. Re-obtain the source file.
- Does the file extension match the actual format? Check magic bytes or use
filecommand. If no → rename to correct extension, then convert. - Is the file DRM-protected? If yes → conversion tools can't bypass DRM. Seek DRM-free source.
- Is the file password-protected? If yes → decrypt first, then convert.
- Is the error about a missing codec or unsupported format? If yes → try FFmpeg (widest codec support) or a more capable tool.
- Is the output garbled text? → Encoding mismatch. Detect encoding with
file -i, convert to UTF-8 withiconv. - Are fonts wrong or missing? → Install the required fonts, or embed fonts in the source before converting.
- Does the file exceed size/time limits? → Convert locally with command-line tools (no limits).
- Is the output blank or truncated? → Check disk space, memory, and timeout settings.
File conversion failures are frustrating but predictable. The same dozen causes account for 95% of all failures, and each has a specific diagnostic step and fix. The habit to develop: when a conversion fails, don't immediately try a different tool. Stop, diagnose (check magic bytes, check encoding, check ffprobe output), and fix the root cause. The second tool will fail the same way if the problem is in the source file.
For conversions that should just work, ChangeThisFile handles the common cases automatically. For edge cases and troubleshooting, the techniques in this guide will get you unstuck.