Guides & Resources
In-depth guides on file formats, conversion, and digital media
General
Aspose.Cloud Pricing: Enterprise-Tier Costs and When Cheaper Alternatives Make Sense
Aspose.Cloud charges per API call with pricing that starts around $0.003–$0.008 per call depending on the product family (Words, Cells, PDF, Imaging, etc.). Enterprise plans include additional per-seat licensing. For most SaaS teams doing standard document and image conversion, Aspose.Cloud is 3–10× more expensive than alternatives like ChangeThisFile — but it's the right choice when you need Aspose's deep document manipulation API (not just format conversion), .NET/Java native SDK integration, or enterprise compliance certifications.
General
Auto-Convert Uploads with a systemd Timer and Service Unit
Create a systemd .service unit that runs a conversion script and a .timer unit that schedules it. systemd timers catch up on missed runs (unlike cron), log to journald, and support resource limits (CPUQuota, MemoryLimit). The timer activates the service; the service runs the conversion and exits cleanly.
Document
How to Automate File Conversion in GitHub Actions
To automate file conversion in GitHub Actions, add a step that calls the ChangeThisFile API with curl or Python requests. Store your API key as a GitHub Actions secret (CTF_API_KEY), then use: curl -X POST https://changethisfile.com/v1/convert -H 'Authorization: Bearer ${{ secrets.CTF_API_KEY }}' -F 'file=@doc.md' -F 'target=pdf' --output doc.pdf. No Docker container or system library installs needed.
Image
AVIF vs WebP: Which Next-Gen Image Format Should You Use?
AVIF achieves 20-30% better compression than WebP at equivalent visual quality, and supports HDR and 10-bit color. WebP has faster encoding and slightly better legacy browser support. In 2026, AVIF is the better choice for pre-built static images where encoding time isn't a constraint; WebP is better for real-time generation and highest compatibility.
General
AWS MediaConvert vs Managed Conversion APIs: The True Cost Including Hidden AWS Charges
AWS MediaConvert costs $0.0075–$0.0150/output-minute for SD/HD video plus $0.09/GB for S3 data egress plus S3 storage costs while files sit between upload and download. For a typical 5-minute HD video conversion with 500 MB output, total AWS cost is roughly $0.11–$0.20 per conversion including egress and storage. A managed API like ChangeThisFile ($0.0029/conversion at Hobby plan) is cheaper per conversion below roughly 50,000 video conversions/month, above which AWS cost advantage kicks in.
General
Bash Script: Recursive File Conversion with find, xargs, and curl
Use find to enumerate files by extension, pipe to xargs -P 8 for parallel curl POSTs to /v1/convert, and capture per-file exit codes into a results array. A single-function wrapper handles the per-file API call with retry logic and atomic output writing. xargs -P 8 runs 8 conversions concurrently — tune to your API plan's rate limit.
General
Batch Convert HEIC Photos from iCloud Export to JPG
To batch-convert an iCloud HEIC export: find all .heic/.HEIC files recursively, feed them to the ChangeThisFile API with 10 concurrent workers, and write JPGs to a mirrored output directory. A 1,000-photo export (average 4MB HEIC) finishes in under 10 minutes. No local dependencies required — no ImageMagick, no libheif, no sips.
General
Best Batch Image Converters in 2026
For desktop batch conversion without any coding, XnConvert is the best free option — it processes hundreds of images with a GUI, no CLI required. ImageMagick mogrify is the fastest CLI option for scripting. ChangeThisFile's API works well for programmatic batch conversion in any language. Sharp (Node.js) is the fastest library option. For small batches, ChangeThisFile's web tool handles them one at a time but is not optimized for hundreds of files.
General
Best File Conversion Tools for No-Code Builders in 2026
For no-code builders who need file conversion in their workflows, Zapier integrations with CloudConvert or ChangeThisFile's API via Zapier's HTTP action are the most practical options. Bubble has file conversion plugins with varying quality. Make (formerly Integromat) supports HTTP modules that work well with ChangeThisFile's simple API. For pure drag-and-drop without any workflow tool, ChangeThisFile's web interface requires zero technical setup.
General
Best Document Conversion APIs for SaaS Products in 2026
For SaaS products that need document conversion as a feature, the right API depends on your document types and scale. ChangeThisFile is the best entry point: simple API, flat pricing, and a free tier for testing. CloudConvert handles complex async pipelines. Aspose Cloud gives the highest fidelity for Office documents. Docraptor is purpose-built for HTML-to-PDF report generation. ConvertAPI is best if your team prefers SDK-first integration.
General
Best File Converter APIs for Startups in 2026
For early-stage startups, ChangeThisFile has the best deal: 1,000 free conversions/month with no credit card, one dead-simple API endpoint, and predictable flat-rate pricing that scales without surprise bills. CloudConvert is better for startups that need advanced options or complex pipelines. FreeConvert's API is thin — their web tool is their product. ConvertAPI is solid with SDK coverage but lacks a recurring free tier.
General
Best Free File Converters in 2026 (Honest List)
Most 'free' file converters have daily limits, file size caps, or require a subscription after a few conversions. The genuinely free options with no time gates: ChangeThisFile (web tool, no signup), CloudConvert (25/day via web), Zamzar (trial converts), and Convertio (5 files free before paywall). For API access specifically, ChangeThisFile has the only recurring free tier at 1,000 conversions/month with no card required.
General
Best Image Converters for Web Developers in 2026
For simple one-off or batch format conversion, ChangeThisFile's API or Sharp (Node.js library) are the most efficient options. For real-time CDN image transformation and optimization at scale, ImageKit or Cloudinary are purpose-built and worth the cost. ImageMagick is the Swiss Army knife — powerful CLI and library but slower and heavier than Sharp for Node.js work.
General
Best PDF Converter APIs for Developers in 2026
For most developers, ChangeThisFile is the best starting point: free tier (1,000 conversions/month, no card), one dead-simple POST endpoint, and 80+ PDF-related routes. For high-volume pipelines with advanced options (watermarking, page ranges, async jobs), CloudConvert or ConvertAPI pull ahead. Aspose Cloud is the right call if you need programmatic PDF manipulation beyond just format conversion.
General
Best PDF Converters for Mac in 2026
macOS Preview handles basic PDF conversion for free — export a PDF as JPG, PNG, or TIFF without installing anything. For PDF-to-Word conversion, ChangeThisFile or Smallpdf are reliable web tools that don't require a subscription. Adobe Acrobat Pro gives the best quality on complex documents but costs $19.99/month. PDF Expert is the best value macOS desktop app at $79.99/year if you regularly convert or annotate PDFs.
General
Best PDF to DOCX Converters in 2026
For standard text-based PDFs, ChangeThisFile converts to DOCX for free with no account. For complex PDFs with tables, columns, and embedded images, Adobe Acrobat Pro delivers the best fidelity. CloudConvert is a strong middle ground: better than free tools on complex documents, cheaper than Adobe, with a web tool free tier. Smallpdf is reliable for simple documents and has a cleaner web interface than CloudConvert.
General
Best Video Converters for Podcasters in 2026
For podcasters extracting audio from video recordings, ChangeThisFile handles quick MP4-to-MP3/WAV/AAC conversions in the browser or via API with no software to install. For heavy video encoding (YouTube uploads, conference recordings), HandBrake is the best free desktop app. FFmpeg is the power tool for anyone comfortable with a terminal. CloudConvert is useful when you need API-level control without installing FFmpeg.
General
Bulk Convert Files from S3: List → Convert → Put Back
To bulk-convert S3 files: stream the bucket listing with boto3 paginator, feed keys into an asyncio queue, convert each file with a POST to /v1/convert (pass the S3 presigned URL as a URL param or stream the bytes directly), and PUT the result back under a deterministic output key. At 10 concurrent workers you can sustain ~200 conversions/minute on the Hobby plan.
Image
How to Bulk Convert HEIC to JPG
To bulk convert HEIC to JPG, the fastest local method is ImageMagick: mogrify -format jpg *.heic. For a pure-Python approach with no system deps, use pyheif + Pillow. For a batch API script that runs anywhere, POST each file to https://changethisfile.com/v1/convert with target=jpg — the source format is auto-detected from the .heic extension.
General
ChangeThisFile vs Anvil: File Conversion API vs PDF Workflows Platform
Anvil is a PDF workflow platform covering PDF filling, e-signatures, document automation, and web form → PDF pipelines — it's designed for document-heavy business workflows, especially legal and HR. ChangeThisFile is a general file conversion API with 690 routes and a free tier (1,000/mo, no card). Anvil is the specialist for signed document workflows; ChangeThisFile is the generalist for format conversion at lower cost and complexity.
General
ChangeThisFile vs AnyConv: Which File Converter Should You Use?
AnyConv is a straightforward web converter covering common formats with no signup required. ChangeThisFile covers 690 routes, runs 161 conversions entirely in your browser (files never uploaded), and adds a free API tier for developers. For casual one-off conversions AnyConv works fine; for privacy-sensitive files or any programmatic use, ChangeThisFile has a clear edge.
General
ChangeThisFile vs API2PDF: General Converter vs Multi-Engine PDF API
API2PDF is a multi-engine PDF API that lets you choose between Headless Chrome, LibreOffice, and wkhtmltopdf for HTML-to-PDF and document conversion — useful when you need engine-specific rendering behavior. ChangeThisFile covers 690 conversion routes (documents, images, video, audio, archives) with a free tier (1,000/mo, no card) and no SDK. API2PDF starts at $0.00 per 500 conversions then credits-based; ChangeThisFile is flat-rate per plan starting free.
General
ChangeThisFile vs Aspose Cloud: Developer API Comparison
Aspose Cloud is a premium enterprise API suite with separate products for Words, Cells, PDF, Slides, Imaging, and more — each with its own pricing, SDK, and documentation. It's powerful and format-accurate for Microsoft Office and PDF workflows but expensive and complex to integrate. ChangeThisFile offers a single, simple REST API covering 690 routes across all file categories with a free tier of 1,000 conversions/month and no credit card. For simpler integrations and budget-conscious projects, ChangeThisFile removes 90% of the friction.
General
ChangeThisFile vs AWS Elastic Transcoder: Simple API vs AWS Video Pipeline
AWS Elastic Transcoder is a managed video transcoding service deeply integrated with the AWS ecosystem (S3, CloudFront, SNS, IAM). ChangeThisFile is a simple file conversion API with one POST endpoint — no AWS account required, no S3 buckets, no IAM roles. ChangeThisFile has a free tier (1,000/mo, no card). Elastic Transcoder is pay-per-minute with no free tier and requires AWS infrastructure to operate. Choose ChangeThisFile if you need quick video format conversion without AWS setup; choose Elastic Transcoder if you're already deep in AWS and need HLS output.
General
ChangeThisFile vs AWS MediaConvert: Simple API vs Broadcast Video Encoding
AWS MediaConvert is a file-based video transcoding service for broadcast-grade output — HLS/DASH, Dolby Vision, HDR, closed captions, and deep codec control. ChangeThisFile is a simple conversion API for developers who need to convert a video file between formats: MP4 to WebM, MOV to MP4, extract audio. One POST, file back. No AWS account required, no IAM setup, free tier with 1,000 conversions/month. For production media pipelines on AWS, MediaConvert is the right tool. For format conversion without infrastructure overhead, ChangeThisFile is dramatically simpler.
General
ChangeThisFile vs Bitmovin: Format Conversion vs Professional Video Encoding
Bitmovin is a professional video encoding platform for media companies — adaptive bitrate ladders (HLS/DASH), per-title encoding, DRM, and a video player SDK. ChangeThisFile is a file conversion API for developers who need to convert MP4 to WebM, MOV to MP4, or extract audio from video. One POST, one file back, no SDK. Free tier with 1,000 conversions/month. These tools serve different markets; use Bitmovin for broadcast/OTT encoding pipelines, use ChangeThisFile for straightforward format conversion.
General
ChangeThisFile vs Bunny.net Optimizer: File Converter vs Image CDN
Bunny.net Optimizer is an image optimization layer built into Bunny.net's CDN — it auto-compresses, resizes, and converts images on delivery. ChangeThisFile is a standalone file converter API: send a file, get a converted file back, across 690 routes covering images, video, audio, documents, ebooks, and archives. Use Bunny.net Optimizer if you already use Bunny.net CDN and want automatic image optimization; use ChangeThisFile for format conversion via a free API — call /v1/convert directly with curl or any HTTP client.
General
ChangeThisFile vs Bytescale: File Conversion API vs Upload + Processing Platform
Bytescale is a file upload and processing platform with CDN hosting, image transformations, and video processing — designed for apps that need to accept, store, and transform user uploads. ChangeThisFile is a standalone file converter: POST a file, get it back in a different format, across 690 routes including images, video, audio, documents, ebooks, and archives. Use Bytescale when your app needs managed upload infrastructure with transformation capabilities; use ChangeThisFile when you need format conversion without hosted storage, with a free API tier — call /v1/convert directly with curl or fetch.
General
ChangeThisFile vs Calibre: API vs Desktop Ebook Converter
Calibre is the definitive free ebook management and conversion application — a full library manager, format converter, and editor with support for EPUB, MOBI, AZW3, FB2, CBR, CBZ, PDF, and more. ChangeThisFile is an HTTP API powered by Calibre's ebook-convert tool under the hood, providing HTTP access to ebook conversion without installing the 200MB+ Calibre suite. For personal ebook library management or local batch conversion, Calibre is free and unmatched. For programmatic ebook conversion from a web backend, ChangeThisFile's one-POST API is simpler.
General
ChangeThisFile vs Cisdem: HTTP API vs Mac File Converter App
Cisdem Document Converter is a paid Mac desktop app for converting PDF, DOCX, and other document formats with a polished GUI and strong PDF rendering quality. ChangeThisFile is a cross-platform HTTP API for file conversion covering documents, images, video, audio, ebooks, and archives. Cisdem is the better choice for Mac users who need high-fidelity PDF conversion and want a native app. ChangeThisFile wins for developers, cross-platform teams, or anyone who needs conversion via HTTP from code.
General
ChangeThisFile vs CloudConvert: Which File Converter Is Right for You?
ChangeThisFile offers 690 conversion routes with a genuinely free tier (1,000 API calls/month, no card) and client-side conversions for images, data, and font files that never leave your browser. CloudConvert is a mature, developer-focused API with 200+ formats billed per conversion minute — there is no free tier. Choose ChangeThisFile for budget-conscious projects and privacy-first browser conversions; choose CloudConvert if you need advanced format customization options or very high-volume pipeline work.
General
ChangeThisFile vs Cloudinary: File Conversion vs Media Platform
Cloudinary is a full-stack media platform — image/video CDN, real-time URL transformations, AI-powered media intelligence, and media asset management. ChangeThisFile is a focused file conversion API: 690 routes, free 1,000/mo tier, one POST endpoint with no SDK required. If you're building media delivery for end users, Cloudinary is a category leader. If you need file format conversion in a backend pipeline — especially with privacy-sensitive files or multi-category formats — ChangeThisFile is simpler, cheaper, and needs zero library dependencies.
General
ChangeThisFile vs Coconut: Video Encoding API Compared
Coconut is a dedicated video encoding API with webhook callbacks, cloud storage integration, and HLS output. ChangeThisFile is a general file conversion API — one POST to convert MP4 to WebM, MOV to MP4, extract audio, and more. ChangeThisFile has a free tier (1,000/mo, no card) and is simpler to integrate for straightforward conversions. Coconut wins for async pipelines with cloud storage I/O. If you need to convert video files without setting up webhooks and storage buckets, ChangeThisFile is faster to get running.
General
ChangeThisFile vs ConvertAPI: Which Conversion API Should You Use?
ChangeThisFile offers 690 conversion routes, a free tier of 1,000 API calls/month with no credit card, and a single POST endpoint with no SDK — curl and requests work directly. ConvertAPI is a well-established conversion platform with strong PDF and document capabilities, but no free API tier and a client library ecosystem that adds maintenance overhead. Choose ChangeThisFile for budget-conscious or dependency-free integrations; choose ConvertAPI if you need its specific document pipeline features.
General
ChangeThisFile vs Converter.io: Which File Converter Is Right for You?
Converter.io is a clean web converter with a focus on common image, document, and data conversions — notably with some client-side processing for certain formats. ChangeThisFile covers 690 routes, runs 161 client-side, and adds a developer API with a free tier. Both are solid free web tools; ChangeThisFile has broader format coverage and the API advantage for developers.
General
ChangeThisFile vs Convertio: Honest Comparison
Convertio supports 300+ formats with a 100MB free file size limit and $9.99/mo for higher limits, but runs everything server-side and requires an account for the API. ChangeThisFile offers 690 routes, a free API tier with 1,000 conversions/month (no card), and 161 routes that convert entirely in your browser — files never upload. For common formats without account friction, ChangeThisFile is the simpler choice.
General
ChangeThisFile vs CoolUtils Online: Which Converter Wins?
CoolUtils offers both online conversion tools and paid desktop applications, with a focus on document and image formats. ChangeThisFile covers 690 routes with 161 running client-side for privacy, offers a free developer API, and handles video, audio, ebooks, and archives that CoolUtils online doesn't. For general web conversion or developer use, ChangeThisFile has a clear advantage. CoolUtils desktop apps may suit users who want installed software.
General
ChangeThisFile vs Creatomate: File Conversion vs Video Automation API
Creatomate is a video and image automation API for generating content from templates — social media videos, personalized clips, batch creatives. ChangeThisFile is a file conversion API for converting between formats — MP4 to WebM, MOV to MP4, extracting audio from video. They solve different problems. Use Creatomate when you need to generate video content at scale from templates. Use ChangeThisFile when you need to convert a file from one format to another. ChangeThisFile has a free tier (1,000/mo, no card) and requires no SDK.
General
ChangeThisFile vs DocRaptor: Which PDF API Is Right for You?
DocRaptor is an HTML-to-PDF API powered by Prince XML — it produces high-quality paginated PDFs from HTML/CSS, with proper page breaks, headers/footers, and CSS Paged Media support. ChangeThisFile is a general file conversion API covering 690 routes (documents, images, video, audio, archives) with a free tier (1,000/mo, no card) and a single POST endpoint. Choose DocRaptor when you need print-quality HTML→PDF rendering. Choose ChangeThisFile for broader conversion needs, a free tier, or avoiding a proprietary client library.
General
ChangeThisFile vs DocsHive: File Conversion vs Document Workflow
DocsHive is a document workflow platform focused on e-signatures, template management, and document automation. ChangeThisFile is a file conversion API covering 690 routes — documents, images, video, audio, ebooks, archives, and fonts — with a free 1,000/mo tier and a single POST endpoint. These products serve different purposes: DocsHive for document lifecycle management, ChangeThisFile for format conversion. If you specifically need file format conversion, ChangeThisFile is the right tool.
General
ChangeThisFile vs Documentlayer: Document Conversion APIs Compared
Documentlayer is a document conversion API focused on Office formats, HTML, and PDF. ChangeThisFile covers 690 conversion routes across documents, images, video, audio, ebooks, archives, and fonts with a free 1,000/mo tier and no client library to install. For standard document conversion without a vendor library dependency, ChangeThisFile is a strong alternative with a broader format surface and lower entry cost.
General
ChangeThisFile vs FFmpeg CLI: HTTP API vs the Gold Standard Video Tool
FFmpeg CLI is the gold standard for local video and audio processing — free, infinitely configurable, handles virtually any media format, and runs everywhere. ChangeThisFile is an HTTP API powered by FFmpeg under the hood, designed for cases where you want conversion via a simple HTTP call rather than managing a local FFmpeg install. For media-heavy pipelines on servers you control, FFmpeg CLI directly is more powerful and free. For web backends, multi-tenant SaaS, or teams that don't want to maintain FFmpeg across environments, ChangeThisFile's one-POST API abstracts the complexity.
General
ChangeThisFile vs FileConvertPro: Honest Comparison
FileConvertPro is a general-purpose web converter targeting users who want quick file conversions without much complexity. ChangeThisFile covers 690 routes with client-side processing for privacy-sensitive formats and a developer REST API with a genuinely free tier — neither of which FileConvertPro offers. For most conversion needs, ChangeThisFile is the stronger pick.
General
ChangeThisFile vs Filestack: File Conversion API Compared
ChangeThisFile is a focused file conversion API: 690 routes, free 1,000/mo tier, single POST endpoint with no SDK required. Filestack is a broader file infrastructure platform — upload widgets, CDN delivery, transformations, and workflow automation — with file conversion as one component. If you need conversion only, ChangeThisFile is simpler and cheaper. If you need upload UX, CDN hosting, and transformations in one platform, Filestack is worth evaluating.
General
ChangeThisFile vs Format Factory: API vs Windows Desktop Converter
Format Factory is a free Windows desktop converter supporting video, audio, image, and document formats with a GUI for manual batch conversions. ChangeThisFile is a cross-platform HTTP API covering the same file types, designed for programmatic access from code. For Windows users converting files manually, Format Factory is free and requires no internet. For developers or teams needing file conversion in an application or automated pipeline, ChangeThisFile's one-POST API is the right fit.
General
ChangeThisFile vs Foxit Online Tools: File Converter vs PDF Suite
Foxit is a well-known PDF platform with readers, editors, and enterprise tools — its online tools are a small part of a larger product family. ChangeThisFile is a purpose-built free converter covering 690 routes, client-side processing for privacy, and a developer API. For PDF editing and enterprise PDF workflows, Foxit is a serious platform. For free general file conversion or API access, ChangeThisFile is the simpler choice.
General
ChangeThisFile vs FreeConvert: Side-by-Side Comparison
FreeConvert is a browser-based converter with a heavy ad presence — its free tier is functional but interrupted by ads and limited conversion counts per day. ChangeThisFile has no ads, no daily conversion limits on the browser tool, 161 client-side routes (files never upload), and a free API tier with 1,000 conversions/month and no credit card. For a cleaner, faster, and more private experience, ChangeThisFile wins on the browser tool. FreeConvert's paid tier removes ads and increases limits if you prefer their interface.
General
ChangeThisFile vs GIMP Batch Mode: HTTP API vs Script-Fu Image Processing
GIMP batch mode (via Script-Fu or Python-Fu) is a free, powerful option for automated image conversion and manipulation on a server — but it's notoriously awkward to set up, requires a full GIMP install (~200MB+), and the scripting syntax is esoteric. ChangeThisFile is an HTTP API with 161 client-side image routes that convert in the browser without uploading, and server-side routes for more complex formats. For image manipulation pipelines with complex transforms, GIMP batch is more capable. For straightforward format conversion via HTTP or in a browser, ChangeThisFile is dramatically simpler.
General
ChangeThisFile vs HandBrake: API vs Desktop Video Converter
HandBrake is a free, open-source desktop video transcoder — excellent for one-off local conversions with fine-grained quality controls. ChangeThisFile is an HTTP API powered by the same FFmpeg engine HandBrake uses, designed for programmatic access from backends and automated pipelines. If you're converting videos manually on your own machine, HandBrake is free and unbeatable. If you need video conversion in a web app, script, or multi-tenant service, ChangeThisFile's one-POST API eliminates the need to install and maintain FFmpeg on every server.
General
ChangeThisFile vs HTML/CSS to Image: File Converter vs Screenshot API
HTML/CSS to Image (HCTI) is a screenshot API — it renders HTML/CSS templates to PNG, JPG, or WebP images using a headless browser. It's purpose-built for social cards, dynamic images, and template-based image generation. ChangeThisFile is a file conversion API covering 690 routes (documents, images, video, audio, archives) with a free tier (1,000/mo, no card) and no SDK required. Choose HCTI when you need to render HTML templates to images; choose ChangeThisFile for converting existing files between formats.
General
ChangeThisFile vs ILoveIMG and ILovePDF: Which Is Better?
ILoveIMG and ILovePDF (both from the same company, ilovepdf.com) are specialized tools focused on image manipulation and PDF operations respectively — compress, crop, resize, merge, split, watermark. They're excellent for those specific tasks. ChangeThisFile is a broader file format converter covering 690 routes across 9 categories (image, document, video, audio, ebook, archive, data, font, spreadsheet). If you need PDF merging or image bulk-resize, ILovePDF/ILoveIMG are hard to beat. For format conversion across categories, ChangeThisFile covers more ground.
General
ChangeThisFile vs ImageKit: Image Conversion API Compared
ImageKit is an image CDN and optimization platform — real-time transformations (resize, crop, watermark, compress) via URL parameters, persistent CDN delivery, and a media management dashboard. ChangeThisFile is a file conversion API with 690 routes including images, documents, video, audio, ebooks, archives, and fonts. For one-off or programmatic format conversion without CDN hosting, ChangeThisFile is simpler and has a free tier. For a persistent image CDN with real-time transformations, ImageKit is purpose-built.
General
ChangeThisFile vs ImageMagick: API vs CLI/Library Image Processor
ImageMagick is a free, open-source CLI and library supporting 200+ image formats with extensive transformation capabilities — resizing, compositing, annotating, color correction, and more. ChangeThisFile is an HTTP API for file conversion with client-side image routes that run entirely in the browser. For image manipulation pipelines on a server you control, ImageMagick is more powerful and free. For web backends where you don't want to install and maintain ImageMagick on every server, or for browser-side image conversion, ChangeThisFile's one-POST API is simpler to maintain.
General
ChangeThisFile vs ImageResizer.io: Image API vs Full File Converter
ImageResizer.io is a URL-based image processing API — you pass image URLs as parameters and get back resized, cropped, or format-converted images. ChangeThisFile is a file upload converter: POST a file, specify a target format, get the converted file back. ChangeThisFile wins on breadth (690 routes, not just images) and pricing (free 1K/mo, no card). ImageResizer.io wins for URL-based image workflows where you don't want to handle file uploads.
General
ChangeThisFile vs ImageShack: File Converter vs Image Hosting
ImageShack is an image hosting service with basic resize and format transforms — designed for storing and sharing images online. ChangeThisFile is a file format converter API: 690 routes, no hosting component, free 1K/month with no card, and no SDK required. These tools serve different purposes. Use ImageShack if you need image hosting and sharing; use ChangeThisFile if you need to convert files between formats programmatically.
General
ChangeThisFile vs imgix: Which Should You Use?
imgix is an image transformation CDN built for serving resized, cropped, and optimized images at the edge — it excels at real-time URL-parameter transforms on images you already host. ChangeThisFile is a file converter: one POST converts a file from any format to another across images, video, audio, documents, ebooks, and archives. They solve different problems. Use imgix when you need dynamic image serving at scale; use ChangeThisFile when you need to convert files between formats, with a free API tier and no SDK required.
General
ChangeThisFile vs Kraken.io: File Converter vs Image Optimizer
Kraken.io is a strong image optimization API — it compresses and converts common image formats with good performance and a clean API. ChangeThisFile is a broader file converter: 690 routes across images, video, audio, documents, ebooks, and archives, with a free API tier requiring no card and no SDK to install. Both have developer-friendly REST APIs. Choose Kraken.io for high-volume image optimization with lossless/lossy control; choose ChangeThisFile when you need format conversion beyond images or a free tier without a card.
General
ChangeThisFile vs LibreOffice Headless CLI: API vs Document Conversion CLI
LibreOffice headless CLI is a free, powerful document converter for DOCX, XLSX, PPTX, ODT, ODS, ODP, PDF, and many other Office formats — run on any Linux server by spawning a process. ChangeThisFile is an HTTP API powered by LibreOffice headless under the hood, adding an HTTP interface, per-key rate limiting, and multi-tenant safety on top. For servers where you control LibreOffice, the CLI is free and direct. For web backends where managing LibreOffice headless (concurrent access, display dependencies, temp file cleanup) adds maintenance burden, ChangeThisFile's one-POST API handles the complexity.
General
ChangeThisFile vs Mux: Video Infrastructure vs File Conversion
Mux is a video infrastructure platform built for streaming — HLS/DASH adaptive bitrate, DRM, player SDKs, and real-time analytics. ChangeThisFile is a file conversion API: one POST to convert MP4 to WebM, MOV to MP4, MP4 to MP3, etc. They solve different problems. If you need to stream video to end users at scale, use Mux. If you need to convert a video file from one format to another, ChangeThisFile is simpler and cheaper with a free tier.
General
ChangeThisFile vs Nitro PDF: Free Converter vs PDF Productivity Suite
Nitro PDF is an enterprise PDF productivity platform — editing, signing, collaboration, and analytics — with online conversion tools as a secondary feature. ChangeThisFile is a free general-purpose file converter with 690 routes, client-side processing for privacy, and a developer API. If you need PDF editing and enterprise document workflows, Nitro is a strong option. For free conversion across any file type or developer integration, ChangeThisFile is the better fit.
General
ChangeThisFile vs OnlineConvertFree: Which Should You Choose?
OnlineConvertFree is a broad web converter with a wide format catalog but heavy ads and file size caps on the free tier. ChangeThisFile has 690 conversion routes, runs common image/data/font conversions entirely client-side (no upload), and offers a developer API with 1,000 free calls/month. For ad-free conversions, client-side privacy, or developer use, ChangeThisFile is the better pick.
General
ChangeThisFile vs Online-Convert: Which Should You Use?
Online-Convert.com is a long-running converter with broad format support including specialized options like device-specific presets (kindle, iPhone, etc.) and per-format settings. Its free tier is ad-heavy with file size and daily limits. ChangeThisFile offers 690 routes, no ads, no daily limits, 161 browser-side routes where files never upload, and a free API tier with 1,000 conversions/month and no credit card required.
General
ChangeThisFile vs Pandoc: HTTP API vs Universal Document Converter CLI
Pandoc is the definitive open-source document and markup converter — free, runs everywhere, and handles conversions between dozens of formats including Markdown, HTML, LaTeX, DOCX, EPUB, RST, and more, with extensive templating and filter support. ChangeThisFile is an HTTP API that uses Pandoc (among other engines) under the hood for document conversion. For local or scripted document conversion on a machine you control, Pandoc CLI is free and more powerful. For HTTP access to document conversion from a web backend — without installing Pandoc across environments — ChangeThisFile's one-POST API is simpler.
General
ChangeThisFile vs PDF24 Tools: Which Converter Fits Your Workflow?
PDF24 is a polished PDF-centric toolbox — merge, compress, convert, sign, and more — available free online and as a Windows desktop app. ChangeThisFile is a general-purpose converter covering 690 routes including PDF, images, video, audio, archives, and ebooks, with client-side processing for privacy and a developer API. If your work is predominantly PDF manipulation, PDF24 is excellent; for anything beyond PDFs or for developer integration, ChangeThisFile covers more ground.
General
ChangeThisFile vs PDF2Go: Which Online Converter Is Better?
PDF2Go is a free web tool focused primarily on PDF conversions — converting to and from PDF, plus PDF editing utilities. ChangeThisFile covers 690 routes including everything PDF2Go does plus video, audio, ebooks, archives, and fonts, runs 161 routes client-side for privacy, and offers a developer API starting free. For PDF-heavy work, PDF2Go is decent; for broader coverage, privacy, or developer use, ChangeThisFile wins.
General
ChangeThisFile vs Pdfcrowd: Which Should You Use?
Pdfcrowd is a specialized HTML-to-PDF and PDF-to-HTML/image conversion API with deep rendering configuration options. ChangeThisFile covers 690 routes across all major file categories — documents, images, video, audio, ebooks, archives, and fonts — with a free tier, no SDK required, and 161 client-side routes that never upload your files. If your entire use case is HTML-to-PDF rendering, Pdfcrowd has feature depth. For everything else, ChangeThisFile is broader, cheaper, and simpler to integrate.
General
ChangeThisFile vs PDF Generator API: File Conversion vs Template-Based PDF Generation
PDF Generator API is a template-based PDF creation service — it provides a visual drag-and-drop template editor for invoices, contracts, and reports, then generates PDFs by merging templates with data via API. ChangeThisFile is a file conversion API covering 690 routes (documents, images, video, audio, archives) with a free tier (1,000/mo, no card) and no SDK. PDF Generator API is the right choice when you're building data-merge PDF workflows; ChangeThisFile wins for converting existing files at lower cost.
General
ChangeThisFile vs pdfmake: File Conversion API vs JavaScript PDF Generation Library
pdfmake is a free open-source JavaScript library for generating PDFs from a document definition object — tables, lists, images, columns, all defined in JSON-like syntax. It runs client-side in browsers or server-side in Node.js with no external API calls. ChangeThisFile is a managed file conversion API with 690 routes, a free tier (1,000/mo, no card), and no SDK. pdfmake is the right choice when you're programmatically building PDFs from scratch in JavaScript. ChangeThisFile is the right choice when you're converting existing files to PDF or other formats.
General
ChangeThisFile vs Pdfmonkey: PDF Generation vs File Conversion
Pdfmonkey is a template-based PDF generation API — you define Handlebars/Liquid templates and push data to generate PDFs. ChangeThisFile converts existing files between formats: DOCX to PDF, MP4 to MP3, HEIC to JPG, and 687 other routes. They solve different problems. If you need to generate PDFs from data and templates, Pdfmonkey is purpose-built. If you need to convert files between formats, ChangeThisFile is the right tool — with a free tier and no SDK to install.
General
ChangeThisFile vs PDFShift: HTML-to-PDF vs General File Conversion
PDFShift is a dedicated HTML-to-PDF API using headless Chrome for high-fidelity rendering — custom headers, footers, page numbers, and CSS support. ChangeThisFile covers 690 routes across documents, images, video, audio, ebooks, archives, and fonts with a free 1,000/mo API tier and a single POST endpoint that needs no SDK. If you need HTML-to-PDF rendering with pixel-level control, PDFShift is purpose-built. For everything else — or for a free tier to start with — ChangeThisFile is the better fit.
General
ChangeThisFile vs Photon: WordPress Image CDN vs File Converter API
Photon is Jetpack's WordPress image CDN — it automatically serves your WordPress media files from Automattic's CDN with optional URL-parameter transforms. ChangeThisFile is a general-purpose file conversion API: 690 routes, no WordPress dependency, free 1K/month with no card, and no SDK to install. Use Photon if you're on WordPress and want automatic image CDN; use ChangeThisFile if you need to convert files programmatically outside of WordPress.
General
ChangeThisFile vs Prince XML: File Conversion API vs Professional HTML-to-PDF Engine
Prince XML is the gold standard for HTML-to-PDF typesetting — it produces publication-quality PDFs from HTML/CSS with proper CSS Paged Media support, perfect hyphenation, ligatures, and complex layouts. It's licensed per server for commercial use (starting ~$500+). ChangeThisFile is a general file conversion API with 690 routes and a free tier (1,000/mo, no card) — it converts existing files between formats via a single POST endpoint. Prince is the specialist; ChangeThisFile is the generalist. They rarely compete.
General
ChangeThisFile vs PSPDFKit: File Conversion API vs PDF SDK Platform
PSPDFKit is a comprehensive PDF SDK platform with deep document viewer, annotation, and editing capabilities across iOS, Android, and web — it's priced accordingly (enterprise contracts). ChangeThisFile is a file conversion API with a free tier (1,000 calls/month, no card) covering 690 routes including PDF. If you need an embeddable PDF viewer with annotation tools, PSPDFKit is the specialist. If you need to convert files programmatically without installing a proprietary SDK, ChangeThisFile wins on simplicity and cost.
General
ChangeThisFile vs Rendertron: File Conversion API vs Headless Rendering Service
Rendertron is an open-source headless Chrome rendering service from Google — it renders JavaScript-heavy pages to static HTML (for SEO/bots) or screenshots. It's self-hosted and free. ChangeThisFile is a file conversion API with 690 routes, a free managed tier (1,000/mo, no card), and no SDK. These tools have minimal overlap: Rendertron renders web pages to HTML/screenshots; ChangeThisFile converts existing files between formats.
General
ChangeThisFile vs Rev.ai: File Format Prep for Audio Transcription
Rev.ai is an AI audio transcription API — it converts speech to text from audio and video files. ChangeThisFile is a file format converter — it converts files between formats, including extracting MP3/WAV/M4A audio from video files or converting audio to formats Rev.ai accepts. These tools solve different parts of a transcription workflow. Use ChangeThisFile to normalize or extract audio before sending to Rev.ai. ChangeThisFile has a free tier (1,000/mo, no card) and requires no SDK.
General
ChangeThisFile vs ShortPixel: File Converter vs Image Optimization API
ShortPixel is a well-regarded image optimization API and WordPress plugin — it excels at lossy, glossy, and lossless compression of images with AVIF and WebP delivery. ChangeThisFile is a broader file converter: 690 routes across images, video, audio, documents, ebooks, and archives, with a free API tier requiring no card and no SDK to install. Use ShortPixel for high-quality image compression, especially for WordPress; use ChangeThisFile for format conversion, non-image types, or a no-card API.
General
ChangeThisFile vs Shotstack: File Conversion vs Video Editing API
Shotstack is a video editing API — you define a timeline with clips, text overlays, transitions, and audio tracks, and it renders a composed video. ChangeThisFile is a file conversion API — you have an existing video file and need it in a different format. These are fundamentally different operations. Use Shotstack to programmatically create or edit videos; use ChangeThisFile to convert a file from MP4 to WebM, MOV to MP4, or extract an audio track. ChangeThisFile has a free tier (1,000/mo, no card) and a single POST endpoint.
General
ChangeThisFile vs SmallPDF: Which Should You Use?
SmallPDF is a PDF-focused productivity suite — compress, merge, split, edit, sign, convert to/from PDF with a polished UI. It handles PDFs exceptionally well but is largely limited to PDF workflows. ChangeThisFile covers 690 conversion routes across 9 format categories including image, video, audio, ebook, archive, data, and font — with 161 browser-side routes that never upload files. For anything outside PDF workflows, ChangeThisFile is the broader tool. For PDF-centric teams needing editing, signing, and compression, SmallPDF is purpose-built.
General
ChangeThisFile vs SodaPDF: Free Converter vs PDF Suite
SodaPDF is a premium PDF suite with desktop apps, cloud storage, e-signatures, and team collaboration — priced accordingly at $9–$19+/mo per seat. ChangeThisFile is a free general-purpose file converter with 690 routes, client-side privacy for common formats, and a developer API starting free. If you need a full PDF productivity suite, SodaPDF has features ChangeThisFile doesn't. If you need file conversion without a subscription, ChangeThisFile is free.
General
ChangeThisFile vs TinyPNG: Which Is Right for Your Images?
TinyPNG is excellent at what it does: lossy compression of PNG and JPG images with minimal visual quality loss. It's one of the best image compressors available. ChangeThisFile doesn't compress — it converts between formats. These tools are complementary, not competing: use TinyPNG to shrink images, use ChangeThisFile to change their format or to handle video, audio, documents, ebooks, and archives. Both have free tiers; ChangeThisFile's free API requires no card.
General
ChangeThisFile vs Transloadit: File Conversion vs File Processing Pipelines
Transloadit is a file processing pipeline service — upload files once, apply a chain of steps (resize, convert, watermark, transcode), store outputs to S3/GCS, notify via webhook. ChangeThisFile is a simple file conversion API: one POST, one file back. Transloadit wins for complex multi-step pipelines; ChangeThisFile wins for simple conversions without infrastructure overhead. ChangeThisFile has a free tier (1,000/mo, no card); Transloadit's free tier is limited and card-required for many plans.
General
ChangeThisFile vs Uploadcare: Which File Tool Is Right for You?
Uploadcare is a file upload widget + CDN platform with image transformation capabilities — it's designed to handle user file uploads in web apps and serve those files at the edge. ChangeThisFile is a file format converter: one POST converts any file to another format across images, video, audio, documents, ebooks, and archives. Use Uploadcare when you need a managed upload-and-serve pipeline; use ChangeThisFile when you need format conversion with a genuinely free API tier — call /v1/convert directly with curl or any HTTP client.
General
ChangeThisFile vs UploadThing: File Conversion vs File Uploading
UploadThing is a file upload infrastructure tool for web apps — it handles the upload flow, storage, and CDN delivery with a developer-friendly API designed for Next.js and TypeScript projects. ChangeThisFile converts files between formats: 690 routes across documents, images, video, audio, ebooks, archives, and fonts, with a free 1,000/mo tier and no SDK required. These are complementary tools — UploadThing for upload infrastructure, ChangeThisFile for converting the uploaded file into the format you actually need.
General
ChangeThisFile vs WeasyPrint: Managed API vs Open-Source HTML-to-PDF
WeasyPrint is a free open-source Python library for HTML/CSS-to-PDF — it supports CSS Paged Media and produces clean paginated output, and runs entirely on your own infrastructure. ChangeThisFile is a managed file conversion API with 690 routes, a free tier (1,000/mo, no card), and no SDK required. WeasyPrint is a good choice for Python teams that want self-hosted HTML→PDF without commercial licensing. ChangeThisFile covers broader format needs with zero infrastructure overhead.
General
ChangeThisFile vs XnConvert: API vs Desktop Image Batch Converter
XnConvert is a free, cross-platform desktop app for batch image conversion and processing with a rich set of image filters and transformations. ChangeThisFile is an HTTP API for image (and other file type) conversion, designed for programmatic use from backends and scripts. For photographers or designers doing batch local image work, XnConvert is free and powerful. For developers integrating image conversion into a web app or API pipeline, ChangeThisFile's one-POST endpoint — with 161 client-side routes that never upload files — is the better fit.
General
ChangeThisFile vs Zamzar: Which File Converter Wins?
Zamzar has been running since 2006 and claims 1,200+ format supports — a genuinely broad catalog, including many legacy formats. Its free tier delivers results via email with a deliberate delay. ChangeThisFile converts instantly (no email, no delay), offers 161 in-browser routes where files never upload, and has a free API tier with 1,000 conversions/month and no credit card. For modern workflows, ChangeThisFile is faster and more private. Zamzar's edge is in obscure legacy format support.
General
ChangeThisFile vs Zencoder: Simple Conversion vs Brightcove Video Encoding
Zencoder is Brightcove's cloud video encoding service — async job-based API, HLS/DASH output, S3/GCS integration, and advanced encoding settings. ChangeThisFile is a simpler file conversion API: one POST, file back, 690 routes covering video, audio, images, documents, and more. Zencoder is designed for broadcast/media workflows; ChangeThisFile is for developers who need a quick format conversion without setting up async job pipelines. ChangeThisFile has a free tier (1,000/mo, no card); Zencoder is pay-per-minute with no free tier.
General
Cheapest PDF Conversion API: 2026 Honest Ranking Including Free Tiers
For PDF conversion at under 1,000/month: ChangeThisFile's free tier (no card, 1K/mo) is the cheapest option. For 1,000–10,000/month: ChangeThisFile Hobby at $29 flat beats most competitors. For high volume (50K+): ChangeThisFile Startup at $99 or self-hosted LibreOffice/Ghostscript. For HTML-to-PDF with pixel-perfect CSS: DocRaptor ($15–$99) or wkhtmltopdf self-hosted. For document manipulation + conversion: Aspose.Cloud ($50–$150). No single provider is cheapest for all use cases.
General
CloudConvert Pricing Explained: The Conversion-Minute Model and What It Actually Costs
CloudConvert bills per conversion-minute — the wall-clock time each job runs on their servers, with a 1-minute minimum per job. As of April 2026, the pay-as-you-go rate is approximately $0.0048 per conversion-minute. There is no free API tier. For teams doing 10,000 conversions/month at 30s average duration, that's roughly $24/month — but image-heavy workflows cost more because fast conversions still bill as 1 full minute each.
Document
How to Compress a PDF Without Losing Quality
To compress a PDF without quality loss, use Ghostscript with the /ebook preset (gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook). For a 10MB scan-heavy PDF, this typically yields 2-4MB with no visible degradation. For lossless structural compression only, PyMuPDF's doc.save(path, garbage=4, deflate=True) removes unused objects without resampling images at all.
General
Conversion Pipeline Error Recovery: Handling the 5% That Fail
In a 1,000-file batch, expect 2-5% failures from corrupted files, unsupported variants, or transient errors. Classify errors into retryable (5xx, 429, timeout) vs permanent (4xx). Quarantine permanent failures to a separate queue for human review. Retryable failures should be retried with exponential backoff — but no more than 3 times. A well-designed pipeline completes 98-99% of files unattended.
General
Convert 1,000 PDFs to Images: Throughput Math and Batching Strategies
Converting 1,000 PDFs to images: at 10 concurrent workers and ~2s per PDF, a 1K batch completes in ~3.5 minutes. Multi-page PDFs each count as one conversion but return a ZIP of images. Use the async /v1/jobs endpoint for PDFs over 20MB or 50+ pages to avoid sync timeout errors.
Data
How to Convert CSV to JSON in Elixir
To convert CSV to JSON in Elixir, NimbleCSV + Jason is the standard approach: parse headers with NimbleCSV.RFC4180.parse_string, zip each row with headers to build a map, then encode with Jason.encode!. For large files, NimbleCSV's streaming parser handles gigabyte CSVs without loading them into memory. For a no-dependency path, POST to the ChangeThisFile API via Req.
Data
How to Convert CSV to JSON in Ruby
To convert CSV to JSON in Ruby, the standard library CSV class handles most cases: CSV.read('file.csv', headers: true) returns a table you convert to an array of hashes, then JSON.generate. The smarter_csv gem adds automatic type coercion and streaming. For environments where you'd rather skip the parsing logic, the ChangeThisFile API does it server-side — POST the file with target=json using Net::HTTP.
Data
How to Convert CSV to JSON in Rust
To convert CSV to JSON in Rust, the csv crate with serde_json is the idiomatic approach: deserialize each row into a HashMap<String, Value> for dynamic data, or into a typed struct for known schemas. For large files, stream records one at a time instead of loading everything into memory. For one-off conversions without any dependencies, the ChangeThisFile API handles it via reqwest.
General
How to Convert CSV to XLSX in C# / .NET
To convert CSV to XLSX in C#, ClosedXML is the easiest API — load a DataTable from the CSV, write it to a workbook with one method call. EPPlus is faster for large files (100K+ rows) and has a richer formatting API. For CSVs you don't want to parse yourself, POST to the ChangeThisFile API with HttpClient.
General
How to Convert CSV to XLSX in Java
To convert CSV to XLSX in Java, use Apache POI: read the CSV line by line with BufferedReader, create an XSSFWorkbook, write each row with sheet.createRow() and cell.setCellValue(). For large CSVs (100k+ rows), use SXSSFWorkbook for streaming output with a bounded row window. For zero dependencies, the ChangeThisFile API handles it via a multipart POST from Java 11's HttpClient.
General
How to Convert CSV to XLSX in JavaScript
To convert CSV to XLSX in JavaScript (Node.js), xlsx-populate gives the cleanest API for writing formatted workbooks — parse your CSV rows and write them cell by cell with full style control. SheetJS (xlsx) is the most popular library and handles the CSV→XLSX pipeline in a few lines via XLSX.read() and XLSX.writeFile(). For zero-dependency environments, POST to the ChangeThisFile API using Node's built-in fetch — pass target=xlsx, source is auto-detected from the filename.
General
How to Convert CSV to XLSX in PHP
To convert CSV to XLSX in PHP, PhpSpreadsheet is the standard library: load with Csv reader, save with Xlsx writer. It handles encoding detection, custom delimiters, and column type inference. For environments without composer, the ChangeThisFile API accepts a CSV file and returns an XLSX — POST with target=xlsx using curl or Guzzle, no SDK to install.
General
How to Convert CSV to XLSX in Python
To convert CSV to XLSX in Python, openpyxl is the lightest option — read the CSV with the csv module and write rows directly into a Workbook. pandas is one line (df.to_excel('out.xlsx', index=False)) but pulls in NumPy and is overkill for simple conversions. For CSVs you want converted without any local library, POST to the ChangeThisFile API with requests — pass target=xlsx, source is auto-detected from the filename.
Document
How to Convert DOCX to PDF in C# / .NET
To convert DOCX to PDF in C#, Spire.Doc Free works on any OS without Word installed and handles most documents up to 3 pages (free tier limit). Microsoft.Office.Interop is the highest-fidelity option but requires Word on Windows. For cross-platform production use without Office, the ChangeThisFile API converts via LibreOffice server-side — POST with HttpClient, no SDK package.
Document
How to Convert DOCX to PDF in Java
To convert DOCX to PDF in Java, the most self-contained option is Apache POI with the XDocReport or docx4j PDF export — but fidelity is imperfect for complex layouts. LibreOffice headless via Runtime.exec() produces near-perfect output and is free. For zero local dependencies, the ChangeThisFile API accepts a multipart POST from Java 11's HttpClient and runs LibreOffice server-side.
Document
How to Convert DOCX to PDF in Kotlin
To convert DOCX to PDF in Kotlin, the two main paths are Apache POI (parses the DOCX) combined with iText or DocxToPdf for PDF rendering, or a LibreOffice CLI call via ProcessBuilder for layout-perfect output. For the most reliable rendering of complex documents without managing JVM PDF libraries, POST to the ChangeThisFile API at /v1/convert with target=pdf.
Document
How to Convert DOCX to PDF in PHP
The most reliable way to convert DOCX to PDF in PHP is LibreOffice headless via shell_exec: soffice --headless --convert-to pdf file.docx. It preserves fonts, tables, and images better than any pure-PHP library. PhpWord can write PDF via Dompdf/TCPDF but rendering fidelity is lower. For environments where LibreOffice isn't installed, the ChangeThisFile API runs LibreOffice server-side — POST the file with target=pdf using Guzzle or curl.
Document
How to Convert DOCX to PDF in Ruby
The most reliable way to convert DOCX to PDF in Ruby is LibreOffice headless via system() or Open3: soffice --headless --convert-to pdf file.docx. It handles fonts, tables, and images better than any pure-Ruby library. For environments where LibreOffice isn't installed, the ChangeThisFile API runs LibreOffice server-side — POST the file with target=pdf using Net::HTTP or Faraday, no gem needed.
Image
Convert Files for Google Merchant Center
Google Merchant Center product images must be at least 100×100 px (non-apparel) or 250×250 px (apparel), with 800×800 px strongly recommended for Shopping ads quality. Accepted formats are JPEG, PNG, and WebP. No watermarks, promotional overlays, or placeholder images — Google will disapprove listings. Product videos should be MP4 or MOV, H.264, under 5GB.
Image
Convert Files for Substack Newsletter
Substack accepts JPEG, PNG, GIF, and WebP images up to 20MB. For post images, 1200×630 px is the optimal size for social sharing and email rendering. Substack hosts MP3 audio up to 500MB for podcast posts and MP4 video directly up to 5GB. The most common issue is images that look fine in the editor but render blurry or cropped in email clients — Substack auto-resizes to a 700px content width.
General
Convert Files After rsync: Post-Transfer Hook to ChangeThisFile API
rsync has no native post-transfer hook, but a wrapper script approach works cleanly: run rsync with --itemize-changes, parse new/updated files from the output, POST each to the ChangeThisFile API via curl, then rsync the converted results back to the destination. Wrap the whole chain in a bash script and call it instead of rsync directly.
Document
How to Convert Files from Zapier
To convert files from Zapier, use the Webhooks by Zapier action (HTTP POST) with the ChangeThisFile API. Set the URL to https://changethisfile.com/v1/convert, add your Authorization header, attach the file as a form-data field, and set target to your output format. No dedicated Zapier app needed — the HTTP Request action is available on all Zapier plans.
Document
How to Convert Files in AWS Lambda
To convert files in AWS Lambda without FFmpeg or LibreOffice Lambda Layers, call the ChangeThisFile API from your Lambda function. Download the source file from S3, POST it to https://changethisfile.com/v1/convert with target format, and upload the result back to S3. Total function size stays under 5MB (just requests library) vs 50-250MB for native tool layers.
General
Convert Files via Makefile: Build Pipeline Integration
Use Make pattern rules to declare that every .webp file depends on its corresponding .png source. Make's dependency tracking ensures conversions only run when the source file is newer than the output. Parallel execution with make -j8 runs 8 conversions simultaneously. A clean target removes all generated outputs.
Image
How to Convert HEIC to JPG in C# / .NET
To convert HEIC to JPG in C#, Magick.NET is the most reliable option — it bundles libheif and handles HEIC decode across Windows, Linux, and macOS without any OS-level codec. For .NET services that don't want a native imaging library, POST to the ChangeThisFile API with HttpClient.
Image
How to Convert HEIC to JPG in Java
Java has no built-in HEIC support. To convert HEIC to JPG in Java, the two practical options are: (1) call libheif or ImageMagick via ProcessBuilder (both decode HEIC natively), or (2) use the ChangeThisFile API which handles HEIC decoding server-side via a multipart POST from Java 11's HttpClient. Pure Java HEIC decoding libraries are limited — the format's H.265 compression requires native code.
Image
How to Convert HEIC to JPG in Swift
To convert HEIC to JPG in Swift, use ImageIO's CGImageDestination: load the HEIC with CGImageSourceCreateWithURL, create a destination with UTType.jpeg, then call CGImageDestinationFinalize. CoreImage's CIImage(contentsOf:) + CIContext.writeJPEGRepresentation is the cleaner high-level path. For cross-platform or CI pipelines without a macOS context, POST to the ChangeThisFile API via URLSession.
Document
How to Convert HTML to PDF in C# / .NET
To convert HTML to PDF in C#, PuppeteerSharp launches a headless Chromium instance and produces pixel-perfect output including JavaScript-rendered content. iText is better for programmatically building PDF from HTML strings without a browser. For HTML at a URL or when you don't want Chromium in your container, the ChangeThisFile API handles it via HttpClient with no SDK.
Document
How to Convert HTML to PDF in Java
To convert HTML to PDF in Java, Flying Saucer (xhtmlrenderer) with iText 2 is the classic option for well-formed XHTML. OpenHTMLtoPDF is the modern fork that supports XHTML5 and pdfbox/openpdf backends. For real-world HTML with CSS3 and modern layouts, the ChangeThisFile API runs a headless browser server-side and handles arbitrary HTML via a multipart POST from Java 11's HttpClient.
Document
How to Convert HTML to PDF in PHP
To convert HTML to PDF in PHP, Dompdf is the most common pure-PHP option: load HTML string, call render(), stream or save. For complex layouts with modern CSS (flexbox, grid, background images), wkhtmltopdf via shell_exec renders using a real browser engine. For a zero-install path, the ChangeThisFile API accepts an HTML file and returns a PDF — POST with target=pdf using Guzzle or curl.
Document
How to Convert HTML to PDF in Ruby
To convert HTML to PDF in Ruby, Wicked PDF (wkhtmltopdf wrapper) is the most widely used option in Rails — it integrates directly with ActionController. Grover uses headless Chromium for modern CSS support. For environments without wkhtmltopdf or Chrome installed, the ChangeThisFile API accepts HTML files and returns PDFs via Net::HTTP, no gems to install.
Document
How to Convert HTML to PDF in Rust
HTML-to-PDF in Rust has no pure-Rust solution with full CSS support. The practical options are: chromiumoxide (headless Chrome bindings for async Rust, full CSS support), calling wkhtmltopdf or Chrome headless via Command::new, or the ChangeThisFile API via reqwest when you don't want any browser dependency. The API is one POST with the HTML file and target=pdf — no SDK, just reqwest.
Image
Convert Images for Amazon Seller Central
Amazon's MAIN product image requires pure white background (RGB 255,255,255), product filling at least 85% of the frame, minimum 1000px on longest side for zoom (1600px recommended), and JPG/PNG/TIFF format. sRGB color space only. No text, logos, watermarks, or borders on MAIN images. Secondary images (A+ slots) have looser rules but same size minimums.
Image
Convert Images for Etsy Listings
Etsy listing photos should be 2000×2000 px square, JPEG or PNG, sRGB color profile, under 1MB for fastest load. Etsy accepts files up to 10MB but compresses everything server-side — uploading at exactly 2000×2000 px prevents Etsy's crop tool from making unexpected decisions. The most common seller mistake is uploading landscape or portrait photos that get cropped off-center in search results.
Image
Convert Images for Shopify Product Catalog
Shopify recommends 2048x2048 px square images, WebP or JPG format, sRGB color space, under 20MB. Convert with: POST /v1/convert file=product.png target=webp. For batch processing, loop over your image directory and POST each file. The biggest gotcha is CMYK images from print assets — Shopify renders them with wrong colors unless you convert to sRGB first.
Image
How to Convert JPG to WebP in C# / .NET
To convert JPG to WebP in C#, ImageSharp is the cleanest option — pure .NET, no native deps, ships as a NuGet package. Magick.NET gives you more encoding options via libwebp. For batch jobs or when you want zero native deps, POST to the ChangeThisFile API with HttpClient.
Image
How to Convert JPG to WebP in Java
Java's built-in ImageIO has no WebP encoder. To convert JPG to WebP in Java, add the TwelveMonkeys ImageIO WebP plugin — it registers a WebP writer that lets standard ImageIO.write(img, "webp", out) work. For zero additional dependencies, the ChangeThisFile API accepts a multipart POST from Java 11's built-in HttpClient and handles WebP encoding server-side.
Image
How to Convert JPG to WebP in Kotlin
To convert JPG to WebP in Kotlin on the JVM, add the webp-imageio plugin to get ImageIO.write(bufferedImage, "webp", outFile) support. On Android/Compose, use BitmapFactory.decodeFile() then Bitmap.compress(Bitmap.CompressFormat.WEBP_LOSSY, 85, outputStream). For a no-dependency path, POST the file to the ChangeThisFile API at /v1/convert with target=webp.
Image
How to Convert JPG to WebP in PHP
To convert JPG to WebP in PHP, GD is the fastest path when libwebp is compiled in: imagecreatefromjpeg() loads the source, imagewebp() saves as WebP. Imagick gives more control over quality and metadata. Both ship with most PHP installations. For batch conversions or environments where you'd rather not touch server config, the ChangeThisFile API handles it with a multipart POST — no SDK, just curl or Guzzle.
Image
How to Convert JPG to WebP in Python
To convert JPG to WebP in Python, Pillow is the standard choice — Image.open('photo.jpg').save('photo.webp', quality=80) in one line. For high-throughput batch conversion, sharp (via subprocess) uses libvips and is 3-5x faster than Pillow. For environments without image libraries, POST to the ChangeThisFile API with requests — pass target=webp, source is auto-detected from the filename.
Image
How to Convert JPG to WebP in Ruby
To convert JPG to WebP in Ruby, the image_processing gem (used by Rails Active Storage) provides the cleanest API: ImageProcessing::Vips.source('photo.jpg').convert('webp').call. MiniMagick also handles it: image.format('webp'). For environments without ImageMagick or libvips, the ChangeThisFile API converts via Net::HTTP — just POST the file with target=webp, no SDK to install.
Image
How to Convert JPG to WebP in Rust
To convert JPG to WebP in Rust, the image crate plus the webp crate gives the cleanest path: load with image::open(), convert to WebP bytes with webp::Encoder::from_image(). For lossless mode or fine-grained quality control, use the webp crate directly. For environments without libwebp, the ChangeThisFile API converts via reqwest — one POST with the file and target=webp.
Video
How to Convert MOV to MP4 in C# / .NET
To convert MOV to MP4 in C#, Xabe.FFmpeg wraps FFmpeg with a strongly-typed .NET API — configure codec, bitrate, and resolution with C# objects instead of raw ffmpeg flags. For services where you don't want FFmpeg in your container, POST to the ChangeThisFile API with HttpClient and MultipartFormDataContent.
Audio
How to Convert MP4 to MP3 in C# / .NET
To convert MP4 to MP3 in C#, Xabe.FFmpeg wraps FFmpeg with a fluent .NET API and manages the FFmpeg binary path. It requires FFmpeg installed (or its own auto-downloader). For .NET services where you don't want FFmpeg in your container, POST to the ChangeThisFile API with HttpClient — no SDK package, just System.Net.Http.
Audio
How to Convert MP4 to MP3 in Elixir
To convert MP4 to MP3 in Elixir, call FFmpeg directly with System.cmd("ffmpeg", ["-i", input_path, "-vn", "-acodec", "libmp3lame", "-ab", "192k", "-y", output_path]). The ffmpex Hex package wraps this in a chainable Elixir DSL. For no FFmpeg install, POST to the ChangeThisFile API using Req or HTTPoison.
Audio
How to Convert MP4 to MP3 in Java
To convert MP4 to MP3 in Java, JAVE2 (Java Audio Video Encoder) is the cleanest option — it bundles FFmpeg natively per OS and exposes a Java API for transcoding. JAVE2 is a wrapper; the actual encoding is FFmpeg. For zero system dependencies and no bundled natives, the ChangeThisFile API extracts audio from MP4 via a multipart POST using Java 11's built-in HttpClient.
Audio
How to Convert MP4 to MP3 in JavaScript
To convert MP4 to MP3 in JavaScript (Node.js), fluent-ffmpeg is the standard wrapper — it pipes input through an FFmpeg process with a chainable API and fires events on progress and completion. For environments without FFmpeg installed, POST to the ChangeThisFile API using Node's built-in fetch — pass target=mp3, source is auto-detected from the filename.
Audio
How to Convert MP4 to MP3 in Kotlin
To convert MP4 to MP3 in Kotlin, the simplest path is ProcessBuilder with FFmpeg: ProcessBuilder("ffmpeg", "-i", inputPath, "-q:a", "2", "-map", "a", outputPath).start(). For a Kotlin-idiomatic wrapper, use the ffmpeg-kt library. For a server-free approach with no FFmpeg installation, POST to the ChangeThisFile API at /v1/convert with target=mp3.
Audio
How to Convert MP4 to MP3 in PHP
To extract MP3 audio from an MP4 in PHP, call FFmpeg via shell_exec: ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3. The php-ffmpeg wrapper library gives a cleaner API. For environments where FFmpeg isn't installed, the ChangeThisFile API runs FFmpeg server-side — POST the file with target=mp3 using Guzzle or PHP's built-in curl, no SDK required.
Audio
How to Convert MP4 to MP3 in Python
To convert MP4 to MP3 in Python, moviepy is the most Pythonic approach — VideoFileClip('video.mp4').audio.write_audiofile('audio.mp3') in three chained calls. ffmpeg-python gives you direct FFmpeg control without subprocess calls. For environments without FFmpeg installed, POST to the ChangeThisFile API with requests — pass target=mp3, source is auto-detected from the filename.
Audio
How to Convert MP4 to MP3 in Ruby
To extract MP3 audio from an MP4 in Ruby, Streamio FFMPEG gives a clean object API: FFMPEG::Movie.new('video.mp4').transcode('audio.mp3', audio_codec: 'libmp3lame'). For simpler setups, call FFmpeg directly with Open3. For environments without FFmpeg installed, the ChangeThisFile API runs it server-side — POST the file with target=mp3 using Net::HTTP, no gem needed.
Audio
How to Convert MP4 to MP3 in Rust
To convert MP4 to MP3 in Rust, the ffmpeg-next crate provides Rust bindings to FFmpeg's libav libraries for in-process audio extraction. For most server deployments, calling the FFmpeg binary via Command::new is simpler and avoids the complex ffmpeg-next build setup. For zero-native-dep environments, the ChangeThisFile API runs FFmpeg server-side — POST with target=mp3 using reqwest's multipart API.
Audio
How to Convert MP4 to MP3 in Swift
To convert MP4 to MP3 in Swift, use AVFoundation's AVAssetExportSession with AVFileTypeMPEGLayer3 preset: load the MP4 with AVAsset, create an export session with AVAssetExportPresetAppleM4A (for M4A) or set output to .mp3 with AVFileTypeMPEGLayer3, then call export(to:as:) async. For a no-AVFoundation path on any platform, POST to the ChangeThisFile API via URLSession.
Document
How to Convert Old DOC and RTF Files to DOCX or PDF
To convert DOC and RTF files to DOCX or PDF, use LibreOffice headless: libreoffice --headless --convert-to docx *.doc. For Python automation, call it via subprocess. The ChangeThisFile API runs the same LibreOffice conversion server-side — useful when you can't install LibreOffice or are running on a platform without a display.
Image
How to Convert PDF to JPG in C# / .NET
To convert PDF to JPG in C#, use PDFium.Net for high-fidelity rendering or Magick.NET (which wraps Ghostscript) for a pure NuGet install. For production services without a native dep, POST the file to the ChangeThisFile API with HttpClient and MultipartFormDataContent — no SDK required.
Image
How to Convert PDF to JPG in Elixir
To convert PDF to JPG in Elixir, the idiomatic path is Mogrify (wraps ImageMagick/Ghostscript) via the mogrify Hex package: Mogrify.open(path) |> Mogrify.format("jpg") |> Mogrify.save() renders all pages to JPEGs. For a no-system-dep approach, POST to the ChangeThisFile API using Req or HTTPoison with multipart body.
Document
How to Convert PDF to JPG in Java
To convert PDF to JPG in Java, use Apache PDFBox: PDDocument.load(file) then PDFRenderer.renderImageWithDPI(page, 200, ImageType.RGB) returns a BufferedImage you write with ImageIO.write(img, "JPEG", out). iText (iText 7) is the alternative for more rendering control. For server deployments where you don't want native deps, the ChangeThisFile API accepts a multipart POST from Java 11's built-in HttpClient.
Image
How to Convert PDF to JPG in Kotlin
To convert PDF to JPG in Kotlin, use Apache PDFBox: PDDocument.load(file) then PDFRenderer(doc).renderImageWithDPI(pageIndex, 200f, ImageType.RGB) gives you a BufferedImage you save with ImageIO.write(..., "JPEG", outFile). For server-side rendering without a JVM dependency, POST the file to the ChangeThisFile API at /v1/convert using Ktor's HttpClient.
Image
How to Convert PDF to JPG in PHP
To convert PDF to JPG in PHP, the most reliable option is Imagick: new Imagick('file.pdf[0]') loads the first page; setResolution(150,150) controls DPI. GD doesn't read PDFs natively — it needs Ghostscript via shell_exec. For environments where neither Imagick nor GS is available, the ChangeThisFile API handles it server-side with a single multipart POST using Guzzle or PHP's native curl.
Image
How to Convert PDF to JPG in Ruby
To convert PDF to JPG in Ruby, MiniMagick is the most common approach: MiniMagick::Image.open('file.pdf[0]') loads a page, then convert to JPEG with quality settings. Poppler's pdftoppm CLI is faster for batch multi-page jobs. For environments without ImageMagick or Poppler installed, the ChangeThisFile API runs Poppler server-side — POST the file with target=jpg using Net::HTTP or Faraday, no gem to install.
Image
How to Convert PDF to JPG in Rust
To convert PDF to JPG in Rust, pdfium-render is the most complete library: binds Google's PDFium (the Chrome PDF renderer) and renders pages to RgbImage. For a lighter dependency, call pdftoppm via Command::new(). For environments where neither is viable, the ChangeThisFile API runs Poppler server-side — POST the file with target=jpg using reqwest, no C dependency needed.
Image
How to Convert PDF to JPG in Swift
To convert PDF to JPG in Swift, use PDFKit: load with PDFDocument(url:), call page.thumbnail(of:for:) for a quick render, or use Quartz's CGPDFDocument + CGContext for DPI control. For multi-page batch conversion or when PDFKit isn't available (Linux), POST to the ChangeThisFile API via URLSession.
Document
Convert PDFs for Kindle Direct Publishing (KDP)
KDP print books require a PDF with: exact trim size + 0.125 inch bleed on all sides, 300 DPI images minimum, all fonts embedded, PDF 1.3–1.7 (PDF/X-1a recommended), CMYK for color interiors or grayscale for B&W. eBook (Kindle EPUB/MOBI) is a separate format — reflowable EPUB, not a static PDF. This guide covers both paperback/hardcover print PDFs and the ebook conversion path.
Image
How to Convert PNG to JPG in Rust
To convert PNG to JPG in Rust, the image crate is the standard library: image::open('file.png') loads the PNG, then save_with_format with ImageFormat::Jpeg writes the JPEG. Handle alpha channels by compositing onto a white background before encoding. For higher-quality JPEG encoding, turbojpeg binds libjpeg-turbo. For zero-dependency conversions, the ChangeThisFile API handles it via reqwest.
Document
How to Convert PNG to PDF in C# / .NET
To convert PNG to PDF in C#, iText 7 gives you precise control over page size, margins, and multi-image layouts. PdfSharp is smaller and MIT-licensed for simple use cases. For single images or batch conversions without a PDF library in your project, POST to the ChangeThisFile API with HttpClient.
Image
How to Convert PNG to PDF in Java
To convert PNG to PDF in Java, iText 7 is the most concise option: new Document(new PdfDocument(new PdfWriter(out))) then Image.getImageDataFactory().create(pngPath), scaled to fit the page. Apache PDFBox works too: create a PDDocument, add a PDPage, draw the image onto the page's PDPageContentStream. For zero dependencies, the ChangeThisFile API takes a multipart POST from Java 11's HttpClient.
Document
How to Convert PNG to PDF in PHP
To convert PNG to PDF in PHP, FPDF is the lightest library: create a page, call Image() with your PNG path, save. TCPDF handles more complex cases including multiple images, page sizing, and metadata. For a zero-install path, the ChangeThisFile API accepts a PNG and returns a PDF — POST with target=pdf using curl or Guzzle, no library needed.
Document
How to Convert PNG to PDF in Ruby
To convert PNG to PDF in Ruby, Prawn is the standard library: Prawn::Document.generate creates a PDF, image() embeds the PNG. For pure PNG wrapping without Prawn's overhead, HexaPDF gives lower-level control. For zero-install conversions, the ChangeThisFile API accepts a PNG and returns a PDF — POST with target=pdf using Net::HTTP, no gem needed.
Audio
How to Convert Podcast Files for Spotify
For Spotify podcast submission, convert WAV to MP3 at -b:a 192k or 320k using FFmpeg: ffmpeg -i episode.wav -acodec libmp3lame -b:a 192k -ar 44100 -ac 2 episode.mp3. Add ID3 metadata with -metadata title='Episode 1' -metadata artist='My Podcast'. Spotify accepts 96kbps–320kbps; 192kbps is the sweet spot for file size vs. quality for spoken word.
General
Auto-Convert macOS Screenshots on Save: Folder Actions and launchd
Use a launchd WatchPaths agent (or Folder Actions Script Editor automation) to detect new PNG screenshots on ~/Desktop, then curl-POST each to the ChangeThisFile API (/v1/convert) targeting jpg or webp. The original PNG is preserved. The launchd plist fires within seconds of a file landing.
Document
How to Convert Screenshots to PDF
To convert screenshots to PDF in Python, use Pillow: images = [Image.open(p) for p in sorted(Path('.').glob('*.png'))]; images[0].save('output.pdf', save_all=True, append_images=images[1:]). For a single screenshot: Image.open('screenshot.png').convert('RGB').save('doc.pdf'). Each image becomes one PDF page at its natural resolution.
Image
How to Convert SVG to PNG in C# / .NET
To convert SVG to PNG in C#, Svg.Skia is the most capable option — it uses the SkiaSharp renderer (same engine as Chrome's 2D graphics) and handles most SVG 1.1 features. ImageSharp processes SVGs via its DrawingContext extension. For arbitrary SVGs without native rendering in your container, POST to the ChangeThisFile API with HttpClient.
Image
How to Convert SVG to PNG in Java
To convert SVG to PNG in Java, Apache Batik is the standard library: SVGDocument doc = new SAXSVGDocumentFactory().createSVGDocument(uri); then use PNGTranscoder with TranscoderInput/TranscoderOutput to rasterize at any resolution. Batik handles the full SVG 1.1 spec. For zero dependencies, the ChangeThisFile API rasterizes SVG server-side via a multipart POST from Java 11's built-in HttpClient.
Document
How to Convert TIFF to PDF
To convert TIFF to PDF, img2pdf is the best Python option for lossless conversion — it embeds TIFF pixels directly into PDF without re-encoding, so there's zero quality loss. Pillow is more flexible (resize, DPI override, multi-page TIFF) but re-encodes. ImageMagick's convert command is the quickest CLI option. The ChangeThisFile API handles multi-page TIFFs server-side — POST the file with target=pdf, source is auto-detected.
General
S3 PUT Event to File Conversion: Lambda + ChangeThisFile API Pipeline
Configure S3 event notifications to fire on s3:ObjectCreated:Put, targeting a Lambda function. The Lambda downloads the uploaded file from S3, POSTs it to the ChangeThisFile API (/v1/convert) via the Python requests library, then puts the converted file into a destination S3 bucket or prefix. The API key lives in Lambda environment variables or Parameter Store.
Video
Convert Videos for LinkedIn Posts
LinkedIn native video requires MP4 (recommended), H.264 codec, AAC audio, maximum 5GB file size, 3 seconds to 10 minutes duration, and aspect ratios from 1:2.4 (portrait) to 2.4:1 (landscape). Unlike TikTok and Shorts, LinkedIn performs well with landscape (16:9) and square (1:1) video — vertical is supported but less common in professional contexts.
Audio
Convert Audio for Podcast Platforms
Podcast platforms accept MP3 (128–320 kbps, 44.1 kHz) and M4A/AAC as the primary formats. Spotify and Apple Podcasts both recommend MP3 192 kbps mono for talk, or 192–320 kbps stereo for music podcasts. Loudness normalization to -16 LUFS (Spotify standard) or -19 LUFS (Apple Podcasts) is critical — raw recordings that aren't normalized sound dramatically louder or quieter than other shows in the same app.
Video
Convert Videos for TikTok
TikTok accepts MP4 and MOV, prefers 1080x1920 (9:16) vertical, H.264 video codec, AAC audio at 192kbps or higher, under 287.6MB per clip. Unlike YouTube Shorts, TikTok allows up to 10 minutes for regular uploads. The most common conversion issue is audio: TikTok is an audio-first platform and applies its own audio normalization — source audio at -14 LUFS produces the most consistent output.
Video
Convert Videos for YouTube Shorts
YouTube Shorts requires 9:16 vertical video (1080×1920 px), MP4 container, H.264 video codec, AAC audio at 128–384 kbps, max 60 seconds, max 100MB upload. Frame rate: 24, 25, 30, 48, 50, or 60 fps. Convert landscape or square video to vertical with letterboxing or cropping, then encode to these specs before uploading.
General
How to Convert XLSX to CSV in Java
To convert XLSX to CSV in Java, use Apache POI: WorkbookFactory.create(file) returns an XSSFWorkbook, iterate over Sheet.rowIterator(), format each cell with DataFormatter for display values, and write rows with a PrintWriter. For large XLSX files (100k+ rows), use the SAX-based XSSF streaming API to avoid loading the full workbook in memory. For zero dependencies, the ChangeThisFile API handles it via a multipart POST from Java 11's HttpClient.
General
Convertio Pricing: What You Pay and the Sub-$10 Alternatives Worth Knowing
Convertio's paid plans start around $10/month for 100 conversions/day (roughly 3,000/month). For teams that need more than the web UI's free 10 conversions/day limit but can't justify $10+/month, ChangeThisFile's free tier (1,000 API conversions/month, no card) is the most direct alternative. For teams doing 5,000–50,000 conversions/month, ChangeThisFile's $29 Hobby and $99 Startup flat-rate plans undercut Convertio at most volume tiers.
General
Cron Job for Nightly File Conversion: Bash Script Pattern
Schedule nightly file conversion with a bash script that loops over a watched directory, POSTs each file to the ChangeThisFile API (/v1/convert), writes structured logs, rotates logs with logrotate, and fires a Slack/email alert on non-zero exit. The crontab line is: 0 2 * * * /opt/scripts/nightly-convert.sh >> /var/log/ctf-nightly.log 2>&1
General
Dockerized File Conversion Pipeline: Dockerfile + docker-compose Pattern
Build a minimal Alpine-based Docker image with just curl and bash. Mount /input and /output volumes. The container script loops over /input, POSTs each file to the ChangeThisFile API (/v1/convert), writes results to /output. docker-compose handles secrets injection, volume wiring, and restart policy. No FFmpeg or LibreOffice needed in the image.
Ebook
EPUB vs AZW3: Open Standard vs Kindle Format — What's the Difference?
EPUB is the open standard that works on every platform except old Kindles; AZW3 (Kindle Format 8) is Amazon's enhanced Kindle format that offers better CSS support than original MOBI but only works in Kindle apps and devices. In 2026, EPUB is almost always the right format to create and store — convert to AZW3 only when you specifically need Kindle-optimized sideloading.
Ebook
EPUB vs MOBI: Which Ebook Format Should You Use?
EPUB is the universal open ebook standard — use it for Apple Books, Kobo, Google Play Books, Nook, and library systems. MOBI is Kindle's legacy format — Amazon still accepts it but prefers EPUB submissions (which they convert to their KFX format). In 2026, EPUB is almost always the right choice unless you're specifically targeting older Kindle devices.
Audio
How to Extract Audio from a Video File
To extract audio from a video file with FFmpeg, run: ffmpeg -i input.mp4 -vn -acodec copy output.aac (lossless copy of the audio stream). For MP3 output: ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3. The -vn flag drops the video stream entirely. The ChangeThisFile API does the same with a single POST.
Image
How to Extract Frames from a GIF
To extract frames from a GIF in Python using Pillow: img = Image.open('animation.gif'); for i in range(img.n_frames): img.seek(i); img.save(f'frame_{i:03d}.png'). For FFmpeg: ffmpeg -i animation.gif frames/frame_%03d.png. Pillow gives you per-frame timing (img.info['duration']); FFmpeg is faster for large GIFs.
General
File Conversion Budget for SaaS: Sizing Your API Costs per MAU
File conversion typically costs $0.002–$0.05 per monthly active user depending on how conversion-heavy the product is. A SaaS with 1,000 MAU where each user converts 5 files/month needs 5,000 conversions/month — about $29/month on ChangeThisFile's Hobby plan, or $0.029/MAU. At 10,000 MAU × 10 conversions/user, that's 100,000 conversions/month — roughly $499–$999/month depending on provider, or $0.05–$0.10/MAU.
General
File Conversion Cost Per Gigabyte: How Providers Compare in 2026
File conversion costs per gigabyte vary enormously by provider and billing model. At typical file sizes, managed APIs cost $0.01–$0.50 per GB processed (depending on format and pricing model), while self-hosting costs near-zero per GB at the marginal level but has a $150–$300/month minimum in engineering overhead. AWS MediaConvert charges $0.0075–$0.024 per minute of output video — for a 1 GB/hour video that's roughly $0.45–$1.44/GB. ChangeThisFile's flat-rate model becomes cheapest per GB at high conversion volume.
Document
File Conversion for Creative and Marketing Agencies
Agencies deal with format hand-offs constantly: clients send the wrong format, vendors need a different spec, social channels require different aspect ratios and codecs. ChangeThisFile handles 690 conversion routes in the browser for free — no upload for images — plus an API for automating recurring workflows. No account needed for one-off conversions.
General
File Conversion for Consulting
Consulting firms convert PPTX strategy decks to PDF for client delivery, XLSX financial models to CSV for client data handoffs, normalize documents received from clients across different systems, and prepare consistent deliverable formats. ChangeThisFile handles these via browser or REST API with no conversion infrastructure to maintain.
General
File Conversion for Developers
ChangeThisFile provides a REST API for file conversion with 690 routes — no SDK to install. One POST with `file` and `target` (source auto-detected from filename). HMAC-signed webhooks and Stripe-style idempotency keys. Free tier covers 1,000 conversions/month — no card required. Server-side conversions run on FFmpeg, LibreOffice, Calibre, and 7-Zip hosted infrastructure you don't have to maintain.
Image
File Conversion for E-Commerce
E-commerce teams convert product images to WebP for page speed, normalize supplier CSV/XLSX feeds for import, generate catalog PDFs, and process high-res product photos from suppliers. ChangeThisFile handles all of these in the browser for free or via API for automation. 690 conversion routes, free 1,000/month API tier, Python and TypeScript SDKs.
Document
File Conversion for Education
Educators and instructional designers convert PPTX to PDF for handouts, lecture video to LMS-compatible formats, and documents to accessible formats for students with disabilities. ChangeThisFile handles these in the browser for free — no account needed for PDF and document conversions. Server-side engines handle video transcoding via FFmpeg and documents via LibreOffice.
General
File Conversion for Finance Teams
Finance teams convert XLSX reports to CSV for analysis pipelines, DOCX financial models to PDF for board distribution, bank statement PDFs to image previews for review platforms, and normalize data exports across multiple source systems. ChangeThisFile handles these via browser or REST API — 690 conversion routes, no infrastructure to maintain.
General
File Conversion for Government
Government agencies convert DOCX documents to PDF for public distribution, RTF for legacy case management systems, XLSX data exports to CSV for open data portals, citizen-submitted photos to normalized formats for processing, and maintain archival format requirements. ChangeThisFile supports 690 conversion routes with browser-based client-side processing for sensitive documents.
General
File Conversion for Healthcare
Healthcare teams convert DOCX clinical documents to PDF for EHR upload, normalize patient-submitted photos (HEIC → JPG) for care platforms, prepare scanned forms for intake workflows, and export spreadsheet data to CSV for analysis. ChangeThisFile provides client-side image conversion (files never leave the browser) and a REST API for document pipelines — 690 supported conversion routes.
General
File Conversion for HR and Recruiting
HR and recruiting teams convert candidate resume PDFs and DOCXs for ATS compatibility, DOCX onboarding packets to PDF for e-signature, normalize ID document photos from candidates (HEIC → JPG), and export XLSX headcount data to CSV for analysis. ChangeThisFile handles these via browser or REST API — no conversion software to install or maintain.
General
File Conversion for Insurance
Insurance teams normalize claim photos from policyholders (HEIC → JPG) for claims platforms, convert policy documents and endorsements (DOCX → PDF) for delivery, prepare damage assessment image packages, and export claims data (XLSX → CSV) for analysis. ChangeThisFile handles these via browser (images stay local) or REST API — 690 conversion routes.
General
File Conversion for Legal Teams
Legal teams convert DOCX contracts to PDF for execution, flatten PDFs for Bates-stamp preparation, normalize scanned documents for eDiscovery production sets, and standardize image formats for court filings. ChangeThisFile handles these conversions via browser (files stay local) or REST API for automated document pipelines — no conversion server to maintain.
General
File Conversion for Logistics
Logistics teams convert shipping label PDFs to images for web display, normalize manifest and customs document formats across carriers, process scan-to-JPG documentation, and export XLSX shipment data to CSV for analysis. ChangeThisFile handles these via browser or REST API with no conversion infrastructure to maintain.
General
File Conversion for Manufacturing and Engineering
Manufacturing and engineering teams convert inspection photos (HEIC → JPG) for QA documentation, DOCX procedures to PDF for controlled document distribution, XLSX process data to CSV for analysis pipelines, and technical drawing images for documentation systems. ChangeThisFile handles 690 conversion routes for document and image formats via browser or REST API.
General
File Conversion for Marketing Agencies
Marketing agencies convert PSD designs to JPG/PNG/WebP for web delivery, video files between formats for platform specifications, PPTX decks to PDF for client review, and bulk-normalize creative assets for CDN storage. ChangeThisFile handles 690 conversion routes via browser or REST API — no per-seat creative software required for format conversion tasks.
General
File Conversion for News and Publishing
Newsrooms and publishers convert wire photos to web-optimized formats, transform long-form articles into EPUB for digital distribution, normalize video for web playback, and prepare print-ready PDFs from digital layouts. ChangeThisFile supports 690 conversion routes including image normalization, EPUB generation, video format conversion, and document export via browser or REST API.
General
File Conversion for Nonprofits
Nonprofits convert donation acknowledgment letters to PDF for IRS-compliant receipts, DOCX grant reports to PDF for funder submission, normalize newsletter formats across print and digital channels, and prepare accessible document versions. ChangeThisFile offers a free tier with 1,000 conversions/month — sufficient for most small nonprofits — with 690 conversion routes via browser or API.
Image
File Conversion for Media and Publishing
Media and publishing workflows involve RAW photo processing to JPEG/TIFF, video transcoding for streaming and broadcast specs, EPUB/MOBI/PDF cross-format publishing, and font format conversion for web and print. ChangeThisFile handles all of these via FFmpeg, Calibre, dcraw, and fonttools server-side, or client-side for images and fonts. API available with free 1,000 req/month tier.
General
File Conversion for Real Estate
Real estate professionals convert iPhone listing photos (HEIC → JPG) for MLS upload, DOCX contracts to PDF for e-signature, PPTX market presentations to PDF for client delivery, and normalize virtual tour assets. ChangeThisFile converts images in the browser (files never leave the device) and handles documents via REST API or browser upload.
General
File Conversion for Scientific Research
Researchers convert CSV data to JSON (and back) for pipeline compatibility, XLSX datasets to CSV for R and Python analysis, RAW microscopy and field photos to JPG for publication, and DOCX manuscripts to PDF for journal submission. ChangeThisFile handles these via browser (spreadsheet/data files never leave the device) or REST API for automated analysis pipelines.
General
File Conversion for SaaS Products
SaaS products can integrate file conversion via the ChangeThisFile API without managing conversion infrastructure. The API supports multi-tenant usage tracking by customer, idempotency keys for safe retries, and 690 conversion routes backed by FFmpeg, LibreOffice, Calibre, and 7-Zip. Plans scale from free (1,000/mo) to Growth (1M/mo) with usage-based upgrade paths.
General
File Conversion for Web Agencies
Web agencies convert client images to WebP and AVIF for performance, prepare TTF/OTF fonts as WOFF2 for self-hosting, normalize client-delivered assets before CMS upload, generate OG images from document pages, and automate asset delivery pipelines. ChangeThisFile supports 690 conversion routes via browser or REST API — no per-developer tool licenses needed.
General
Git Pre-Commit Hook: Auto-Convert PNG Images to WebP
Place a pre-commit hook in .git/hooks/pre-commit that lists staged PNG files with git diff --cached --name-only, converts each to WebP via the ChangeThisFile API, and git add's the WebP output before the commit completes. The commit then includes both the source PNG and its WebP derivative.
General
Idempotency for File Conversion Pipelines
Sending an Idempotency-Key header with a conversion request caches the API response for 24 hours tied to that key. If you resend the same key, you get back the same output without consuming another conversion from your quota. Deterministic keys (sha256 of filename + size + target format) make retries and replays safe by default.
Image
JPEG 2000 vs JPEG: When Does JPEG 2000 Still Matter?
For everyday photos and web use, JPEG (or WebP/AVIF) is the right choice. JPEG 2000 still matters in digital cinema (DCP standard), medical imaging (DICOM), satellite/geospatial imaging, digital preservation archives, and professional contexts requiring lossless-to-lossy progressive encoding. Its superior compression at high quality settings and tiling support make it irreplaceable in these niches.
Video
How to Make a Thumbnail from a Video
To extract a thumbnail from a video using FFmpeg, run: ffmpeg -i video.mp4 -ss 00:00:03 -vframes 1 thumbnail.jpg. The -ss flag seeks to a timestamp, -vframes 1 extracts exactly one frame. Avoid -ss 00:00:00 — many videos have a black or logo frame at position 0. Use 3-5 seconds in for the first meaningful frame.
Document
How to Merge Multiple Images into a Single PDF
To merge multiple images into a single PDF with Python and Pillow: from PIL import Image; pages = [Image.open(p).convert('RGB') for p in image_paths]; pages[0].save('output.pdf', save_all=True, append_images=pages[1:]). For A4-sized pages with images centered and scaled to fit, use the reportlab approach in this guide.
General
Migrate from Aspose Cloud API to ChangeThisFile
Aspose Cloud API is a powerful document manipulation suite with SDKs, versioning, and deep format fidelity — built for developers who need programmatic control over document structure, not just format conversion. ChangeThisFile is a simple conversion-only API. If you're using Aspose purely for format conversion (DOCX→PDF, XLSX→CSV, etc.) and not for its document manipulation features, migrating to ChangeThisFile eliminates SDK dependencies and reduces costs significantly.
General
Migrate from AWS MediaConvert to ChangeThisFile
AWS MediaConvert is a managed video transcoding service built for broadcast-quality output, HLS/DASH packaging, and large-scale media processing pipelines within the AWS ecosystem. ChangeThisFile is a simple file conversion API that converts video via FFmpeg. The migration makes sense for teams that adopted MediaConvert for simple format conversion but are paying AWS setup complexity and minimum job costs for work a REST API call could handle.
General
Migrate from Bitmovin to ChangeThisFile
Bitmovin is an enterprise video encoding platform with adaptive streaming (HLS/DASH), DRM, multi-bitrate ladders, and per-title encoding optimization. ChangeThisFile is a simple file conversion API that converts video between formats via FFmpeg. These tools serve fundamentally different use cases. The migration makes sense only if you're using Bitmovin purely for simple format conversion (MP4→WebM, MOV→MP4) and not for its streaming infrastructure.
General
Migrate from CloudConvert to ChangeThisFile
Migrating from CloudConvert to ChangeThisFile replaces a per-minute billing model and async job system with a flat per-conversion price and a synchronous POST endpoint. If you're converting documents, images, audio, or video at low-to-moderate volume without needing webhooks or cloud storage integration, the switch is typically 30–60 minutes of code changes and saves $50–$200/month at the Hobby tier.
General
Migrate from ConvertAPI to ChangeThisFile
ConvertAPI uses a credit-based billing model with separate products for different conversion categories. ChangeThisFile is a single endpoint covering all conversion types at a flat per-conversion rate. The migration removes ConvertAPI's SDK, simplifies auth from a secret key query parameter to a Bearer token, and replaces a polling/callback model with a synchronous response.
General
Migrate from Convertio to ChangeThisFile
Migrating from Convertio to ChangeThisFile replaces a credit-based billing system and multi-step async API with a flat per-conversion price and a synchronous POST endpoint. The code change is 10–20 lines per integration. Most developers at under 10K conversions/month move to ChangeThisFile's free tier or $29/mo Hobby plan and eliminate their Convertio bill entirely.
General
Migrate from DocRaptor to ChangeThisFile
DocRaptor is a Prince XML-based HTML-to-PDF API with best-in-class CSS support for print. ChangeThisFile is a general file conversion API that handles HTML-to-PDF via LibreOffice. The migration only makes sense if you're converting simple documents or using DocRaptor for non-PDF formats. For customer-facing PDFs with complex print CSS, stay on DocRaptor — the rendering quality difference is significant.
General
Migrate from PDFShift to ChangeThisFile
PDFShift is purpose-built for HTML-to-PDF conversion with a headless Chrome renderer — it handles CSS3, JavaScript, and print media queries. ChangeThisFile converts HTML-to-PDF via LibreOffice, which is less capable for complex web layouts. The migration makes sense only for simple HTML or if you're using PDFShift for non-HTML formats (DOCX, XLSX, images). If your PDFs require CSS layout fidelity, stay on PDFShift.
General
Migrate from Transloadit to ChangeThisFile
Transloadit is a file processing pipeline service — Assemblies chain multiple operations (encode, resize, watermark, store, notify). ChangeThisFile is a single-endpoint conversion API. The migration makes sense if your Transloadit Assemblies do only one operation (convert a file), if you don't use Uppy, and if you don't need S3 output or webhooks. For multi-step pipelines, stay on Transloadit.
General
Migrate from Zamzar to ChangeThisFile
Migrating from Zamzar to ChangeThisFile replaces a legacy REST API with an async job model and Basic Auth with a modern synchronous API and Bearer token auth. The primary motivation is usually cost — Zamzar's entry API plan starts at $24/month for 1,200 conversions. ChangeThisFile is free for 1,000/month, $29 for 10,000. For format-conversion-only use cases, the switch is straightforward.
General
Monitor a Folder and Auto-Convert New Files: inotifywait and launchd
On Linux, use inotifywait -m -e close_write to watch a directory for completed writes, then POST each new file to /v1/convert. On macOS, use a launchd plist with WatchPaths to trigger a conversion script whenever files change. Both patterns are event-driven and eliminate polling overhead.
Audio
MP3 vs AAC: Which Lossy Audio Format Sounds Better?
AAC sounds noticeably better than MP3 at the same bitrate, especially below 192 kbps. At 128 kbps, AAC is roughly equivalent to MP3 at 192 kbps in audible quality. If you're on Apple platforms (iTunes, iPhone, Apple Music) or streaming platforms, AAC is the right choice. If you need universal compatibility with older devices and software, MP3 is the safe default.
Audio
MP3 vs FLAC: Lossy vs Lossless Audio — Which Should You Use?
MP3 at 320 kbps is audibly indistinguishable from FLAC for most listeners on typical headphones and speakers. FLAC makes sense for audio archiving, vinyl rips, studio work, or if you plan to re-encode to other formats later. For everyday listening, MP3 at 192-320 kbps wastes no perceptible quality while saving 60-80% storage.
Video
MP4 vs MKV: Which Video Container Format Is Right for You?
Use MP4 for sharing and compatibility — it plays on every device and platform with zero friction. Use MKV for archiving and home media — it supports unlimited audio tracks, subtitle tracks, chapters, and any codec without restriction. MKV is the power-user container; MP4 is the universal one.
Video
MP4 vs MOV: Which Video Container Format Should You Use?
Use MP4 for universal delivery — it plays on every device, platform, and browser with no special software. Use MOV when shooting or editing on Apple hardware, where it integrates tightly with Final Cut Pro, QuickTime, and macOS workflows. For anything leaving your Apple ecosystem, convert MOV to MP4 before sharing.
Video
MP4 vs WebM: Which Video Format for Web Video?
Use MP4 (H.264) as your primary web video format for universal browser support. Add WebM (VP9 or AV1) as a secondary source for 20-40% smaller files on browsers that support it. The HTML5 <video> <source> element lets you serve both — browsers pick the best one they can play.
Image
How to Optimize Images for Shopify
For Shopify product images, convert to WebP at quality=85 and resize to 2048px on the longest edge. WebP is 25-35% smaller than JPG at the same quality. Shopify's CDN serves WebP automatically to supporting browsers, but uploading WebP directly ensures you control the source quality. Use Pillow in Python: img.save('product.webp', 'WEBP', quality=85, method=6).
General
Parallel Image Conversion: asyncio + httpx + Idempotency Keys
Use asyncio.gather with an asyncio.Semaphore to cap concurrency at 10-20 workers, httpx.AsyncClient for connection pooling, and a deterministic Idempotency-Key (sha256 of filename + target format) on each request. This pattern sustains 180–240 image conversions per minute and is safe to retry after any failure.
Document
PDF vs DOCX: When to Use Each Format
Use PDF when the document must look identical on every device and isn't meant to be edited: contracts, reports, resumes, presentations, print-ready materials. Use DOCX when the document needs to be edited, tracked, reviewed with comments, or built upon: drafts, templates, collaborative documents, documents the recipient will modify.
Document
PDF vs EPUB: Print Format vs Reflowable Ebook — Which to Use?
Use EPUB for books, long-form reading, and anything meant to be read on phones or e-readers — EPUB text reflows to fit any screen size, supports adjustable fonts, and is what all major ebook platforms use. Use PDF when print fidelity is required: textbooks, academic papers, technical manuals with precise layouts, or any document where visual formatting is part of the meaning.
Image
How to Prepare Photos for Instagram
To prepare iPhone photos for Instagram: convert HEIC to JPG at quality=92, resize to 1080×1350 (portrait) or 1080×1080 (square) with smart cropping. Instagram recompresses uploads, so quality=92 is the sweet spot — high enough that Instagram's recompression doesn't visibly degrade the image. Use Pillow: img.resize((1080, 1350), Image.LANCZOS).save('post.jpg', 'JPEG', quality=92).
Document
How to Process User Uploads with File Conversion
To add file conversion to your SaaS upload flow, intercept the uploaded file before storage, POST it to https://changethisfile.com/v1/convert with your target format, and store the converted result. The conversion is synchronous for files under ~25MB (response in 1-30s). For large files or high volume, use the async pattern: queue the conversion job and notify the user when done.
General
Rate Limit Handling for Conversion APIs: Retry-After, Exponential Backoff, and Jitter
When you hit a 429, read the Retry-After header and sleep that many seconds before retrying — don't guess. Add full jitter (random * retry_after) when running multiple workers to prevent thundering herd after a rate limit event. Better yet, implement a client-side token bucket that proactively throttles requests to stay under the limit entirely.
General
How to Reduce Your CloudConvert Bill: Tier Optimization, Async Tricks, and When to Switch
The fastest way to reduce a CloudConvert bill is to audit your conversion-minute usage by format type, batch async jobs instead of parallel-firing them, cache outputs so you never convert the same file twice, and route short predictable conversions to a flat-rate alternative. Teams spending $200–$500/mo on CloudConvert typically find 40–60% savings within two weeks without changing their core pipeline.
General
Self-Host FFmpeg vs Conversion API: The Honest Total Cost of Ownership
Self-hosting FFmpeg + LibreOffice on a VPS costs $20–$80/month in infrastructure with zero per-conversion cost. But the real cost is engineering time: 8–16 hours of initial setup plus 2–4 hours/month of ongoing maintenance. At $75/hour, that's $150–$600/month in engineering overhead on top of infra. The break-even point where self-hosting beats a managed API is roughly 100,000–200,000 conversions/month — below that, managed APIs are almost always cheaper total cost.
General
Serverless File Conversion Architecture: Lambda, Workers, and the CTF Pattern
Serverless runtimes (Lambda 15-min max, Cloudflare Workers 30s CPU max) can't hold open a long-running conversion request. The correct pattern: upload to S3/R2 in the client, submit a /v1/jobs request with a webhook_url from a short-lived handler function, then process the result in a separate webhook receiver. Total handler duration: under 3 seconds.
General
Streaming Large File Conversions: Async Jobs API and Webhooks
For files over 20MB or conversions that take more than 30 seconds, use /v1/jobs instead of /v1/convert. POST to start the job, poll GET /v1/jobs/{id} every 5s until state=done, then download from the returned URL. Or register a webhook_url to receive the result pushed to your server — no polling required.
Image
SVG vs PNG: Vector vs Raster — When to Use Each
Use SVG for logos, icons, illustrations, and any graphic that needs to scale to any size or be animated — SVG is infinitely scalable and looks sharp at 1× and 10× scale. Use PNG for photographs, complex images, screenshots, and any context where SVG's text-based format is unsupported (email, some image-only contexts).
Image
TIFF vs PNG: Which Lossless Image Format Should You Use?
PNG is the right choice for web use, screenshots, graphics with transparency, and general-purpose lossless images. TIFF is the right choice for professional photography workflows, print production, multi-page documents, and archival images requiring more than 8-bit color depth or layered editing data.
General
Transloadit Pricing: What You Pay for Pipeline-Based File Processing and Cheaper Alternatives
Transloadit charges per-gigabyte processed plus per-conversion, using an 'Assembly' billing model where each file processing pipeline is one Assembly. As of April 2026, pricing starts with a free tier (1 GB/month, 50 Assemblies/month) and scales to paid plans from $49/month. For teams that need only simple format conversion (not Transloadit's full pipeline orchestration), ChangeThisFile's $29 Hobby plan covers 10K conversions for less — without pipeline configuration overhead.
Audio
WAV vs FLAC: Which Lossless Audio Format Should You Use?
Both WAV and FLAC are lossless — they preserve audio identically. FLAC is 40-60% smaller and has better metadata support; use it for archiving and personal libraries. WAV has near-universal professional software compatibility; use it for audio production, broadcasting, and when sending files to other professionals.
General
Webhook-Based Async File Conversion: Receiver Pattern and Signature Verification
Webhook-driven conversion decouples submission from result handling: POST to /v1/jobs with a webhook_url, and the API POSTs the result to your URL when done. Verify the X-CTF-Signature HMAC-SHA256 header before processing. This pattern eliminates polling, works inside Lambda and Cloudflare Workers, and handles large file queues without holding connections open.
Archive
ZIP vs 7Z: Which Archive Format Should You Use?
Use ZIP for sharing with anyone — it's built into Windows, macOS, and Linux with no software required. Use 7Z when compression ratio matters most: 7Z's LZMA2 algorithm compresses 30-70% better than ZIP for typical files, and offers stronger AES-256 encryption including header encryption. The tradeoff is that recipients need 7-Zip or a compatible tool to extract.
Audio
How to Convert AAC to MP3 in JavaScript
To convert AAC to MP3 in JavaScript, the browser uses ffmpeg.wasm (FFmpeg compiled to WebAssembly) — runs entirely client-side. In Node, fluent-ffmpeg wraps the FFmpeg binary cleanly. Both decode AAC and re-encode to MP3 via libmp3lame. The ChangeThisFile API runs FFmpeg server-side as one fetch call when you don't want WASM weight or a Node FFmpeg install.
Data
How to Convert CSV to JSON in Go
To convert CSV to JSON in Go, the standard library is enough — encoding/csv + encoding/json + a typed struct or map[string]string. For struct-based mapping with tags, gocarina/gocsv adds an ergonomic layer. The ChangeThisFile API works as a single net/http call and handles encoding edge cases (BOM, semicolon delimiters, mixed line endings) without dependencies.
Data
How to Convert CSV to JSON in JavaScript
To convert CSV to JSON in JavaScript, the most popular library is papaparse — works in browsers and Node, auto-detects delimiters, handles quoted fields. csv-parse is the canonical Node option with streaming support for huge files. The ChangeThisFile API works as a fetch call from anywhere and handles encoding edge cases automatically. papaparse is the right default for most JS projects.
Data
How to Convert CSV to JSON in Python
To convert CSV to JSON in Python, the simplest method is the built-in csv + json modules: read rows with csv.DictReader, dump with json.dumps. For more control over types and nested structures, use pandas.read_csv().to_json(). For batch processing of user-uploaded CSVs in production, the ChangeThisFile API handles edge cases (mixed delimiters, encoding issues, malformed rows) so you don't have to.
Document
How to Convert DOCX to PDF in Go
To convert DOCX to PDF in Go, the highest-fidelity option is shelling out to LibreOffice headless via os/exec — it renders complex documents (tables, images, footnotes, embedded objects) the way Word does. unioffice is a pure-Go option but has weaker layout fidelity. The ChangeThisFile API is one net/http call and runs LibreOffice server-side, so you get the same fidelity without installing 1GB of Office runtime.
Document
How to Convert DOCX to PDF in JavaScript
To convert DOCX to PDF in JavaScript, the simplest option is the ChangeThisFile API: a fetch POST to /v1/convert with source=docx and target=pdf returns the PDF bytes. Local options include libreoffice-convert (Node, requires LibreOffice installed) or the two-step mammoth-then-html-to-pdf approach (lower fidelity but pure JS). Pure-browser DOCX-to-PDF without a server is impractical for high fidelity.
Document
How to Convert DOCX to PDF in Python
To convert DOCX to PDF in Python, the cleanest option is the ChangeThisFile API: one POST request to /v1/convert with source=docx and target=pdf returns the PDF bytes. Local options include docx2pdf (Windows/macOS only, requires Microsoft Word installed) and LibreOffice headless (cross-platform, requires LibreOffice installed). The API uses LibreOffice headless on its servers, so you skip the install.
Ebook
How to Convert EPUB to PDF in Go
To convert EPUB to PDF in Go, the canonical approach is shelling out to Calibre's ebook-convert via os/exec — it handles reflowable EPUB content, embedded fonts, and table-of-contents generation. wkhtmltopdf works if you extract the EPUB's HTML manually but loses TOC and chapter logic. The ChangeThisFile API runs Calibre server-side and is one net/http call, no install required.
Ebook
How to Convert EPUB to PDF in Python
To convert EPUB to PDF in Python, the most production-ready option is to shell out to Calibre's ebook-convert CLI — it handles page sizing, TOC generation, and complex EPUB layouts. For a pure-Python option, ebooklib + WeasyPrint composes the EPUB's HTML into a printable PDF. For unpredictable EPUBs from users, the ChangeThisFile API uses Calibre server-side without you needing to install it.
Audio
How to Convert FLAC to MP3 in Python
To convert FLAC to MP3 in Python, the easiest option is pydub: AudioSegment.from_file('in.flac').export('out.mp3', format='mp3', bitrate='192k'). For control over LAME-specific options, use ffmpeg-python or subprocess directly. Tag preservation (album, artist, etc.) requires a separate library like mutagen since neither pydub nor FFmpeg propagates them by default. The ChangeThisFile API handles tags + conversion in one call.
Image
How to Convert HEIC to JPG in Go
To convert HEIC to JPG in Go, the cleanest path is shelling out to ImageMagick or libheif's heif-convert via os/exec — both decode HEIC reliably and produce standard JPGs. There's no pure-Go HEIC decoder. The ChangeThisFile API runs the same conversion server-side as a single net/http call, useful when you can't install libheif (Lambda, Alpine without HEIF support, edge runtimes).
Image
How to Convert HEIC to JPG in JavaScript
To convert HEIC to JPG in JavaScript, use heic2any in browsers (pure JS, runs entirely client-side), sharp in Node (fast, native bindings), or the ChangeThisFile API (works anywhere fetch works). heic2any is the only option for fully client-side conversion with no server. sharp is the fastest server-side option but requires libheif compiled into the binary.
Image
How to Convert HEIC to JPG in Python
To convert HEIC to JPG in Python, the simplest path is the ChangeThisFile API: one POST to /v1/convert with source=heic and target=jpg returns JPG bytes. For local conversion, install pillow-heif (the modern Pillow plugin for HEIC) or pyheif (older but still works). pillow-heif is the recommended local option — it integrates seamlessly with Pillow's existing API and handles EXIF preservation correctly.
Document
How to Convert HTML to PDF in JavaScript
To convert HTML to PDF in JavaScript, the browser uses html2pdf.js (html2canvas + jsPDF) — works client-side, no server. In Node, Puppeteer drives Chromium for pixel-perfect output. The ChangeThisFile API runs LibreOffice server-side as one fetch call when you can't ship Chromium with your service.
Document
How to Convert HTML to PDF in Python
To convert HTML to PDF in Python, the pure-Python option is WeasyPrint — supports modern CSS (including CSS Paged Media for headers/footers), no browser required. For modern web apps with JavaScript-rendered content, Playwright with Chromium gives pixel-perfect browser rendering. The ChangeThisFile API runs LibreOffice or wkhtmltopdf server-side as one HTTP call.
Image
How to Convert JPG to PNG in JavaScript
To convert JPG to PNG in JavaScript, the browser uses canvas.toBlob('image/png') — no library needed. In Node, sharp is the canonical option (libvips bindings, fastest in the ecosystem). For edge runtimes (Cloudflare Workers, Vercel Edge) where you can't load native bindings, the ChangeThisFile API is one fetch call.
Image
How to Convert JPG to PNG in Python
To convert JPG to PNG in Python, the canonical option is Pillow: Image.open('in.jpg').save('out.png', 'PNG'). For batch jobs with mixed input formats, Wand (ImageMagick) is more flexible. The conversion is mostly format-only — JPG's data is already lossy, so PNG output preserves the JPG quality you have, not the original quality. The ChangeThisFile API does it as a single HTTP call.
Data
How to Convert JSON to YAML in Go
To convert JSON to YAML in Go, the canonical library is gopkg.in/yaml.v3 — round-trips JSON cleanly via interface{} and produces idiomatic YAML. For Kubernetes-flavored YAML (key ordering, certain quoting rules), sigs.k8s.io/yaml is closer to what kubectl produces. The ChangeThisFile API does it as one net/http call and handles tricky inputs (mixed types, deeply nested) without configuration.
Data
How to Convert JSON to YAML in JavaScript
To convert JSON to YAML in JavaScript, the most popular library is js-yaml: yaml.dump(json, { sortKeys: false, lineWidth: -1 }). For YAML 1.2 compliance and round-trip safety, use the yaml package by eemeli. For edge runtimes or to skip dependencies, the ChangeThisFile API does it in one fetch call. All three work in both browser and Node.
Data
How to Convert JSON to YAML in Python
To convert JSON to YAML in Python, the simplest method is PyYAML: yaml.dump(json.load(open('in.json')), open('out.yaml', 'w'), sort_keys=False, default_flow_style=False). For round-trip-safe conversion that preserves comments and quoting, use ruamel.yaml. For unpredictable inputs or to skip the dependency entirely, the ChangeThisFile API does it in one HTTP call.
Audio
How to Convert M4A to MP3 in Python
To convert M4A to MP3 in Python, the easiest path is pydub: AudioSegment.from_file('in.m4a').export('out.mp3', format='mp3', bitrate='192k'). M4A is AAC audio in an MP4 container — both pydub (via FFmpeg) and ffmpeg-python decode and re-encode in one step. Tag preservation requires mutagen since neither pydub nor FFmpeg propagate them by default. The ChangeThisFile API handles tags + conversion in one call.
Video
How to Convert MKV to MP4 in Python
To convert MKV to MP4 in Python, the fastest approach is ffmpeg-python with -c copy — most MKVs have H.264 + AAC streams that MP4 supports natively, so no re-encoding is needed (instant, lossless). For MKVs with codecs MP4 doesn't support (FLAC audio, embedded subtitles), partial re-encoding is required. The ChangeThisFile API runs the same workflow server-side as one HTTP call.
Video
How to Convert MOV to MP4 in Go
To convert MOV to MP4 in Go, the canonical path is shelling out to FFmpeg via os/exec — for H.264 MOVs, use -c copy to rewrap without re-encoding (instant, lossless). Probe codecs first with ffprobe to decide. For environments without FFmpeg, the ChangeThisFile API runs the same workflow server-side as one net/http call.
Video
How to Convert MOV to MP4 in Python
To convert MOV to MP4 in Python, the fastest path is ffmpeg-python with a stream-copy: -c copy moves the existing H.264 video stream into an MP4 container without re-encoding (instant, lossless). For older MOVs with non-H.264 codecs (ProRes, etc.), re-encoding via libx264 is required. moviepy is more ergonomic but always re-encodes. The ChangeThisFile API runs FFmpeg server-side as one HTTP call.
Video
How to Convert MP4 to GIF in Go
To convert MP4 to GIF in Go, the canonical approach is shelling out to FFmpeg via os/exec with its two-pass palettegen+paletteuse workflow — this gives professional-quality GIFs at small file sizes. Pure-Go via image/gif works for trivial cases but produces much larger files and you'd have to decode H.264 yourself. The ChangeThisFile API runs the same FFmpeg workflow as a single net/http call.
Video
How to Convert MP4 to GIF in JavaScript
To convert MP4 to GIF in JavaScript, the browser uses ffmpeg.wasm — a WebAssembly build of FFmpeg that runs entirely client-side. In Node, fluent-ffmpeg wraps the system FFmpeg binary. For server apps that don't want to ship FFmpeg, the ChangeThisFile API does the conversion in one fetch call. All three use the same FFmpeg engine, so output quality is identical at the same settings.
Video
How to Convert MP4 to GIF in Python
To convert MP4 to GIF in Python, the simplest approach is moviepy: VideoFileClip('in.mp4').subclip(0, 5).resize(0.5).write_gif('out.gif'). For finer control over frame rate and palette, use ffmpeg-python with the standard palette-optimization filter chain. For unpredictable user uploads or to avoid bundling FFmpeg with your app, the ChangeThisFile API does it in one HTTP call.
Document
How to Convert PDF to DOCX in JavaScript
To convert PDF to DOCX in JavaScript, the browser-only path is PDF.js (extract text + structure) + docx (build the DOCX) — works for simple PDFs. For complex layouts, Node + LibreOffice via child_process is much higher fidelity. Pure-JS fidelity is limited; for production-quality conversion the ChangeThisFile API runs LibreOffice + OCR fallback server-side as one fetch call.
Document
How to Convert PDF to DOCX in Python
To convert PDF to DOCX in Python, the canonical option is pdf2docx — pure Python, preserves layout, tables, and images. For complex multi-column PDFs or higher-fidelity output, shell out to LibreOffice via subprocess. For scanned PDFs, neither works without OCR — the ChangeThisFile API runs LibreOffice with OCR fallback for image-only PDFs.
Image
How to Convert PDF to JPG in Go
To convert PDF to JPG in Go, the simplest path is shelling out to Poppler's pdftoppm via os/exec — it handles every PDF feature and gives precise DPI control. For in-process rendering without a Poppler dep, gen2brain/go-fitz wraps MuPDF via cgo. The ChangeThisFile API runs Poppler server-side as a single net/http call.
Image
How to Convert PDF to JPG in JavaScript
To convert PDF to JPG in JavaScript, the browser uses Mozilla's PDF.js to render pages onto a Canvas, then canvas.toBlob('image/jpeg'). In Node, pdf-img-convert wraps Poppler for the same workflow without the browser. The ChangeThisFile API runs the same Poppler workflow as a single fetch call — useful for edge runtimes where you can't bundle PDF.js or Poppler.
Image
How to Convert PDF to JPG in Python
To convert PDF to JPG in Python, the simplest option is pdf2image: convert_from_path('in.pdf', dpi=200) returns a list of Pillow images you save as JPGs. PyMuPDF (fitz) is faster and pure-Python (no Poppler dependency). For unpredictable PDFs at scale, the ChangeThisFile API runs the same Poppler workflow server-side without local installs.
Image
How to Convert PDF to PNG in Python
To convert PDF to PNG in Python, the simplest option is pdf2image: convert_from_path('in.pdf', dpi=200, fmt='png') returns Pillow images. PyMuPDF (fitz) is faster and has no Poppler dependency. Use PNG over JPG when you need transparency (PDFs with cutout backgrounds), pixel-perfect output for OCR, or lossless rendering of diagrams. The ChangeThisFile API runs Poppler server-side for environments without local installs.
Document
How to Convert PDF to Text in Go
To extract text from PDFs in Go, the pure-Go option is github.com/ledongthuc/pdf — fast, no native deps, but limited to selectable text (no OCR). For higher-quality layout preservation, shell out to poppler's pdftotext via os/exec. For scanned PDFs, neither works without OCR — the ChangeThisFile API runs pdftotext server-side and falls back to OCR for image-only PDFs.
Document
How to Convert PDF to Text in JavaScript
To convert a PDF to plain text in JavaScript, the simplest approach is the ChangeThisFile API: a fetch POST to https://changethisfile.com/v1/convert with the file, source=pdf, and target=txt returns the extracted text. For local extraction in Node.js, use pdf-parse (lightweight) or pdf.js (Mozilla's PDF engine, also runs in browsers). pdf.js is the only option for pure-browser extraction with no server.
Document
How to Convert PDF to Text in Python
To convert a PDF to plain text in Python, the simplest approach is the ChangeThisFile API — a single POST request to https://changethisfile.com/v1/convert with the file, source=pdf, and target=txt returns the extracted text. For local extraction without an API call, use pdfplumber (best for text-layer PDFs with structured layout) or PyPDF2 (lightweight, pure Python). Scanned PDFs without a text layer require OCR via Tesseract.
Document
How to Convert PNG to PDF in JavaScript
To convert PNG to PDF in JavaScript, the browser uses jsPDF: new jsPDF().addImage(pngDataUrl, 'PNG', 0, 0).save(). pdf-lib works in browser and Node, embeds PNG bytes losslessly. The ChangeThisFile API does it as a single fetch call when you don't want to bundle a PDF library.
Document
How to Convert PNG to PDF in Python
To convert PNG to PDF in Python, the lossless option is img2pdf — embeds the PNG bytes directly into the PDF without re-encoding. Pillow can also do it but recompresses the image (lossy). For multi-page PDFs from many PNGs, both libraries support a list of inputs in one call. The ChangeThisFile API does it as a single HTTP call.
Image
How to Convert PNG to WebP in Go
To convert PNG to WebP in Go, the official option is golang.org/x/image/webp (decode-only) paired with chai2010/webp for encoding via libwebp. For batch performance, libvips via davidbyttow/govips outperforms everything by 5-10x. The ChangeThisFile API runs libvips server-side as one net/http call when you can't link native libs (Lambda, Alpine without libwebp).
Image
How to Convert PNG to WebP in JavaScript
To convert PNG to WebP in JavaScript, the browser uses canvas.toBlob('image/webp', quality) — no library needed, runs entirely client-side. In Node, sharp is the canonical choice (libvips bindings, fastest in the ecosystem). For edge runtimes (Cloudflare Workers, Vercel Edge) where you can't load native bindings, the ChangeThisFile API is a single fetch call.
Image
How to Convert PNG to WebP in Python
To convert PNG to WebP in Python, the simplest method is Pillow (PIL): Image.open('in.png').save('out.webp', 'WEBP', quality=85). For drop-in batch processing of mixed image sets, use Wand (ImageMagick bindings). For unpredictable inputs from users or third parties, the ChangeThisFile API handles edge cases (corrupt headers, unusual color spaces, animated PNGs) without local dependencies.
Image
How to Convert SVG to PNG in Go
To convert SVG to PNG in Go, the pure-Go option is srwiley/oksvg + srwiley/rasterx — handles most icons, charts, and diagrams without native deps. For complex SVG (filters, gradients, embedded fonts), shell out to librsvg's rsvg-convert via os/exec for higher fidelity. The ChangeThisFile API runs the same librsvg pipeline server-side as one net/http call.
Image
How to Convert SVG to PNG in Python
To convert SVG to PNG in Python, the most reliable option is cairosvg: cairosvg.svg2png(url='in.svg', write_to='out.png', output_width=2048). It uses Cairo's vector renderer for crisp output at any resolution. For pure-Python (no native deps) use svglib + reportlab. For unpredictable SVG inputs from users, the ChangeThisFile API handles edge cases like external font references and complex filters.
Audio
How to Convert WAV to MP3 in Go
To convert WAV to MP3 in Go, the canonical approach is shelling out to FFmpeg via os/exec — handles every WAV variant (PCM, IEEE float, ADPCM) and gives you full control over bitrate. For pure-cgo, viert/go-lame wraps libmp3lame directly. The ChangeThisFile API runs FFmpeg server-side as one net/http call, useful when you don't want FFmpeg in your binary.
Audio
How to Convert WAV to MP3 in Python
To convert WAV to MP3 in Python, the simplest approach is pydub: AudioSegment.from_wav('in.wav').export('out.mp3', format='mp3', bitrate='192k'). For finer control over encoding parameters, use ffmpeg-python directly. For unpredictable inputs or to skip FFmpeg installation, the ChangeThisFile API does it in one HTTP call. All three call FFmpeg or LAME under the hood.
Video
How to Convert WebM to MP4 in JavaScript
To convert WebM to MP4 in JavaScript, the browser uses ffmpeg.wasm (FFmpeg compiled to WebAssembly) — runs entirely client-side, no server needed. In Node, fluent-ffmpeg wraps the FFmpeg binary cleanly. The ChangeThisFile API runs FFmpeg server-side as one fetch call when bundle size or browser compatibility is a concern.
General
How to Convert XLSX to CSV in Go
To convert XLSX to CSV in Go, the canonical library is xuri/excelize — full XLSX feature support including formulas, styles, and multiple sheets. tealeg/xlsx is older but still maintained and lighter for read-only workflows. The ChangeThisFile API runs LibreOffice server-side and handles edge cases (broken XLSX, exotic features) without dependencies.
Data
How to Convert XLSX to CSV in JavaScript
To convert XLSX to CSV in JavaScript, the most popular library is SheetJS (xlsx) — works in browsers and Node, handles multi-sheet workbooks. exceljs is a more modern alternative with streaming support for huge files. The ChangeThisFile API is the option when you want zero dependencies or are running in an edge runtime. SheetJS is the right default for most JS projects.
Data
How to Convert XLSX to CSV in Python
To convert XLSX to CSV in Python, the simplest method is pandas: pd.read_excel('file.xlsx').to_csv('file.csv', index=False). For row-by-row processing without loading the whole workbook, use openpyxl in read-only mode. For unpredictable user-uploaded XLSX (multiple sheets, complex formulas, embedded objects), the ChangeThisFile API handles edge cases automatically.
Archive
How to Convert ZIP to TAR in Go
To convert ZIP to TAR in Go, the standard library is enough — archive/zip + archive/tar handle every common case without third-party deps. For files with exotic compression (BZIP2 inside ZIP, encrypted ZIP), shell out to 7-Zip via os/exec. The ChangeThisFile API runs 7-Zip server-side as one net/http call when you don't want the dep.
Archive
How to Convert ZIP to TAR in Python
To convert ZIP to TAR in Python, the simplest method uses the standard library: zipfile to extract, tarfile to repack. No third-party dependencies. For large archives, stream the conversion to avoid loading everything into memory. For unpredictable inputs (password-protected, corrupted, multi-disk ZIPs), the ChangeThisFile API uses 7-Zip server-side which handles edge cases zipfile can't.
Audio
Free Online Audio Format Converter
Convert between MP3, WAV, AAC, OGG, FLAC, OPUS, M4A, WMA, AIFF, and more free online. ChangeThisFile uses FFmpeg for all audio conversions — upload your file and download the converted audio in seconds. No signup, no watermark. Files auto-deleted after conversion.
Data
JSON vs YAML: Which Config Format Is Better?
JSON is strict, universal, and unambiguous — use it for APIs, databases, and machine-to-machine data exchange. YAML is human-readable with comments, multiline strings, and less punctuation — use it for configuration files, Docker Compose, Kubernetes manifests, and CI/CD pipelines. Both formats represent the same underlying data structures (objects, arrays, strings, numbers, booleans, null) and convert losslessly between each other, with one exception: YAML supports comments and JSON does not.
Data
TSV vs CSV: Which Format Should You Use?
TSV (Tab-Separated Values) uses tab characters as delimiters — no quoting or escaping needed when data contains commas. CSV (Comma-Separated Values) uses commas — fields containing commas must be wrapped in double quotes. Use CSV for spreadsheets, APIs, and anything going into Excel. Use TSV when your data regularly contains commas (addresses, descriptions, prose text) and you're working in a pipeline that won't touch it in a spreadsheet.
Video
Convert Any Video to GIF Free Online
Convert MP4, AVI, WebM, MOV, MKV, WMV, FLV, or 3GP to animated GIF free online. Upload your video, ChangeThisFile extracts frames with FFmpeg and generates a looping GIF. No watermark, no signup. Files auto-deleted after conversion.
Data
XLSX vs CSV: When to Use Each Format
XLSX is a rich spreadsheet format that stores formulas, cell formatting, charts, multiple sheets, named ranges, conditional formatting, and data validation. CSV is plain text — it stores only values (no formulas, no formatting, no multiple sheets). Use XLSX when you need to preserve spreadsheet functionality or share data within the Office/Sheets ecosystem. Use CSV for data exchange: importing into databases, feeding ML pipelines, and any situation where the consuming system needs to parse the data programmatically.
Video
4K Video Conversion: Codecs, Settings, and File Sizes
4K (3840x2160) video has 4x the pixels of 1080p, requiring 2-4x the bitrate and storage. At good quality, 4K needs 35-68 Mbps with H.264 (25-50GB/hr), 15-30 Mbps with H.265 (10-22GB/hr), or 10-20 Mbps with AV1 (7-15GB/hr). H.265 or AV1 are effectively required for practical 4K file sizes. For sharing, downscaling to 1080p reduces file size by 75% with minimal visible quality loss on most screens.
Archive
7z: Maximum Compression with 7-Zip
7z is an open archive format created by Igor Pavlov that achieves the highest compression ratios of any mainstream format, typically 30-70% smaller than ZIP. It uses LZMA2 compression with solid archiving and supports AES-256 encryption including optional filename encryption.
Audio
AAC and M4A: The Modern Lossy Audio Standard
AAC (Advanced Audio Coding) is the successor to MP3, delivering better audio quality at the same bitrate through more advanced psychoacoustic modeling and spectral processing. M4A is simply AAC audio stored in an MPEG-4 container. AAC is the default audio codec for Apple devices, YouTube, Instagram, and most MP4 video. At 256 kbps (Apple's iTunes Plus standard), AAC is transparent to the source for virtually all listeners.
Document
File Formats for Academic Papers and Research
Academic papers move through multiple formats: written in LaTeX or Word, submitted as PDF or DOCX (journal-dependent), references managed in BibTeX or Zotero, preprints uploaded to arXiv as TeX source or PDF. The format choice depends on your discipline — STEM fields strongly favor LaTeX; humanities and social sciences typically use Word.
Document
Creating Accessible Documents: Formats and Standards
Document accessibility means people with disabilities can read, navigate, and understand your content using assistive technology. HTML is the most natively accessible format. DOCX with proper styles is accessible by default. PDF requires tagged structure (PDF/UA) to be accessible. Creating accessible documents from scratch is far easier than remediating inaccessible ones after the fact.
Data
API Response Formats: JSON, XML, GraphQL, and Beyond
REST + JSON is the default for public APIs. SOAP + XML persists in enterprise and government. GraphQL lets clients request exactly the data they need. gRPC + Protocol Buffers is the standard for high-performance microservice communication. The format choice depends on your consumers, performance requirements, and ecosystem.
Archive
Archive Encryption: Securing Your Compressed Files
For encrypted archives, use 7z with AES-256 and filename encryption enabled. ZIP's ZipCrypto is broken — crackable in minutes with known-plaintext attacks. ZIP's AES-256 is secure but doesn't encrypt filenames. RAR5 uses AES-256 with optional filename encryption. Password strength matters more than algorithm choice: 12+ random characters minimum.
Archive
Archive Formats for Developers: Source Code, Artifacts, and Deployment
Archive formats are embedded throughout the software development lifecycle. Source code distributes as .tar.gz/.tar.xz. Docker image layers are TAR files. npm packages are tarballs. Java JARs and Python wheels are ZIP files. Debian packages are ar archives containing tarballs. Understanding these formats helps debug build failures and optimize CI/CD pipelines.
Archive
Archive Formats Compared: ZIP vs 7Z vs TAR.GZ
Use ZIP when sharing files with anyone — it's natively supported by Windows, macOS, and Linux with no extra software. Use 7Z when maximum compression matters and the recipient can install 7-Zip. Use TAR.GZ for Linux/Unix environments and source code distribution. TAR.XZ gives the best compression ratio for tarballs but is slower to create.
Audio
Audio Bitrate Explained: What the Numbers Actually Mean
Audio bitrate is the number of bits used per second of audio. Higher bitrate means more data preserved, generally meaning better quality. For MP3, transparency (indistinguishable from CD) is around 192-256 kbps. For AAC, it's around 192 kbps. For Opus, it's around 128 kbps. Above these thresholds, extra bitrate is wasted data that adds file size without audible improvement.
Audio
Audio Formats for Music Production and Distribution
Record and mix in WAV or AIFF at 48 kHz / 24-bit. Deliver stems as WAV. Master to WAV for the CD master, FLAC for hi-res distribution, and let distributors handle lossy encoding for streaming. Keep session files and bounces in lossless formats throughout the production chain — lossy encoding happens once, at the very end.
Audio
Audio Formats for Podcasting: Recording to Distribution
Record podcasts in WAV or FLAC at 48 kHz / 24-bit. Edit in the same format. Export for distribution as MP3 at 128 kbps mono (speech-only) or 192 kbps stereo (with music). Normalize loudness to -16 LUFS for Apple Podcasts and -14 LUFS for Spotify. MP3 is the universal distribution format — every podcast app supports it without exception.
Audio
Audio Formats Explained: MP3 vs WAV vs FLAC vs AAC
MP3 is universally compatible but technically outdated. AAC sounds better at the same bitrate and is the default in Apple devices and MP4 video. FLAC is lossless — bit-perfect reconstruction at 50-70% of WAV's size. WAV is uncompressed raw audio, used in professional production. For the best quality-to-size ratio in 2026, Opus wins at every bitrate, but compatibility is narrower.
Audio
Audio Metadata and ID3 Tags: What You Need to Know
Audio metadata (tags) stores information about the audio content — artist, title, album, track number, cover art — within the audio file itself. MP3 uses ID3 tags (v1 or v2). FLAC and OGG use Vorbis Comments. M4A/AAC uses MP4 atoms. Metadata survives as long as you stay within the same format family, but converting between formats (MP3 to FLAC, etc.) may lose or alter metadata depending on the conversion tool.
Audio
Audiobook Formats: M4B, MP3, and Beyond
M4B is the standard audiobook format — AAC audio in an MPEG-4 container with chapter markers and bookmark support. Apple Books and most audiobook apps use M4B natively. MP3 is the universal fallback that plays everywhere but lacks native chapter support. Audible uses proprietary AA/AAX formats with DRM. For creating audiobooks, encode as M4B with chapters at 64-128 kbps AAC.
Ebook
Audiobooks vs Ebooks: Formats, Platforms, and Conversion
Audiobooks (M4B, AA, AAX, MP3) and ebooks (EPUB, MOBI, PDF) are fundamentally different media sharing the same content. Text-to-speech can bridge them but isn't a replacement for professional narration. AI-generated TTS (via ElevenLabs, OpenAI, Google) has dramatically closed the quality gap since 2024.
Video
AVI: Microsoft's Legacy Video Format
AVI (Audio Video Interleave) is Microsoft's original video container format, introduced in 1992. It lacks native streaming support, modern metadata features, and subtitle tracks. While AVI can technically hold modern codecs like H.264, it wasn't designed for them and adds no value over MP4. AVI persists in legacy camera systems, industrial equipment, and old file archives — but any new video should use MP4 or MKV instead.
Image
AVIF Format: Next-Gen Image Compression Explained
AVIF is an image format based on the royalty-free AV1 video codec, producing files 20-30% smaller than WebP and 50%+ smaller than JPEG at equivalent quality. It supports 10-bit and 12-bit HDR, wide color gamuts, and alpha transparency. The tradeoff is encoding speed — 10-50x slower than JPEG — making it best suited for pre-built assets rather than real-time conversion.
Archive
Best Archive Formats for Backups
TAR.ZSTD is the best backup format for most scenarios: fast compression, good ratio, and Unix metadata preservation. TAR.XZ trades speed for the smallest archive size. ZIP is the right choice for cross-platform backups where Windows users need access. Always test restoration from backups regularly.
General
Base64 Encoding: When and When Not to Use It
Base64 converts binary data to ASCII text, adding a 33% size overhead. Use it for small inline images (under 2KB via data URIs), embedding binary in JSON, and email attachments. Avoid it for large files, cacheable assets, and anywhere Blob URLs or ArrayBuffer would work better.
General
Batch Conversion: Processing Thousands of Files Efficiently
Batch conversion means automating format conversion across hundreds or thousands of files using tools like FFmpeg, ImageMagick, LibreOffice headless, and Pandoc with command-line scripting. The key to reliable batch processing: preserve originals, handle errors gracefully, name outputs predictably, and monitor progress.
Document
Batch Document Conversion: Processing Hundreds of Files
Batch document conversion uses command-line tools — LibreOffice headless for office formats (DOC, DOCX, ODT, RTF to PDF), Pandoc for markup formats (Markdown, HTML, LaTeX), and Ghostscript for PDF operations (compression, merging, PDF/A conversion). The key challenges are error handling, font consistency, and encoding issues at scale.
Image
BMP, TIFF, and Legacy Image Formats: When You Still Need Them
BMP is an uncompressed raster format producing predictably huge files (a 1920x1080 image is exactly 5.7MB). TIFF is a flexible tag-based format supporting lossless compression, CMYK, 16-bit depth, and multi-page — the standard for print and archival. ICO is a multi-resolution container for Windows icons and favicons. These formats aren't obsolete; they serve specific professional workflows where modern web formats can't.
Ebook
CBR, CBZ, and Digital Comic Formats
CBR and CBZ are renamed RAR and ZIP archives containing sequentially numbered image files. CBZ (ZIP-based) is preferred for new archives due to universal tool support. ComicInfo.xml provides optional metadata. For readable comics, images should be at least 1800x2700 pixels.
General
CDN Image Transformation: Cloudflare, imgix, and Cloudinary
CDN image transformation services resize, reformat, and optimize images on-the-fly at the edge. Cloudflare Image Resizing integrates with Workers for maximum control, imgix uses URL parameters for simplicity, and Cloudinary offers the richest transformation API. All three support auto-format detection via the Accept header, eliminating the need for build-time image generation.
Privacy
Why Client-Side File Conversion Is Better for Privacy
Client-side file conversion processes files entirely in your browser using JavaScript and WebAssembly. Your file data stays in local memory (RAM) and never travels over a network connection. This makes it faster than server-based conversion (no upload/download time) and fundamentally more private, since the conversion service never has access to your files.
Font
Color Fonts and Emoji: Formats and Rendering
Emoji render differently across platforms because each OS ships its own color emoji font using different formats: Apple uses SBIX (bitmaps), Google uses CBDT (bitmaps) and COLRv1 (vectors), and Microsoft/Mozilla use COLR/CPAL (vectors). There is no universal color font format yet, though COLRv1 is emerging as the standard with vector support and broad browser adoption.
General
Color Spaces and File Formats: sRGB, Adobe RGB, and P3
A color space defines which colors are available and how numeric values map to visible colors. sRGB is the web standard (35% of visible colors). Adobe RGB is for print workflows (50%). DCI-P3 is for modern displays (45%). ProPhoto RGB is for editing headroom (90%). File formats vary in color space support: JPEG and PNG support any ICC profile, WebP is limited to sRGB, and AVIF supports HDR wide color gamut natively.
Video
How to Compress Video for Email (Under 25MB)
To get a video under 25MB for email, reduce resolution to 720p, use H.264 with CRF 28-32, lower the frame rate to 24fps, and use AAC audio at 96kbps. A 2-minute 720p video at these settings produces a 10-15MB file. For longer videos, trim to the essential clip. For anything over 3 minutes, use a cloud sharing link instead of an attachment.
Archive
How Compression Algorithms Work: From Huffman to LZMA
Lossless compression works by finding and eliminating redundancy in data. Dictionary-based methods (LZ77, LZ78, LZW) replace repeated byte sequences with short references. Entropy coders (Huffman, arithmetic, ANS) assign shorter codes to more frequent symbols. Modern algorithms like DEFLATE, LZMA, Brotli, and Zstandard combine these techniques for maximum compression.
Data
Configuration File Formats Compared: INI, JSON, YAML, TOML, ENV
Use ENV for secrets and 12-factor apps. Use TOML for application config (explicit types, comments, no indentation bugs). Use YAML for infrastructure config (deep nesting, DevOps ecosystem). Use JSON only when the toolchain requires it. Avoid INI for new projects (no standard, no types). HCL is Terraform-specific.
Document
Converting Scanned Documents: OCR and Format Options
A scanned document is an image of text, not actual text. Converting it to an editable or searchable format requires OCR (Optical Character Recognition) to recognize characters in the image. OCR accuracy depends on scan quality (300 DPI minimum), image contrast, language, and the OCR engine used. Tesseract 5 handles clean printed text well; complex layouts and handwriting still challenge all OCR engines.
Video
How to Convert Videos Without Losing Quality
Truly lossless video conversion is only possible when changing containers without changing codecs (e.g., MKV to MP4 with H.264 — called remuxing). When you must re-encode, use CRF 18 for visually lossless quality, avoid re-encoding more than once, never upscale resolution, and keep the original file as your master.
General
Cross-Platform File Compatibility: Windows, macOS, Linux
Files created on one operating system frequently break on another due to filename case sensitivity, CRLF vs LF line endings, character encoding mismatches, archive permission handling, and codec availability differences. Understanding these platform-specific behaviors prevents the most common cross-platform file headaches.
Data
CSV: Simple, Broken, and Everywhere
CSV (Comma-Separated Values) is the simplest and most widely supported tabular data format, but it has no real standard, no type system, and rampant encoding and delimiter inconsistencies. RFC 4180 is the closest thing to a specification, but most real-world CSV files violate it.
Data
CSV Encoding and Delimiters: Why Your Data Looks Wrong
CSV encoding problems stem from the format having no standard way to declare its character encoding or delimiter. UTF-8 without BOM causes garbled text in Excel. European CSVs use semicolons because commas are decimal separators. The fixes: UTF-8 with BOM for Excel, explicit delimiter specification, and TSV as a locale-independent alternative.
General
CSV for Data Analysis: Best Practices and Pitfalls
CSV is the universal interchange format for tabular data, but it's deceptively tricky for analysis. Leading zeros are silently stripped, types must be manually specified, and memory usage when loading is 5-10x the file size. For datasets over 1GB, switch to Parquet (columnar, compressed, typed) or Arrow (fast interchange). For everything else, specify encoding (UTF-8), define dtypes explicitly, and use chunked reading for large files.
Data
CSV vs JSON vs XML: Choosing the Right Data Format
Use CSV for flat, tabular data (spreadsheets, ML training sets, simple exports). Use JSON for structured data with nesting (APIs, config files, document databases). Use XML when you need formal schemas, namespaces, or are working with enterprise/legacy systems. CSV is the simplest but has no type information; JSON has types and nesting but no schema enforcement; XML has both but is verbose.
Data
Data Migration Between Formats: A Practical Guide
Every format conversion involves potential data loss, type changes, or structural transformation. CSV to JSON gains structure (lossless). JSON to CSV loses nesting (lossy). XML to JSON loses attributes and namespaces. YAML to JSON is lossless. Understanding what's preserved and what's lost is the key to safe data migration.
Data
Data Serialization Formats: JSON, Protocol Buffers, MessagePack, and More
Text formats (JSON, XML, YAML) prioritize readability and debugging. Binary formats (Protocol Buffers, MessagePack, CBOR, Avro, Thrift) prioritize size and speed. Protocol Buffers are ~70% smaller and 5-10x faster than JSON. Use binary for high-throughput APIs, IoT, and game networking. Use text for everything else.
General
Digital Preservation: File Formats That Stand the Test of Time
For files that must remain accessible decades from now, choose formats with open specifications, wide tool support, and institutional adoption: PDF/A for documents, TIFF for images, WAV or FLAC for audio, MKV with FFV1 for video, and plain text for anything that doesn't need formatting. Proprietary formats die when the company does.
Document
DOC vs DOCX: Why You Should Finally Migrate
DOC is a proprietary binary format from Word 97 that stores data as opaque binary structures. DOCX is a ZIP archive of XML files, typically 50-75% smaller, safer (can't hide macros under the .docx extension), and backed by an ISO standard. There's no technical reason to keep files in DOC format unless you're supporting systems from before 2007.
Document
How to Convert Documents Between Any Format
Document conversion quality depends on the direction and the formats involved. DOCX-to-PDF is nearly lossless. PDF-to-DOCX is lossy because PDF stores visual positions, not document structure. DOCX and ODT convert between each other well. Converting anything to TXT strips all formatting. For best results, always convert from the original editable source format, not from a PDF.
Document
DOCX: Inside Microsoft Word's Modern Format
DOCX is not a single file but a ZIP archive containing XML documents, style definitions, media assets, and relationship metadata. Introduced with Office 2007 as part of the OOXML standard (ECMA-376, later ISO/IEC 29500), it replaced the proprietary binary DOC format with something inspectable, repairable, and dramatically smaller.
General
DPI vs PPI: Understanding Image Resolution
PPI (pixels per inch) describes digital images — how pixel dimensions relate to physical output size. DPI (dots per inch) describes printer output — how many ink dots the printer lays down per inch. A 3000x2000 pixel image has no inherent DPI; it becomes 300dpi only when printed at 10"x6.67". For screen display, DPI/PPI metadata is meaningless — only pixel dimensions matter.
Ebook
Ebook Accessibility: Standards and Implementation
EPUB accessibility combines WCAG 2.1 with ebook-specific requirements: semantic HTML, complete navigation (TOC, page list, landmarks), image alt text, proper reading order, and accessibility metadata. The EU European Accessibility Act (effective June 2025) makes compliance a legal requirement for ebooks sold in Europe.
Ebook
Ebook DRM and Format Conversion: What You Can and Can't Do
DRM (Digital Rights Management) encrypts ebook files and ties them to specific accounts or devices. The three major systems are Adobe ADEPT (most EPUB retailers), Amazon DRM (Kindle), and Apple FairPlay (Apple Books). DRM-protected files cannot be legitimately converted between formats. DRM-free ebooks convert freely.
Ebook
Ebook Formats: EPUB vs MOBI vs PDF for Every Device
EPUB is the universal ebook standard supported by every major reader except Kindle. For Kindle, use AZW3 (Kindle Format 8) or just send EPUB directly via Send-to-Kindle, which has accepted EPUB since 2022. PDF is wrong for ebooks unless layout matters more than readability — textbooks, sheet music, and technical docs with diagrams are the exceptions.
Ebook
Ebook Metadata and Cover Images: Getting Them Right
Ebook metadata (title, author, series, ISBN, language) determines how your book appears in stores, libraries, and readers. Cover images need to be at least 2560x1600 pixels RGB JPEG for universal platform compatibility. Missing or wrong metadata means invisible books and broken library organization.
Ebook
EPUB: Inside the Open Ebook Standard
EPUB is a ZIP archive containing XHTML content, CSS stylesheets, and XML metadata. EPUB 3 adds HTML5, JavaScript, MathML, audio/video embeds, and fixed-layout support. Understanding the internals lets you debug formatting issues, build EPUBs from scratch, and know exactly what breaks during conversion.
Ebook
EPUB vs PDF for Reading: Reflowable vs Fixed Layout
EPUB reflows text to fit any screen size, letting readers control font, size, and spacing. PDF preserves exact page layout but is miserable to read on phones and small e-readers. Use EPUB for prose, PDF for layout-dependent content like textbooks, sheet music, and technical manuals.
General
Excel and CSV: The 10 Pitfalls That Corrupt Your Data
Excel silently corrupts CSV data in at least 10 documented ways: stripping leading zeros from ZIP codes, auto-formatting gene names as dates (MARCH1 becomes March 1), truncating long numbers to scientific notation, mangling UTF-8 encoding, misinterpreting delimiters, breaking on newlines in cells, executing formula injection attacks, losing timezone information, swapping decimal separators by locale, and introducing invisible characters. Each has a specific prevention strategy.
Image
Favicon and App Icon Formats: ICO, PNG, SVG, and More
In 2026, the minimal favicon set is: a 32x32 favicon.ico at the site root, a 180x180 Apple Touch Icon PNG, a 192x192 and 512x512 PNG in your Web App Manifest, and optionally an SVG favicon for scalability and dark mode support. ICO remains required because browsers still request /favicon.ico by default. SVG favicons support prefers-color-scheme for automatic dark mode adaptation. Skip the dozen-size icon sets from older guides — four files cover everything.
Ebook
FB2: The FictionBook Format for Ebooks
FB2 (FictionBook 2) is an XML-based ebook format that's the dominant standard in Russia and Eastern Europe. It stores all content — text, metadata, and images — in a single well-structured XML file with explicit semantic tags for sections, epigraphs, poems, and citations.
General
The Complete Guide to File Conversion
File conversion reads data structured in one format and writes it in another. Some conversions are lossless (CSV to JSON -- just repackaging the same data), while others are lossy (WAV to MP3 -- discarding audio frequencies to shrink the file). The nine major format categories are images, video, audio, documents, data/config, spreadsheets, ebooks, archives, and fonts, each with different tradeoffs around quality, compatibility, and file size.
General
File Conversion Troubleshooting: Why It Failed and How to Fix It
File conversion fails for predictable reasons: corrupted source files, unsupported format variations, character encoding mismatches, missing fonts, codec incompatibilities, DRM protection, and file size limits. Most failures can be diagnosed by checking the file's first few bytes (magic number), verifying the actual format matches the extension, and reading the error message carefully.
General
File Encryption: Protecting Sensitive Files Before Sharing
File-level encryption protects sensitive data using AES-256 encryption built into formats like 7Z, PDF, and DOCX. The encryption is only as strong as the password — a 12+ character passphrase with AES-256 is practically unbreakable, while a 6-character password with legacy ZipCrypto is useless.
General
A Brief History of File Formats
File formats have evolved over six decades, from ASCII text (1963) through the GIF/JPEG/PNG era of the 1990s to modern codecs like AVIF and AV1. The pattern is consistent: proprietary formats emerge first, open standards eventually win, and patent disputes accelerate the adoption of royalty-free alternatives.
General
File Formats by Use Case: A Decision Guide
The right file format depends on the use case: JPG for email photos, WebP/AVIF for web images, PDF for documents, MP4 H.264 for shareable video, FLAC for audio archival, and CSV/JSON for data exchange. This guide provides decision matrices for every combination of use case and media type.
General
File Formats Every Web Developer Should Know
Web developers need to know roughly 20 file formats across six categories: images (WebP/AVIF for delivery, SVG for icons, PNG for screenshots), video (MP4 H.264 for universal playback, WebM VP9 for modern browsers), audio (MP3/AAC for broad support, Opus for quality-per-bit), fonts (WOFF2 only), data (JSON for APIs, CSV for exports), and documents (PDF for downloads, ZIP for bundles).
General
File Handoff Between Design Tools: Format Compatibility
Design tool handoff depends on the destination. Figma to development: SVG for icons/vectors, PNG 2x for complex graphics, CSS code inspect for styles. Photoshop to web: Export As WebP/PNG. Illustrator to web: SVG export optimized with SVGO. Canva to anything: PDF for print, PNG for digital. Cross-tool exchange is lossy — use intermediate formats (SVG, PNG, PDF) rather than relying on native format compatibility.
General
File Integrity and Checksums: Verifying Your Conversions
Checksums are fingerprints for files: fixed-length values computed from file contents that change if even a single bit is altered. SHA-256 is the standard for verifying file integrity after conversions, downloads, and transfers. If the checksum matches, the file is identical; if it doesn't, something changed.
General
File Size Limits by Platform: A Complete Reference
Every platform enforces file size limits: Gmail caps at 25MB, Discord at 25MB (free) or 500MB (Nitro), WhatsApp at 2GB for video, Instagram at 650MB for video, and Slack at 1GB. Knowing these limits before sharing saves you from failed uploads and lets you choose the right format and compression level upfront.
General
File Upload Best Practices for Web Developers
Validate file type by magic bytes (not just extension), enforce size limits on both client and server, use presigned URLs for direct-to-storage uploads, implement chunked uploads for large files, and always verify files server-side regardless of client-side checks. Drag-and-drop with progress tracking is table-stakes UX.
Audio
FLAC: Lossless Audio That Actually Saves Space
FLAC (Free Lossless Audio Codec) compresses audio to 50-70% of WAV's size while preserving every sample bit-for-bit. Decode a FLAC file and you get the exact original PCM data. It's open-source, royalty-free, supports metadata and album art, and streams on Tidal, Amazon Music, and Apple Music. For anyone building a music library, FLAC is the format.
Font
Font Fallback Strategies: Bulletproof Typography
A good fallback font stack shows readable text instantly, minimizes visual disruption when the web font swaps in, and handles edge cases (monospace, emoji, CJK) without manual intervention. The modern approach: match your fallback font's metrics to the web font using size-adjust and ascent-override CSS properties, eliminating Cumulative Layout Shift from font swaps.
Font
Font Formats: WOFF2 vs TTF vs OTF — When to Use Each
Use WOFF2 for web fonts — it's 30% smaller than WOFF and supported by 97%+ of browsers. Use TTF for desktop installation and application embedding when you need maximum compatibility. Use OTF when you need advanced OpenType features (stylistic alternates, ligatures, small caps) for professional design work. That's it.
Font
Font Licensing Explained: What You Can and Can't Do
Font licenses control how you can use a font file — desktop installation, web embedding, app bundling, and redistribution are typically licensed separately. Most Google Fonts use the SIL Open Font License (OFL), which allows free use including web, app, and commercial projects. Commercial fonts from foundries require separate web licenses (often priced per domain or per pageview).
Font
Font Subsetting: Strip What You Don't Need
Font subsetting removes unused glyphs from font files. A full Noto Sans CJK weighs 16 MB; subsetted to Latin-only, it's 30 KB — a 99.8% reduction. For most English-language sites, Latin subsetting cuts font files by 65-85%. Use pyftsubset to subset, always preserve OpenType layout features, and combine with unicode-range in CSS for multilingual sites.
General
File Formats for 3D Printing: STL, OBJ, 3MF, and More
STL is the most widely used 3D printing format — a triangulated surface mesh without color or material data. OBJ adds material and texture support. 3MF is the modern replacement, supporting colors, materials, metadata, and build information in a single package. For CAD interchange, STEP and IGES transfer precise mathematical surfaces rather than approximated triangle meshes.
General
File Formats for Email: Attachments and Embedded Content
Email has strict format constraints: attachment limits (Gmail 25MB, Outlook 20MB), HTML image support limited to JPG, PNG, and GIF (no WebP or AVIF), and Base64 encoding adds 33% overhead to attachment file sizes. ICS for calendar invites, vCard (.vcf) for contacts, and EML/MBOX for email archival are the key specialized formats.
General
File Formats for Graphic Designers: A Complete Guide
Graphic designers work across three format categories: source files (PSD, AI, INDD, Figma) for editing, print deliverables (PDF/X, TIFF at 300dpi CMYK), and screen deliverables (PNG, WebP, SVG in RGB). Choosing the wrong format at any stage costs hours of rework or produces unusable output.
General
File Formats for Musicians: Recording to Release
Musicians work with three format tiers: uncompressed (WAV/AIFF at 24-bit/48kHz+) for recording and editing, lossless compressed (FLAC) for distribution and archival, and lossy compressed (MP3/AAC/OGG) for streaming and casual listening. The recording standard is WAV 24-bit/48kHz. The mastering output depends on the destination platform.
General
File Formats for Photographers: Shooting to Delivery
Photographers move through four format stages: capture (RAW: CR3, NEF, ARW, DNG), editing (TIFF 16-bit or PSD), delivery (JPEG for clients, WebP for web), and archival (DNG for RAW, TIFF for processed). Each stage has specific color space and bit-depth requirements that directly affect image quality.
General
Presentation File Formats: PPTX, PDF, HTML, and Beyond
PPTX (PowerPoint) is the universal presentation format with the broadest tool support. PDF is the safest for view-only sharing (no layout shifts, no missing fonts). Keynote (.key) produces the best-looking presentations on Apple hardware. Google Slides is the best for real-time collaboration. Each format has specific conversion limitations — animations and custom fonts are the most common casualties.
General
File Formats for Video Editors: Ingest to Export
Video editing involves three distinct format stages: ingest (camera-native MP4/MOV with H.264/H.265 codecs), editing (ProRes 422 or DNxHR intermediate codecs for smooth timeline performance), and export (H.264 MP4 for web, ProRes for handoff, H.265 for archival). Understanding the container-vs-codec distinction eliminates 90% of video format confusion.
General
The Future of File Formats: What's Coming and What's Dying
BMP, AVI, Flash/SWF, and WMA are effectively dead. AVIF and AV1 are the clear winners of the next-gen codec wars. JPEG XL is technically superior but faces an uncertain future without Chrome support. The overarching trend: everything moves toward open, royalty-free, web-native formats.
Image
GIF in 2026: When to Use It and When to Move On
GIF is a 39-year-old image format limited to 256 colors with LZW compression. It survives in 2026 purely because of universal animation support — every messaging app, email client, and social platform plays GIFs automatically. Technically, animated WebP (64% smaller), AVIF, and MP4 (90% smaller) are all superior. Use GIF only when you need guaranteed universal playback; convert to MP4 or WebP for everything else.
Font
Self-Hosting Google Fonts: Why and How
Self-hosting Google Fonts is now faster than using the Google Fonts CDN. Chrome 86 (2020) introduced cache partitioning, which means fonts cached from one site aren't shared with another. Self-hosting eliminates DNS lookup and third-party connection overhead (200-300ms savings), gives you full caching control, and removes GDPR concerns.
General
Google Sheets Export Formats: XLSX, CSV, PDF, and More
Google Sheets exports to XLSX, CSV, TSV, PDF, ODS, and HTML via File > Download. XLSX preserves formulas, formatting, and charts but loses Google-specific functions (QUERY, IMPORTRANGE, GOOGLEFINANCE). CSV exports values only from the active sheet. PDF creates a visual snapshot. ODS preserves most features except Google-specific functions. The Google Sheets API enables programmatic export with fine-grained control over format and range.
Archive
GZIP vs BZIP2 vs XZ vs ZSTD: Compression Algorithms Compared
GZIP is the universal default with fast speed and good compression. BZIP2 is obsolete — XZ compresses better and decompresses faster. XZ gives the best ratios but compresses slowly. Zstandard (ZSTD) is the modern choice: it matches XZ's ratios at GZIP-like speeds and decompresses 3-5x faster than everything else.
Video
H.264 vs H.265 vs AV1: Video Codec Showdown
H.264 is universally compatible but the least efficient. H.265 compresses 50% better but has a fragmented patent landscape that limits adoption. AV1 compresses 30% better than H.265 and is royalty-free, but encoding is extremely slow. Choose H.264 for compatibility, H.265 for file size on controlled playback, and AV1 for web delivery where you encode once and serve millions of times.
Image
HEIC and HEIF: Apple's Image Format Decoded
HEIC (High Efficiency Image Container) is Apple's default camera format since iOS 11, using HEVC (H.265) video compression to produce photos 50% smaller than JPEG at equivalent quality. It supports 10-bit color, Live Photos, depth maps, and burst sequences. The problem: no web browser supports HEIC natively, and Windows/Android support is limited. You must convert HEIC to JPEG or PNG before sharing outside Apple's ecosystem.
Video
How Video Compression Works and Why It Matters
Video compression reduces file size by eliminating redundant visual information between frames (inter-frame) and within each frame (intra-frame). The codec (H.264, H.265, VP9, AV1) handles the compression math, while the container (MP4, MKV, WebM) packages the compressed streams together. Understanding this distinction is the key to converting video files without unnecessary quality loss.
Document
HTML as a Document Format: Underrated and Powerful
HTML is the most universally renderable document format in existence — every device with a screen has a browser that can display it. With semantic markup, it's accessible by default. With print stylesheets, it handles paper output. With data URIs, it can be a single self-contained file. HTML is an underrated choice for documents that need to be responsive, searchable, and accessible.
Font
Icon Fonts vs SVG Icons: The Definitive Comparison
SVG icons are objectively better than icon fonts in 2026. They're accessible (title, aria-label), treeshakeable (ship only icons you use), immune to font loading issues (no FOUT flash), and styleable with CSS and JS. Icon fonts were a clever hack for HTTP/1.1 limitations. Those limitations are gone. Use inline SVG or SVG sprites.
Image
Best Image Formats for Photography: From Camera to Print
Photography uses different formats at each stage of the workflow. RAW (CR2, NEF, ARW, DNG) captures maximum sensor data (12-14 bit, 25-60MB). TIFF (16-bit) preserves full quality during editing. JPEG (quality 85-92) is the standard delivery format with universal compatibility. WebP and AVIF provide 25-50% smaller files for web delivery. Print requires 300 DPI in CMYK TIFF or high-quality JPEG. For archival, use DNG (open RAW) or 16-bit TIFF with embedded color profiles.
Image
Image Formats and Sizes for Every Social Platform in 2026
Every social platform re-compresses uploaded images, so start with high-quality sources (JPEG 90-95 or PNG for text-heavy graphics). Instagram supports 1080x1080 (feed square), 1080x1350 (feed portrait, highest engagement), and 1080x1920 (Stories/Reels). X/Twitter uses 1200x675 for link cards and 1600x900 for timeline images. Facebook recommends 1200x630 for shared links. LinkedIn uses 1200x627. Upload at 2x the display size for Retina sharpness. PNG preserves text and graphic clarity better than JPEG for infographics and screenshots.
Image
Every Image Format Explained: The Complete Reference
There are 12+ image formats in common use, each built for a specific job. JPEG is for photographs (lossy, 24-bit, universal). PNG is for lossless graphics with transparency. WebP replaces both for web delivery at 25-35% smaller files. GIF is for simple animations. AVIF is the next-gen format with HDR support. HEIC is Apple's default camera format. SVG is for scalable vector graphics. Use this guide to pick the right one.
General
Building an Image Optimization Pipeline for the Web
An image optimization pipeline starts with high-quality source files, processes them at build time (resize, compress, generate modern formats), serves responsive variants via srcset, and uses a CDN for edge delivery with content negotiation. The key tools are sharp for Node.js processing, the <picture> element for format selection, and Cloudflare/imgix/Cloudinary for on-the-fly transformation.
Image
JPEG: Everything About the World's Most Used Image Format
JPEG is a lossy image format using DCT (Discrete Cosine Transform) compression, created in 1992 and still the most universally supported image format in existence. It works by converting images to the YCbCr color space, applying chroma subsampling, dividing pixels into 8x8 blocks, transforming them via DCT, and quantizing the coefficients. JPEG supports quality levels from 0-100, progressive and baseline encoding modes, and EXIF/IPTC metadata. It's the right format for photographs when universal compatibility matters, though WebP and AVIF produce smaller files.
Data
JSON: The Data Format That Runs the Internet
JSON (JavaScript Object Notation) is a lightweight text-based data format with six types: string, number, boolean, null, array, and object. Defined by RFC 8259, it is the default format for web APIs, config files, and data interchange. It deliberately lacks comments, trailing commas, and a native date type.
Data
JSON vs YAML for Configuration Files
Use YAML for config files humans edit (comments, readability, multiline strings). Use JSON for config files machines generate and consume (strict syntax, guaranteed parse consistency, universal support). YAML has more footguns; JSON has more limitations. For greenfield projects, TOML often beats both.
Data
JSONL and NDJSON: Streaming JSON for Large Datasets
JSONL (JSON Lines) and NDJSON (Newline Delimited JSON) are the same format: one complete JSON object per line, separated by newlines, with no wrapping array. This enables streaming (process line by line with constant memory), appending (add records without re-serializing), and parallel processing of large JSON datasets.
Ebook
Kindle Publishing Formats: From Manuscript to KDP
Amazon KDP accepts EPUB (preferred), DOCX, KPF, and PDF. All uploads are converted internally to KFX for delivery. EPUB gives the most predictable results. Cover images must be 2560x1600 RGB JPEG/TIFF. Always test with Kindle Previewer 3 before publishing.
General
File Formats for Large Datasets: Beyond CSV and Excel
CSV and Excel hit hard limits at scale: CSV has no types and uses 5-10x its file size in memory; Excel caps at 1,048,576 rows. For large datasets, Parquet (columnar, compressed, schema-aware) is the default choice for analytics. Arrow/Feather is fastest for in-memory interchange. SQLite provides queryable single-file databases. HDF5 handles multidimensional scientific data. JSONL enables streaming JSON processing. The right format depends on your access pattern: full scans, column selection, random access, or streaming.
General
Lazy Loading and Modern Image Formats: A Performance Guide
Native lazy loading via loading="lazy" handles 90% of cases. Combine it with the <picture> element for AVIF/WebP/JPG format cascading, explicit width/height attributes to prevent CLS, and fetchpriority="high" on LCP images. Use LQIP or BlurHash placeholders for premium perceived performance.
Document
File Formats for Legal Documents: Compliance and Best Practices
Legal documents have strict format requirements: PDF/A for court filings and long-term archival, PAdES digital signatures for authenticated documents, proper redaction that removes data from all layers (not just visual masking), and metadata scrubbing before sharing to prevent inadvertent disclosure of hidden information.
Audio
FLAC vs ALAC vs WAV vs AIFF: Lossless Audio Compared
All four formats preserve audio bit-for-bit, but they differ in everything else. FLAC: best compression, widest non-Apple support, open-source. ALAC: Apple's lossless, native Apple device support, open-sourced in 2011. WAV: uncompressed, universal, minimal metadata, 4 GB limit. AIFF: Apple's uncompressed format, better metadata than WAV, same quality and size.
General
Lossy vs Lossless: The Complete Guide to Data Compression
Lossy compression permanently discards data the human senses are unlikely to notice, producing dramatically smaller files at the cost of irreversible quality loss. Lossless compression reduces file size by finding and encoding patterns more efficiently, preserving every bit of the original. The right choice depends on whether you need a bit-perfect copy or a perceptually identical one.
Ebook
Digital Manga Formats: From Scans to Official Releases
Digital manga uses CBZ/CBR for fan scans and personal archives, EPUB fixed layout for official publisher releases, and proprietary streaming formats for platform apps. Key requirements: right-to-left reading direction, minimum 1200x1800 pixel resolution per page, and B&W-optimized image compression.
Document
Markdown: The Writer's Plaintext Format
Markdown is a lightweight markup language created by John Gruber in 2004 that uses plain-text formatting syntax (headings with #, bold with **, links with []()), designed to be readable without rendering. CommonMark standardized the ambiguous parts of the original spec, and GitHub Flavored Markdown (GFM) added tables, task lists, and strikethrough. Markdown has become the default format for documentation, README files, note-taking apps, and static site generators.
General
Metadata in Files: What's Hidden Inside Your Documents
Every file carries invisible metadata: EXIF data in photos reveals your camera model and GPS coordinates, ID3 tags in audio store artist and album info, and documents embed author names, edit history, and software versions. This metadata can expose private information and may or may not survive format conversion depending on the target format.
General
MIME Types and Content-Type: A Developer's Reference
MIME types (type/subtype format like image/jpeg or application/json) tell browsers how to handle files. The Content-Type header sets the MIME type for HTTP responses. Always set it correctly, pair it with X-Content-Type-Options: nosniff to prevent MIME sniffing, and use Content-Disposition to control inline display vs download behavior.
Video
MKV (Matroska): The Everything Container
MKV (Matroska Video) is an open-source container format that can hold virtually any video codec, any audio codec, unlimited subtitle tracks, and chapter markers in a single file. It's the preferred format for media servers, Blu-ray rips, and archival because it sacrifices nothing — but browsers can't play it natively, which limits its use for web delivery and sharing.
Ebook
MOBI, AZW, and KFX: Amazon's Kindle Format Timeline
Amazon has cycled through four ebook formats in 18 years: MOBI (2007, PalmDOC-based), AZW (MOBI + DRM), AZW3/KF8 (2012, HTML5/CSS3), and KFX (2015, enhanced typesetting). Since 2022, Send-to-Kindle accepts EPUB directly, making the proprietary format stack less relevant for personal documents.
Video
MOV: Apple's QuickTime Container
MOV is Apple's QuickTime container format and the direct ancestor of MP4. iPhones record video as MOV, Final Cut Pro exports ProRes in MOV, and professional editing workflows revolve around it. Since MOV and MP4 share the same MPEG-4 container base, converting between them is often a remux — instant and lossless. MOV is the right format inside Apple's ecosystem; MP4 is the right format for everything else.
Audio
MP3: The Format That Changed Music Forever
MP3 (MPEG-1 Audio Layer 3) uses psychoacoustic modeling to discard audio data humans can't perceive, shrinking files to roughly 1/10th their uncompressed size. At 192 kbps or above, most listeners can't distinguish MP3 from the original. Its patents expired in 2017, making it fully free — but newer codecs like AAC and Opus outperform it at every bitrate.
Video
MP4: The Universal Video Container Explained
MP4 (MPEG-4 Part 14) is the most universally supported video container format. It wraps H.264, H.265, or AV1 video with AAC audio into a single file that plays on every device, browser, and platform. Its combination of efficient compression, streaming support via fragmented MP4, and universal compatibility makes it the default choice for sharing, uploading, and distributing video.
Archive
Nested Archives: Handling Archives Within Archives
Nested archives — archives inside archives — occur from email workflows, legacy distribution, and software packaging (JARs in WARs, Docker layers). Recursive extraction requires multiple passes or specialized tools. Watch for zip bombs (archives that decompress to petabytes) and always estimate disk space requirements before extracting nested archives.
General
ODS: The Open Spreadsheet Format
ODS (OpenDocument Spreadsheet) is the ISO/IEC 26300 standard for spreadsheets, the default format in LibreOffice Calc and Apache OpenOffice. It uses a ZIP of XML files (similar to XLSX) and supports formulas, formatting, charts, and pivot tables. Government mandates in the EU, UK, and several countries require ODS for public documents. XLSX compatibility is good for data and basic formulas but degrades for charts, macros, and advanced conditional formatting.
Document
ODT and OpenDocument: The Open Standard Alternative
ODT (OpenDocument Text) is part of the ODF standard (ISO/IEC 26300), the format LibreOffice uses by default. It's a ZIP archive of XML files — structurally similar to DOCX but governed by an independent standards body (OASIS) rather than one vendor. ODT is the format of choice when vendor independence and long-term archival matter more than Microsoft Office compatibility.
Audio
OGG, Vorbis, and Opus: The Open Source Audio Formats
Vorbis and Opus are royalty-free, open-source audio codecs from the Xiph.Org Foundation. Vorbis (2000) beats MP3 at matched bitrates and is used by Spotify for desktop streaming. Opus (2012) is the best lossy audio codec available — transparent at 128 kbps for music, excellent at 32 kbps for voice — and powers WebRTC, Discord, Zoom, and Teams. OGG is the container format that wraps both.
General
Open vs Proprietary File Formats: Why It Matters
Open file formats have publicly available specifications that anyone can implement without license fees. Proprietary formats are controlled by a single company, creating vendor lock-in and obsolescence risk. For long-term data access, interoperability, and tool ecosystem breadth, open formats are almost always the better choice.
Font
OpenType Features: Ligatures, Small Caps, and Beyond
OpenType features are hidden capabilities built into professional fonts — ligatures, small caps, old-style figures, swashes, and up to 20 stylistic sets of alternate character designs. Activate them in CSS with font-variant-* properties (preferred) or font-feature-settings (low-level). Most web fonts include features that developers never activate.
Image
The Complete Guide to Image Optimization for the Web
Web image optimization involves three layers: format (WebP/AVIF instead of JPEG/PNG saves 25-50%), sizing (responsive images via srcset/sizes serve the right resolution per device), and delivery (lazy loading, CDN caching, and preloading critical images). Together, these can reduce image bandwidth by 60-80% while improving Core Web Vitals scores. The biggest single win is converting unoptimized PNGs and JPEGs to WebP — often a 30-50% reduction with zero visible quality loss.
Document
How to Edit a PDF: Methods, Tools, and Format Realities
PDFs store text as individually positioned characters on a fixed canvas, not as flowing paragraphs. Direct editing is limited to small changes (fixing typos, adding signatures). For substantial edits, the reliable workflow is: convert PDF to DOCX, edit in a word processor, then convert back to PDF.
General
Generating PDFs in Web Applications
Client-side PDF generation (jsPDF, html2pdf.js) works for simple documents without server round-trips. Server-side generation (Puppeteer, WeasyPrint, wkhtmltopdf) handles complex layouts with full CSS support. Choose based on complexity: jsPDF for programmatic documents, html2pdf.js for rendering visible HTML, and Puppeteer for pixel-perfect HTML-to-PDF with modern CSS.
General
Pivot Tables and Export: What Survives Format Conversion
Pivot tables store both their configuration (field layout, aggregation functions, filters) and a cached copy of the computed results. When exporting to CSV, only the flattened values survive — all pivot functionality is lost. PDF preserves the visual snapshot. ODS partially preserves pivot structure but refresh behavior may differ. XLSX preserves everything within the Excel ecosystem. For cross-platform work, convert pivot output to a flat table before exporting.
Image
PNG: The Definitive Guide to Lossless Images
PNG (Portable Network Graphics) is a lossless image format using DEFLATE compression, supporting 5 color types (grayscale, RGB, indexed, grayscale+alpha, RGBA), bit depths up to 16 per channel, and full 8-bit alpha transparency. It's the standard choice for screenshots, logos, graphics with text, and any image requiring pixel-perfect accuracy. For web photos, WebP or AVIF is smaller; for print, TIFF offers more features. PNG's sweet spot is lossless web graphics.
Image
PNG vs JPG vs WebP: Which Image Format Should You Use?
Use WebP for web delivery — it produces files 25-35% smaller than JPG and 80%+ smaller than PNG at equivalent quality. Use PNG when you need lossless quality with transparency (screenshots, graphics with text, logos). Use JPG when you need universal compatibility and are working with photos (email, print, legacy systems).
Document
Print-Ready File Formats: From Screen to Paper
Print-ready files use PDF/X (the ISO standard for print), CMYK color (not RGB), 300 DPI minimum resolution, embedded fonts (or outlined text), and include bleed and crop marks. Getting these right means your printed output matches what you see on screen. Getting them wrong means reprints, delays, and wasted money.
General
Print vs Digital: Choosing the Right Format for Your Output
Print and digital outputs have fundamentally different format requirements. Print needs CMYK color, 300dpi resolution, and formats that preserve color fidelity (PDF/X, TIFF). Digital needs RGB color, specific pixel dimensions, and formats optimized for file size (WebP, PNG, SVG). Getting these wrong wastes money on reprints or delivers broken assets to screens.
General
Progressive Enhancement for Media: Images, Video, and Audio
Progressive enhancement for media means serving AVIF to browsers that support it, WebP to the rest, and JPG/MP4 as universal fallbacks. Respect user preferences: reduced motion via prefers-reduced-motion, data saving via the Save-Data header and Network Information API, and contrast needs via prefers-contrast. Every media element should work without JavaScript.
Archive
RAR: The Proprietary Archive You Can't Avoid
RAR is a proprietary archive format created by Eugene Roshal with good compression, solid archive support, and a unique recovery record feature for repairing damaged archives. Despite being proprietary and requiring paid WinRAR to create, RAR remains widespread due to legacy use in file-sharing communities and its genuinely useful error-recovery capability.
General
RAW Photo Formats: CR3, NEF, ARW, DNG, and More
RAW is not a single format but a category of camera-specific formats (Canon CR3/CR2, Nikon NEF, Sony ARW, Fuji RAF, and others) that store unprocessed sensor data at 12-14 bit depth. Each manufacturer uses a proprietary container and compression scheme. Adobe DNG is the open-standard alternative designed for long-term archival and cross-tool compatibility.
Image
How to Reduce Image File Size Without Losing Quality
The fastest way to reduce image file size is to change the format: converting PNG to WebP cuts file size by 80-90% for photographs, and JPG to WebP saves 25-35%. After format, lower the JPG/WebP quality to 80-85% (visually identical to 100% but 60-70% smaller). Strip EXIF metadata for another 50-500KB savings. These three steps alone can reduce a 25MB image to under 500KB with no visible quality loss.
General
Responsive Images: srcset, sizes, and Format Selection
Responsive images use srcset with width descriptors (400w, 800w) to offer multiple resolutions, the sizes attribute to tell the browser the display width, and the <picture> element for format selection (AVIF/WebP/JPG) and art direction. The browser picks the optimal combination of format and resolution before downloading anything.
Document
Best File Formats for Resumes and CVs
Submit your resume as a text-based PDF unless the application specifically requests DOCX. Modern ATS (Applicant Tracking Systems) parse PDF just as well as DOCX. PDF preserves your layout exactly, while DOCX may render differently on the recruiter's machine. Always have both formats ready.
Audio
Ringtone Formats: M4R, MP3, OGG, and Device Compatibility
iPhone uses M4R (renamed M4A/AAC, max 40 seconds). Android uses MP3 or OGG natively. Creating a ringtone from any audio file requires trimming to 30-40 seconds, converting to the right format, and transferring to your device. M4R is just AAC audio in an MPEG-4 container with a different file extension — no special encoding needed.
Document
RTF: The Cross-Platform Document Format That Refuses to Die
RTF (Rich Text Format) is a Microsoft-created document format from 1987 that stores formatted text as plain-text control codes. It can't carry macros (making it inherently safer than DOC/DOCX), works on every platform, and still fills a niche: cross-platform document exchange where basic formatting is sufficient and security matters.
Audio
Sample Rate and Bit Depth: What Musicians Need to Know
Sample rate determines the highest frequency captured (44.1 kHz captures up to 22.05 kHz, covering all of human hearing). Bit depth determines dynamic range (16-bit = 96 dB, 24-bit = 144 dB). For playback, 44.1 kHz/16-bit is perfect. For recording and production, 48 kHz/24-bit gives useful headroom. Higher rates (96/192 kHz) are measurably different but inaudible on finished music.
Video
Screen Recording Formats: Which One to Use
For screen recordings, record to MKV with hardware H.264 encoding, then remux to MP4 afterward. MKV is crash-safe (recoverable if the recording stops unexpectedly), and hardware encoding keeps CPU usage under 5% so your computer stays responsive. After recording, remux MKV to MP4 for sharing — it takes seconds and preserves quality perfectly.
Image
Best Formats for Screenshots: PNG, JPG, or WebP?
PNG is the best default format for screenshots because its lossless compression preserves text clarity and sharp UI edges. JPEG creates visible artifacts around text that make screenshots look unprofessional. WebP lossless is 25% smaller than PNG with identical quality — the best choice for web-shared screenshots. macOS and Windows both default to PNG. Use JPEG only for screenshot-heavy content that's primarily photographic (game captures, movie scenes).
Archive
Self-Extracting Archives (SFX): When and How to Use Them
Self-extracting archives (SFX) are executables that contain compressed files plus extraction code, requiring no archive software from the recipient. They're created with 7-Zip or WinRAR and can include installation-like features. However, antivirus software frequently flags SFX files, email providers block .exe attachments, and macOS/Linux recipients can't run Windows SFX files.
Ebook
Self-Publishing File Formats: Amazon, Apple, Google, and More
EPUB is the universal self-publishing format accepted by every major platform. Amazon KDP accepts EPUB (preferred), DOCX, and PDF. Apple Books requires EPUB3. Google Play and Kobo accept EPUB and PDF. One well-crafted EPUB file covers all platforms except Amazon, which converts it internally to KFX.
General
Caching Files with Service Workers: Strategies by Format
Different file types need different caching strategies. Fonts and versioned static assets use cache-first (fastest, cached indefinitely). Images use stale-while-revalidate (instant display, background refresh). API responses use network-first (fresh data, cached fallback). Precache critical assets during service worker install, and use runtime caching for everything else.
General
Export Settings for Social Media: Platform-by-Platform Guide
Every social media platform re-compresses uploaded images and videos, so upload the highest quality source within their size limits. Instagram: 1080px wide JPG/PNG for feed, 1080x1920 for stories/reels. YouTube: 4K H.264 MP4 if possible. TikTok: 1080x1920 MP4. Twitter/X: 1200x675 JPG. LinkedIn: 1200x627. All platforms strip color profiles and re-encode to their internal codecs.
Archive
Splitting Large Archives: Multi-Volume Archives Explained
Multi-volume archives split a large archive into fixed-size parts for email attachments, FAT32 drives (4GB limit), or upload restrictions. 7z and RAR have native multi-volume support. ZIP's multi-volume support is limited. The Unix split command works with any format. All parts are required to extract the archive.
General
Spreadsheet Compatibility: Excel, Google Sheets, LibreOffice
Excel, Google Sheets, and LibreOffice Calc all read XLSX, but they render differently. Core features (basic formulas, data types, simple formatting) are universal. Charts, conditional formatting, macros, and advanced functions diverge significantly. Excel has the most features, Google Sheets has the best collaboration, and LibreOffice has the best open standards compliance. For cross-platform documents, stick to the shared feature set and test in all target applications before distributing.
General
Spreadsheet Formulas in Format Conversion
Converting XLSX to CSV replaces all formulas with their last computed values — permanently. XLSX to ODS preserves most formulas but Excel-specific functions (XLOOKUP, LET, LAMBDA, dynamic arrays) become errors. ODS to XLSX preserves most formulas but LibreOffice-specific functions become errors. Google Sheets functions like QUERY and IMPORTRANGE become static values in every export format. Always audit formulas before converting to catch functions that won't translate.
General
Migrating Spreadsheets to Databases: Format Considerations
CSV is the standard bridge format between spreadsheets and databases, but the migration is never just an import. You must handle type inference (CSV has no types), NULL vs. empty string ambiguity, date format standardization, schema design from flat spreadsheet structure, and data cleaning during migration. Tools like pgloader, DBeaver, and pandas simplify the mechanics, but the hard part is defining the target schema and cleaning the data to fit it.
Image
SVG: When and How to Use Scalable Vector Graphics
SVG (Scalable Vector Graphics) is an XML-based image format that stores shapes, paths, and text as mathematical descriptions rather than pixels. SVGs scale to any resolution without quality loss, can be styled with CSS, manipulated with JavaScript, and are typically 2-10x smaller than equivalent PNGs for logos and icons. Use SVG for logos, icons, illustrations, charts, and UI elements. Use raster formats (PNG, WebP) for photographs and complex visual content.
Archive
TAR: The Unix Tape Archive That Runs Linux
TAR (Tape Archive) is a Unix bundling format from 1979 that combines multiple files into a single stream without compressing them. It preserves Unix permissions, ownership, symlinks, and timestamps. Paired with GZIP, XZ, or Zstandard for compression, TAR is the standard archive format for Linux software distribution and system backups.
Data
TOML: The Configuration Format That Gets Out of Your Way
TOML (Tom's Obvious Minimal Language) is a configuration file format created by Tom Preston-Werner (GitHub co-founder) designed for clarity and simplicity. It has explicit types including native dates, no indentation-based structure, and is the standard config format for Rust (Cargo.toml), Python (pyproject.toml), and Go modules.
Image
Transparent Images: Which Formats Support Alpha Channels
PNG supports full 8-bit alpha transparency (256 levels of opacity per pixel). WebP supports 8-bit alpha with the unique ability to compress it losslessly while the RGB data is lossy. AVIF supports alpha with 8, 10, or 12-bit depth. GIF only supports binary (on/off) transparency. JPEG has no transparency support whatsoever. SVG supports vector transparency natively. For most transparent image needs, PNG is the safe default and WebP is the optimized choice.
General
TSV: Tab-Separated Values and When Tabs Beat Commas
TSV (Tab-Separated Values) uses tab characters as delimiters instead of commas. This eliminates the quoting problems that plague CSV: commas in addresses, semicolons in European locales, and nested quoted strings. TSV is the standard in bioinformatics (BLAST, BED, VCF formats), the native clipboard format when copying from spreadsheets, and the most Unix-pipeline-friendly tabular format. For data containing free-form text, TSV is reliably cleaner than CSV.
Document
Understanding PDF: Editing, Converting, and Accessibility
PDF is a page description language descended from PostScript that stores visual positions of elements on a page, not semantic document structure. This is why converting a PDF to Word often produces mangled results: the PDF has no concept of "paragraphs" or "headings" — just text drawn at specific coordinates. Tagged PDFs add a semantic layer that dramatically improves conversion quality and accessibility.
Font
Variable Fonts: One File to Replace Them All
Variable fonts store a continuous range of styles (weight, width, slant, and custom axes) in a single file using interpolation between master designs. One variable font replaces 8-20 static files, typically reducing total payload by 70%+ while enabling precise typographic control like weight 450 or width 87%.
General
Vector vs Raster Graphics: When to Use Which
Raster graphics (JPG, PNG, WebP, TIFF) store images as pixel grids and are resolution-dependent — enlarge them and they blur. Vector graphics (SVG, AI, EPS, PDF) store images as mathematical curves and are infinitely scalable. Use raster for photographs and complex imagery, vector for logos, icons, illustrations, and anything that needs to work at multiple sizes.
Video
Video Codecs Explained: From H.264 to AV1
A video codec compresses raw video frames into a manageable file size by exploiting redundancy within and between frames. The codec (H.264, H.265, VP9, AV1) handles compression; the container (MP4, MKV, WebM) packages the compressed streams. Understanding frame types, profiles, encoding modes, and the hardware vs software tradeoff lets you choose the right settings for any conversion task.
Video
Video Formats and Settings for Every Social Platform
Every social platform re-encodes your video regardless of what you upload. The goal is to upload the highest quality source possible (MP4, H.264, AAC) so the platform's re-encoding starts from the best material. Key specs: YouTube accepts up to 256GB; Instagram Reels wants 9:16 at 30fps under 90 seconds; TikTok wants 9:16 under 10 minutes; Twitter/X allows 2:20 at up to 512MB; Facebook prefers H.264 MP4; LinkedIn caps at 10 minutes.
Video
Video Metadata and Chapters: What Survives Conversion
Video files carry more than pixels: metadata (title, date, GPS), chapter markers, subtitle tracks, multiple audio tracks, and HDR color data. During format conversion, some of this data is preserved automatically, some requires explicit flags, and some gets silently dropped. MKV preserves the most; MP4 preserves the basics; AVI and GIF preserve almost nothing. Understanding what survives is essential for archival and professional workflows.
Video
Video Subtitles and Captions: Formats and Conversion
SRT is the universal subtitle format — plain text with timestamps, works everywhere. ASS/SSA adds styling (fonts, colors, positioning) and is standard for anime. VTT is the web standard for HTML5 video. PGS is image-based from Blu-rays. Soft subtitles stay as a separate track (toggleable); burned-in subtitles are rendered into the video pixels permanently. MKV supports all subtitle formats; MP4 only supports basic text subtitles.
Video
How to Convert Video to GIF (And Why You Might Not Want To)
GIF is the worst format for video content — a 10-second 480p GIF can be 20MB while the same clip as MP4 is 500KB. GIF is limited to 256 colors per frame and has no inter-frame compression, making files 20-50x larger than equivalent video. Use HTML5 video (autoplay, loop, muted) instead for web use. GIF remains necessary only where video isn't supported: messaging apps, GitHub READMEs, email bodies, and Slack.
Audio
Best Audio Formats for Voice Recording and Dictation
Voice has a narrower frequency range than music (primarily 300 Hz to 3.4 kHz for intelligibility, up to 8 kHz for natural sound), so it compresses extremely well. For maximum quality, use WAV at 48 kHz / 16-bit. For maximum efficiency, Opus at 32-64 kbps is clear and natural. Phone voice memos typically record in M4A (AAC) at 128 kbps — more than adequate for speech.
Audio
WAV: Uncompressed Audio for Professionals
WAV stores raw PCM audio with zero compression — what goes in comes out bit-for-bit identical. CD-quality WAV (44.1 kHz, 16-bit, stereo) produces files at 10.1 MB per minute. It's the standard format for professional audio production because there's no decoding overhead, no generation loss across edits, and universal DAW support.
General
Web Accessibility for Media: Images, Video, and Audio
Every image needs alt text (descriptive for informative images, empty for decorative). Every video needs captions (<track> element with WebVTT files). Every audio-only content needs a transcript. Use figure/figcaption for images with context, role and aria-label for SVGs, and prefers-reduced-motion to respect motion sensitivity. These are WCAG requirements, not nice-to-haves.
General
Audio Formats for Web Applications
MP3 is universally supported and the safe default for web audio. AAC offers better quality at the same bitrate. Opus is the best lossy codec by quality metrics and the default for WebRTC. WAV is for low-latency sound effects via the Web Audio API. Use the <audio> element with <source> fallbacks for format negotiation.
Font
Web Font Performance: Loading Strategies That Actually Work
Self-host WOFF2. Subset aggressively. Use font-display: swap. Preload your critical font with crossorigin. Use size-adjust to minimize CLS. That's the entire web font performance strategy in five steps.
General
Embedding Video on the Web: Formats, Codecs, and Performance
Embed web video with the HTML5 <video> element using MP4 H.264 as the universal format and WebM VP9 as a smaller alternative for modern browsers. Use preload="metadata" for non-critical video, always include a poster image, and only autoplay when muted. For long-form content, use HLS or DASH adaptive streaming.
Video
WebM: Google's Open Video Format for the Web
WebM is Google's royalty-free video format built for the web. It pairs VP8, VP9, or AV1 video with Vorbis or Opus audio in a Matroska-based container. Every major browser plays WebM natively, and VP9 WebM files are typically 30-50% smaller than H.264 MP4 at the same visual quality. The tradeoff: encoding is slower, and device support outside browsers is inconsistent.
Image
WebP: The Complete Guide to Google's Image Format
WebP is Google's web-optimized image format that produces files 25-35% smaller than JPEG and PNG at equivalent quality. It supports both lossy and lossless compression, animation, and alpha transparency. With 97%+ browser support in 2026, WebP is the default recommendation for web image delivery unless you need HDR (use AVIF) or universal email/print compatibility (use JPEG).
General
When Not to Convert: Keeping Files in Their Original Format
Sometimes the best conversion is no conversion. Lossy-to-lossy transcoding degrades quality. Converting already-optimized formats wastes time. Source files (PSD, RAW, project files) should stay in their native format for editability. The golden rule: always keep the original, and only convert a copy when there's a clear reason.
Font
WOFF2: The Only Web Font Format You Need
WOFF2 compresses font files with Brotli, producing files 30% smaller than WOFF1 and 50-60% smaller than raw TTF/OTF. With 97%+ browser support, it's the only web font format you need in 2026. Serve WOFF2 with font-display: swap, preload your critical font, and you're done.
General
XLS vs XLSX: Binary vs XML Spreadsheets
XLS is the legacy binary spreadsheet format (BIFF8) used by Excel 97-2003, limited to 65,536 rows and 256 columns. XLSX is the modern Open XML format (a ZIP of XML files) introduced in Excel 2007, supporting 1,048,576 rows and 16,384 columns. XLSX is smaller, safer (no macros by default), and the universal standard. XLS persists in legacy systems and regulated industries that haven't migrated.
General
XLSX: Inside Excel's Modern Spreadsheet Format
XLSX is a ZIP archive containing XML files that define worksheets, styles, shared strings, and metadata. It replaced the binary XLS format in Office 2007 with the Open XML standard, supporting up to 1,048,576 rows and 16,384 columns per sheet. Understanding its internals explains why files bloat, why some features survive format conversion, and why .xlsm exists separately for macros.
Data
XML: The Extensible Markup Language That Won't Retire
XML (Extensible Markup Language) is a self-describing, schema-validatable markup language descended from SGML. Despite losing the API format war to JSON, XML remains irreplaceable for document markup (DOCX, SVG), enterprise integration (SOAP, SAML), data validation (XSD), and transformation (XSLT). It's verbose, but that verbosity buys power no other format matches.
Data
XML Namespaces and Schemas: A Practical Guide
XML namespaces prevent element name collisions when combining multiple vocabularies in one document. XML schemas (XSD, DTD, RelaxNG) define and enforce document structure at the parser level. Together, they enable XML's unique strength: composable, validated documents from multiple independent sources.
Data
YAML: Human-Friendly Data That Bites Back
YAML (YAML Ain't Markup Language) is a human-readable data serialization format that's technically a JSON superset. It powers Kubernetes, Docker Compose, GitHub Actions, and most DevOps tooling. Its indentation-based syntax is clean but unforgiving, and its implicit type coercion — the infamous Norway problem — has caused production outages.
Data
YAML vs TOML: Which Config Format Should You Choose?
TOML is simpler, more explicit, and has fewer surprises — ideal for application config with 1-3 levels of nesting. YAML is more expressive and handles deep nesting naturally — required for Kubernetes, CI/CD, and infrastructure tooling. Choose based on nesting depth and ecosystem alignment.
Archive
ZIP: The Universal Archive Format
ZIP is the most universally supported archive format, readable by every major operating system without extra software. It uses per-file Deflate compression, supports AES-256 encryption, and handles archives up to 16 exbibytes with ZIP64. Use ZIP whenever the recipient might not have specialized archive software.