Helpful file guides

Get your file right the first time

Find the steps to fix an upload, choose a format, reduce file size, or prepare a file for sharing.

20 clear guides Direct tool links
  1. Find the problemFormat, quality, upload, or privacy
  2. Choose what to changeCompare formats and settings
  3. Open the right toolContinue without making an account
Common problems

Good places to start

These guides answer questions that often block an upload, conversion, or file handoff.

File troubleshooting

Fix Files Rejected by ChatGPT, Claude, or Gemini

Read the upload error and check the service's format and size limits. Convert, resize, or compress only if the file breaks one of those rules, then check that its content is still readable. If a small supported test file also fails, check your account limits, connection, and service status.

Read guide
PDFs and documents

Fix a PDF That Will Not Upload

Check the upload error, file-size limit, accepted file type, password protection, and filename first. If those look correct, open and save a fresh copy, try a different browser, and contact the receiving site if the failure continues.

Read guide
Images

Choose the Right Image Format

Use JPG for shareable photos, PNG for transparency and sharp graphics, WebP for smaller web images, SVG for scalable artwork, HEIC for efficient phone storage, and PDF for fixed pages or documents.

Read guide
All guides

Find the help you need

Search by problem or choose a file type. Every guide gives you an answer before it asks you to open a tool.

Filter guides by topic
20 guides
Images 3 min read

Choose the Right Image Format

Learn when to use JPG, PNG, WebP, HEIC, SVG, or PDF, and avoid files that are too large, blurry, or hard to open.

Read guide
Images 3 min read

Compress Images for Faster Web Pages

Reduce image dimensions and file size without making photos, screenshots, or graphics look needlessly blurry.

Read guide
Product photos 4 min read

Prepare the photos your listing needs

Choose the right frame for a Mercado category, check the actual crop, and keep Etsy listing previews separate from the digital files buyers receive.

Read guide
PDFs and documents 3 min read

Redact Private Information From a PDF

Use solid redaction blocks for private information, understand how the PDF pages are flattened, and check the saved copy before sharing it.

Read guide
PDFs and documents 3 min read

Put PDF Pages in the Right Order

Reorder, rotate, remove, or extract PDF pages. Keep the original and check the page order in the saved copy.

Read guide
PDFs and documents 3 min read

Move a Selectable PDF Table Into Excel

Extract a table that contains selectable PDF text, draw a tight selection box, and check the spreadsheet for shifted or missing values.

Read guide
PDFs and documents 4 min read

Make your PDF fit the upload limit

Choose one smaller image-based PDF or measured PDF parts, then check readability and the receiving form’s file-count and size rules.

Read guide
PDFs and documents 3 min read

Extract Text From a Scanned PDF

Use OCR to read scanned PDF pages, check names and numbers against the source, and download the recognized text as a TXT file.

Read guide
File troubleshooting 3 min read

Turn Images Into a Clear PDF

Convert one JPG, PNG, or HEIC image at a time into a one-page PDF, then merge the checked pages into one ordered document if needed.

Read guide
PDFs and documents 4 min read

Choose JPG or PNG for PDF Pages

Choose a basic JPG or PNG export, or render selected PDF pages to JPG against a byte limit. Check actual pixels, white backgrounds and text readability.

Read guide
Images 4 min read

Make a HEIC photo work where you need it

Choose a native Apple export, a simple JPG copy or a named application preset. Keep the original and check the resulting file before sharing.

Read guide
PDFs and documents 3 min read

Fix a PDF That Will Not Upload

Find the likely cause of a failed PDF upload, including file size, password protection, damage, filename issues, or unsupported document features.

Read guide
Images 3 min read

Make WebP and AVIF Images Easier to Share

Keep modern image formats where they work, and create a JPG or PNG copy when an app, recipient, or upload form cannot open them.

Read guide
PDFs and documents 3 min read

Know What to Expect From PDF to Word

Convert a PDF into an editable document, use the converter’s built-in OCR for scanned pages, and check the Word file for layout changes.

Read guide
Video 3 min read

Make a Smaller GIF From a Video Clip

Trim the clip in a separate step, choose a smaller GIF width and frame rate, then check motion, text, color, and file size.

Read guide
Audio 3 min read

Save a Video’s Audio as MP3

Convert an MP4 or MOV video to MP3 with the tool’s fixed settings, then check the result for duration, silence, noise, and clipping.

Read guide
Images 6 min read

Resize a photo or signature for an upload form

Match a form’s JPG format, pixel dimensions, and file-size range in one pass. Check the saved copy for readable details before submitting it.

Read guide
Base64 and embedding 3 min read

Use Base64 Images Without Breaking the File

Encode small images as Base64, add the correct data URL prefix when needed, and avoid oversized CSS, HTML, or JSON payloads.

Read guide
File troubleshooting 4 min read

Fix Files Rejected by ChatGPT, Claude, or Gemini

Find out why an AI upload failed, fix the file if needed, and check whether the problem is with your account or the service.

Read guide
Product photos 5 min read

Check print sizes before selling a digital download

Find which print sizes your artwork can support, preview the crop, and check the files you will deliver to buyers.

Read guide
(function() { const title = document.querySelector('h1'); const actionRegion = document.querySelector('.action-container, .action-body'); if (!title || !actionRegion || title.querySelector('.tool-hero-mark')) return; const path = window.location.pathname.replace(/\/$/, ''); if (!path || path === '/' || path.startsWith('/converters') || path === '/about' || path === '/contact' || path === '/support' || path === '/privacy-policy') { return; } const lowerKey = path.replace(/^\/(video|audio)\//, '').replace(/^\//, '').toLowerCase(); if (!lowerKey) return; let category = 'image'; if (path.startsWith('/video/')) category = 'video'; if (path.startsWith('/audio/')) category = 'audio'; const isUtility = lowerKey.includes('ascii') || lowerKey === 'check-my-file' || lowerKey === 'prepare-for-ai' || lowerKey.includes('resizer') || lowerKey.includes('metadata') || lowerKey.includes('compress') || lowerKey.includes('base64') || lowerKey.includes('background') || lowerKey.includes('crop') || lowerKey.includes('watermark') || lowerKey.includes('remove-pages') || lowerKey.includes('unlock') || lowerKey.includes('protect') || lowerKey.includes('editor') || lowerKey.includes('excel') || lowerKey.includes('upscale') || lowerKey.includes('merge') || lowerKey.includes('split') || lowerKey.includes('ocr') || lowerKey.includes('sign') || lowerKey.includes('trim') || lowerKey.includes('favicon'); if (category === 'image' && isUtility) category = 'tool'; const labelMap = { jpg: 'JPG', jpeg: 'JPEG', png: 'PNG', gif: 'GIF', svg: 'SVG', pdf: 'PDF', heic: 'HEIC', jfif: 'JFIF', webp: 'WEBP', bmp: 'BMP', ico: 'ICO', word: 'DOCX', docx: 'DOCX', excel: 'Excel', xls: 'XLS', xlsx: 'Excel', mp4: 'MP4', mov: 'MOV', avi: 'AVI', mp3: 'MP3', aac: 'AAC', flac: 'FLAC', wav: 'WAV', webm: 'WEBM', cr2: 'CR2', arw: 'ARW', nef: 'NEF', raf: 'RAF' }; const formatLabel = (value) => labelMap[value] || value.toUpperCase(); function getFormatMeta(key) { if (key === 'check-my-file') { return {primary: 'Check', secondary: 'File', connector: 'dot'}; } if (key === 'prepare-for-ai') { return {primary: 'Prepare', secondary: 'AI', connector: 'dot'}; } const directMatch = key.match(/^([a-z0-9]+)-to-([a-z0-9]+)$/); const convertMatch = key.match(/^convert-([a-z0-9]+)-to-([a-z0-9]+)$/); const convertToMatch = key.match(/^convert-to-([a-z0-9]+)$/); if (directMatch) { return {primary: formatLabel(directMatch[1]), secondary: formatLabel(directMatch[2]), connector: 'arrow'}; } if (convertMatch) { return {primary: formatLabel(convertMatch[1]), secondary: formatLabel(convertMatch[2]), connector: 'arrow'}; } if (convertToMatch) { return {primary: 'Any', secondary: formatLabel(convertToMatch[1]), connector: 'arrow'}; } if (key.startsWith('compress-')) { return {primary: 'Compress', secondary: formatLabel(key.replace('compress-', '')), connector: 'dot'}; } if (key.includes('base64') && key.includes('decode')) { return {primary: 'Base64', secondary: 'Decode', connector: 'dot'}; } if (key.startsWith('base64-to-')) { return {primary: 'Base64', secondary: formatLabel(key.replace('base64-to-', '')), connector: 'arrow'}; } if (key.includes('-to-base64')) { const from = key.replace('convert-', '').replace('-to-base64', ''); return {primary: formatLabel(from), secondary: 'Base64', connector: 'arrow'}; } if (key.includes('base64')) { return {primary: 'Base64', secondary: 'Encode', connector: 'dot'}; } if (key.includes('ascii')) { return {primary: 'ASCII', secondary: 'Art', connector: 'dot'}; } if (key.includes('resizer')) { return {primary: 'Resize', secondary: 'Pixels', connector: 'dot'}; } if (key.includes('remove-pages')) { return {primary: 'Remove', secondary: 'Pages', connector: 'dot'}; } if (key.includes('crop') && key.includes('pdf')) { return {primary: 'Crop', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf-editor')) { return {primary: 'Edit', secondary: 'PDF', connector: 'dot'}; } if (key.includes('unlock')) { return {primary: 'Unlock', secondary: 'PDF', connector: 'dot'}; } if (key.includes('protect')) { return {primary: 'Protect', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf') && key.includes('metadata')) { return {primary: 'Clean', secondary: 'Metadata', connector: 'dot'}; } if (key.includes('metadata')) { return {primary: 'EXIF', secondary: 'Clean', connector: 'dot'}; } if (key.includes('background')) { return {primary: 'Remove', secondary: 'Background', connector: 'dot'}; } if (key.includes('crop')) { return {primary: 'Crop', secondary: 'Image', connector: 'dot'}; } if (key.includes('watermark')) { return {primary: 'Watermark', secondary: 'Image', connector: 'dot'}; } if (key.includes('upscale')) { return {primary: 'Upscale', secondary: 'Image', connector: 'dot'}; } if (key.includes('merge')) { return {primary: 'Merge', secondary: 'PDF', connector: 'dot'}; } if (key.includes('split')) { return {primary: 'Split', secondary: 'PDF', connector: 'dot'}; } if (key.includes('ocr')) { return {primary: 'OCR', secondary: 'PDF', connector: 'dot'}; } if (key.includes('sign')) { return {primary: 'Sign', secondary: 'PDF', connector: 'dot'}; } if (key.includes('trim')) { return {primary: 'Trim', secondary: 'Video', connector: 'dot'}; } return {primary: 'Tool', secondary: '', connector: 'dot'}; } function getIconClass(key, categoryName) { const toFormat = key.split('-to-')[1]; if (key === 'check-my-file') return 'bi-file-earmark-check'; if (key === 'prepare-for-ai') return 'bi-ui-checks-grid'; if (key.includes('ascii')) return 'bi-textarea-t'; if (key.includes('resizer')) return 'bi-aspect-ratio'; if (key.includes('metadata')) return 'bi-shield-slash'; if (key.includes('compress')) return 'bi-file-earmark-zip'; if (key.includes('base64')) return 'bi-journal-code'; if (key.includes('background')) return 'bi-scissors'; if (key.includes('crop')) return 'bi-crop'; if (key.includes('watermark')) return 'bi-type'; if (key.includes('remove-pages')) return 'bi-trash'; if (key.includes('unlock')) return 'bi-unlock'; if (key.includes('protect')) return 'bi-lock'; if (key.includes('editor')) return 'bi-pencil-square'; if (key.includes('excel')) return 'bi-file-earmark-spreadsheet'; if (key.includes('upscale')) return 'bi-arrows-angle-expand'; if (key.includes('merge')) return 'bi-files'; if (key.includes('split')) return 'bi-scissors'; if (key.includes('ocr')) return 'bi-file-earmark-text'; if (key.includes('sign')) return 'bi-pen'; if (key.includes('trim')) return 'bi-scissors'; if (toFormat) { switch (toFormat) { case 'jpg': case 'jpeg': return 'bi-filetype-jpg'; case 'png': return 'bi-filetype-png'; case 'gif': return 'bi-filetype-gif'; case 'svg': return 'bi-filetype-svg'; case 'pdf': return 'bi-filetype-pdf'; case 'word': case 'docx': return 'bi-file-earmark-word'; case 'xls': case 'xlsx': case 'excel': return 'bi-file-earmark-spreadsheet'; case 'heic': return 'bi-filetype-heic'; case 'webp': return 'bi-filetype-webp'; case 'bmp': return 'bi-filetype-bmp'; case 'ico': return 'bi-file-image'; case 'mp4': return 'bi-filetype-mp4'; case 'mov': return 'bi-filetype-mov'; case 'mp3': return 'bi-filetype-mp3'; case 'wav': return 'bi-filetype-wav'; case 'avi': return 'bi-filetype-avi'; default: return 'bi-file-earmark-image'; } } if (categoryName === 'video') return 'bi-film'; if (categoryName === 'audio') return 'bi-music-note-beamed'; if (categoryName === 'image') return 'bi-file-earmark-image'; return 'bi-gear'; } const formatMeta = getFormatMeta(lowerKey); const connectorIcon = formatMeta.connector === 'arrow' ? 'bi-arrow-right-short' : 'bi-dot'; const iconClass = getIconClass(lowerKey, category); const mark = document.createElement('span'); mark.className = `tool-hero-mark converter-mark converter-mark--${category}`; const iconWrap = document.createElement('span'); iconWrap.className = 'converter-mark__icon'; const icon = document.createElement('i'); icon.className = iconClass; iconWrap.appendChild(icon); mark.appendChild(iconWrap); const formatWrap = document.createElement('span'); formatWrap.className = 'converter-format'; const primary = document.createElement('span'); primary.className = 'format-pill'; primary.textContent = formatMeta.primary; formatWrap.appendChild(primary); if (formatMeta.secondary) { const connector = document.createElement('span'); connector.className = 'format-connector'; const connectorIconEl = document.createElement('i'); connectorIconEl.className = connectorIcon; connector.appendChild(connectorIconEl); formatWrap.appendChild(connector); const secondary = document.createElement('span'); secondary.className = 'format-pill format-pill--secondary'; secondary.textContent = formatMeta.secondary; formatWrap.appendChild(secondary); } mark.appendChild(formatWrap); title.classList.add('tool-hero-title'); title.prepend(mark); })();