{
  "name": "What each file conversion loses",
  "description": "For every conversion Prathom performs: what survives, what is lost, and how the conversion is carried out.",
  "source": "https://prathom.ai/what-conversions-lose",
  "repository": "https://github.com/bdwithganesh/file-conversion-fidelity",
  "license": "Free to use and redistribute with attribution to prathom.ai.",
  "generated": "2026-09-09",
  "claimScopes": {
    "format": "True of these formats anywhere. Follows from what each format can represent.",
    "pipeline": "True of the way prathom.ai performs this conversion. Another tool may do better or worse."
  },
  "counts": {
    "pairs": 563,
    "pairsThatLoseSomething": 295,
    "formats": 62,
    "claims": 1773,
    "formatScopedClaims": 1362
  },
  "formats": {
    "jpg": {
      "label": "JPEG",
      "family": "image",
      "lossy": true,
      "singleImage": true
    },
    "jpeg": {
      "label": "JPEG",
      "family": "image",
      "lossy": true,
      "singleImage": true
    },
    "png": {
      "label": "PNG",
      "family": "image",
      "alpha": true,
      "singleImage": true
    },
    "webp": {
      "label": "WebP",
      "family": "image",
      "alpha": true,
      "animation": true,
      "lossy": true,
      "singleImage": true
    },
    "avif": {
      "label": "AVIF",
      "family": "image",
      "alpha": true,
      "animation": true,
      "lossy": true,
      "singleImage": true
    },
    "heic": {
      "label": "HEIC",
      "family": "image",
      "alpha": true,
      "lossy": true,
      "singleImage": true
    },
    "heif": {
      "label": "HEIF",
      "family": "image",
      "alpha": true,
      "lossy": true,
      "singleImage": true
    },
    "bmp": {
      "label": "BMP",
      "family": "image",
      "singleImage": true
    },
    "tiff": {
      "label": "TIFF",
      "family": "image",
      "alpha": true,
      "pages": true,
      "singleImage": true
    },
    "tif": {
      "label": "TIFF",
      "family": "image",
      "alpha": true,
      "pages": true,
      "singleImage": true
    },
    "gif": {
      "label": "GIF",
      "family": "image",
      "alpha": true,
      "animation": true,
      "singleImage": true
    },
    "ico": {
      "label": "ICO",
      "family": "image",
      "alpha": true,
      "singleImage": true
    },
    "svg": {
      "label": "SVG",
      "family": "image",
      "alpha": true,
      "vector": true,
      "textLayer": true,
      "singleImage": true
    },
    "psd": {
      "label": "PSD",
      "family": "image",
      "alpha": true,
      "pages": true,
      "embeds": true
    },
    "ai": {
      "label": "Illustrator AI",
      "family": "image",
      "alpha": true,
      "vector": true,
      "textLayer": true,
      "singleImage": true
    },
    "eps": {
      "label": "EPS",
      "family": "image",
      "alpha": true,
      "vector": true,
      "textLayer": true,
      "singleImage": true
    },
    "jp2": {
      "label": "JPEG 2000",
      "family": "image",
      "alpha": true,
      "singleImage": true
    },
    "tga": {
      "label": "Targa",
      "family": "image",
      "alpha": true,
      "singleImage": true
    },
    "pdf": {
      "label": "PDF",
      "family": "document",
      "pages": true,
      "textLayer": true,
      "styles": true,
      "embeds": true
    },
    "xps": {
      "label": "XPS",
      "family": "document",
      "pages": true,
      "textLayer": true,
      "styles": true,
      "embeds": true
    },
    "doc": {
      "label": "Word 97 (.doc)",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "docx": {
      "label": "Word (.docx)",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "odt": {
      "label": "OpenDocument Text",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "rtf": {
      "label": "Rich Text",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "html": {
      "label": "HTML",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true
    },
    "md": {
      "label": "Markdown",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true
    },
    "markdown": {
      "label": "Markdown",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true
    },
    "txt": {
      "label": "Plain text",
      "family": "document",
      "textLayer": true,
      "reflow": true
    },
    "chm": {
      "label": "Compiled HTML Help",
      "family": "document",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "epub": {
      "label": "EPUB",
      "family": "ebook",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "mobi": {
      "label": "MOBI",
      "family": "ebook",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "azw3": {
      "label": "AZW3",
      "family": "ebook",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "fb2": {
      "label": "FictionBook",
      "family": "ebook",
      "textLayer": true,
      "reflow": true,
      "styles": true,
      "embeds": true
    },
    "xls": {
      "label": "Excel 97 (.xls)",
      "family": "spreadsheet",
      "textLayer": true,
      "formulas": true,
      "multiSheet": true,
      "styles": true
    },
    "xlsx": {
      "label": "Excel (.xlsx)",
      "family": "spreadsheet",
      "textLayer": true,
      "formulas": true,
      "multiSheet": true,
      "styles": true
    },
    "ods": {
      "label": "OpenDocument Spreadsheet",
      "family": "spreadsheet",
      "textLayer": true,
      "formulas": true,
      "multiSheet": true,
      "styles": true
    },
    "csv": {
      "label": "CSV",
      "family": "spreadsheet",
      "textLayer": true
    },
    "ppt": {
      "label": "PowerPoint 97 (.ppt)",
      "family": "presentation",
      "pages": true,
      "textLayer": true,
      "styles": true,
      "embeds": true
    },
    "pptx": {
      "label": "PowerPoint (.pptx)",
      "family": "presentation",
      "pages": true,
      "textLayer": true,
      "styles": true,
      "embeds": true
    },
    "odp": {
      "label": "OpenDocument Presentation",
      "family": "presentation",
      "pages": true,
      "textLayer": true,
      "styles": true,
      "embeds": true
    },
    "json": {
      "label": "JSON",
      "family": "data",
      "textLayer": true
    },
    "xml": {
      "label": "XML",
      "family": "data",
      "textLayer": true
    },
    "mp4": {
      "label": "MP4",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "mov": {
      "label": "QuickTime",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "m4v": {
      "label": "M4V",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "mkv": {
      "label": "Matroska",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "webm": {
      "label": "WebM",
      "family": "video",
      "video": true,
      "audio": true,
      "alpha": true,
      "lossy": true
    },
    "avi": {
      "label": "AVI",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "flv": {
      "label": "Flash Video",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "wmv": {
      "label": "Windows Media Video",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "mpeg": {
      "label": "MPEG",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "ts": {
      "label": "MPEG Transport Stream",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "3gp": {
      "label": "3GP",
      "family": "video",
      "video": true,
      "audio": true,
      "lossy": true
    },
    "mp3": {
      "label": "MP3",
      "family": "audio",
      "audio": true,
      "lossy": true
    },
    "aac": {
      "label": "AAC",
      "family": "audio",
      "audio": true,
      "lossy": true
    },
    "m4a": {
      "label": "M4A",
      "family": "audio",
      "audio": true,
      "lossy": true
    },
    "ogg": {
      "label": "Ogg Vorbis",
      "family": "audio",
      "audio": true,
      "lossy": true
    },
    "opus": {
      "label": "Opus",
      "family": "audio",
      "audio": true,
      "lossy": true
    },
    "wma": {
      "label": "Windows Media Audio",
      "family": "audio",
      "audio": true,
      "lossy": true
    },
    "wav": {
      "label": "WAV",
      "family": "audio",
      "audio": true
    },
    "flac": {
      "label": "FLAC",
      "family": "audio",
      "audio": true
    },
    "aiff": {
      "label": "AIFF",
      "family": "audio",
      "audio": true
    }
  },
  "pairs": [
    {
      "source": "3gp",
      "target": "aac",
      "sourceLabel": "3GP",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "aiff",
      "sourceLabel": "3GP",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "avi",
      "sourceLabel": "3GP",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "flac",
      "sourceLabel": "3GP",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "flv",
      "sourceLabel": "3GP",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "gif",
      "sourceLabel": "3GP",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "m4a",
      "sourceLabel": "3GP",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "m4v",
      "sourceLabel": "3GP",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "mkv",
      "sourceLabel": "3GP",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "mov",
      "sourceLabel": "3GP",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "mp3",
      "sourceLabel": "3GP",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "mp4",
      "sourceLabel": "3GP",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "mpeg",
      "sourceLabel": "3GP",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "ogg",
      "sourceLabel": "3GP",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "opus",
      "sourceLabel": "3GP",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "ts",
      "sourceLabel": "3GP",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "wav",
      "sourceLabel": "3GP",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "webm",
      "sourceLabel": "3GP",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "wma",
      "sourceLabel": "3GP",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "3gp",
      "target": "wmv",
      "sourceLabel": "3GP",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aac",
      "target": "aiff",
      "sourceLabel": "AAC",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "aac",
      "target": "flac",
      "sourceLabel": "AAC",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "aac",
      "target": "m4a",
      "sourceLabel": "AAC",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aac",
      "target": "mp3",
      "sourceLabel": "AAC",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aac",
      "target": "ogg",
      "sourceLabel": "AAC",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aac",
      "target": "opus",
      "sourceLabel": "AAC",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aac",
      "target": "wav",
      "sourceLabel": "AAC",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "aac",
      "target": "wma",
      "sourceLabel": "AAC",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ai",
      "target": "jpg",
      "sourceLabel": "Illustrator AI",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ai",
      "target": "pdf",
      "sourceLabel": "Illustrator AI",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Ghostscript rewrites the drawing operators as PDF operators rather than rendering them, so the artwork stays vector and is sharp at any size. Verified: the output embeds no images at all.",
          "scope": "pipeline"
        },
        {
          "text": "Live text with embedded fonts carries through as selectable text. Type that was converted to outlines before saving is already shapes and stays shapes — that is a property of your file rather than of the conversion.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ai",
      "target": "png",
      "sourceLabel": "Illustrator AI",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ai",
      "target": "tiff",
      "sourceLabel": "Illustrator AI",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ai",
      "target": "webp",
      "sourceLabel": "Illustrator AI",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "aac",
      "sourceLabel": "AIFF",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "flac",
      "sourceLabel": "AIFF",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "m4a",
      "sourceLabel": "AIFF",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "mp3",
      "sourceLabel": "AIFF",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "ogg",
      "sourceLabel": "AIFF",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "opus",
      "sourceLabel": "AIFF",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "wav",
      "sourceLabel": "AIFF",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "aiff",
      "target": "wma",
      "sourceLabel": "AIFF",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "3gp",
      "sourceLabel": "AVI",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "aac",
      "sourceLabel": "AVI",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "aiff",
      "sourceLabel": "AVI",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avi",
      "target": "flac",
      "sourceLabel": "AVI",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avi",
      "target": "flv",
      "sourceLabel": "AVI",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "gif",
      "sourceLabel": "AVI",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avi",
      "target": "m4a",
      "sourceLabel": "AVI",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "m4v",
      "sourceLabel": "AVI",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "mkv",
      "sourceLabel": "AVI",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "mov",
      "sourceLabel": "AVI",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "mp3",
      "sourceLabel": "AVI",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "mp4",
      "sourceLabel": "AVI",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "mpeg",
      "sourceLabel": "AVI",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "ogg",
      "sourceLabel": "AVI",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "opus",
      "sourceLabel": "AVI",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "ts",
      "sourceLabel": "AVI",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "wav",
      "sourceLabel": "AVI",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avi",
      "target": "webm",
      "sourceLabel": "AVI",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "wma",
      "sourceLabel": "AVI",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avi",
      "target": "wmv",
      "sourceLabel": "AVI",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avif",
      "target": "bmp",
      "sourceLabel": "AVIF",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avif",
      "target": "gif",
      "sourceLabel": "AVIF",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first frame is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avif",
      "target": "heic",
      "sourceLabel": "AVIF",
      "targetLabel": "HEIC",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "avif",
      "target": "jpg",
      "sourceLabel": "AVIF",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "avif",
      "target": "pdf",
      "sourceLabel": "AVIF",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avif",
      "target": "png",
      "sourceLabel": "AVIF",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avif",
      "target": "tiff",
      "sourceLabel": "AVIF",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "avif",
      "target": "webp",
      "sourceLabel": "AVIF",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first frame is converted.",
          "scope": "pipeline"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "azw3",
      "target": "docx",
      "sourceLabel": "AZW3",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "azw3",
      "target": "epub",
      "sourceLabel": "AZW3",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "azw3",
      "target": "mobi",
      "sourceLabel": "AZW3",
      "targetLabel": "MOBI",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "azw3",
      "target": "pdf",
      "sourceLabel": "AZW3",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "azw3",
      "target": "txt",
      "sourceLabel": "AZW3",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "bmp",
      "target": "avif",
      "sourceLabel": "BMP",
      "targetLabel": "AVIF",
      "keeps": [],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "bmp",
      "target": "gif",
      "sourceLabel": "BMP",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "bmp",
      "target": "jpg",
      "sourceLabel": "BMP",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "bmp",
      "target": "pdf",
      "sourceLabel": "BMP",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "Nothing is lost. PDF can carry everything BMP holds.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "bmp",
      "target": "png",
      "sourceLabel": "BMP",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Nothing is lost. PNG can carry everything BMP holds.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "bmp",
      "target": "tiff",
      "sourceLabel": "BMP",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Nothing is lost. TIFF can carry everything BMP holds.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "bmp",
      "target": "webp",
      "sourceLabel": "BMP",
      "targetLabel": "WebP",
      "keeps": [],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "chm",
      "target": "epub",
      "sourceLabel": "Compiled HTML Help",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "chm",
      "target": "html",
      "sourceLabel": "Compiled HTML Help",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "chm",
      "target": "pdf",
      "sourceLabel": "Compiled HTML Help",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "chm",
      "target": "txt",
      "sourceLabel": "Compiled HTML Help",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "csv",
      "target": "html",
      "sourceLabel": "CSV",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "csv",
      "target": "ods",
      "sourceLabel": "CSV",
      "targetLabel": "OpenDocument Spreadsheet",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "csv",
      "target": "pdf",
      "sourceLabel": "CSV",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "csv",
      "target": "xls",
      "sourceLabel": "CSV",
      "targetLabel": "Excel 97 (.xls)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "csv",
      "target": "xlsx",
      "sourceLabel": "CSV",
      "targetLabel": "Excel (.xlsx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "doc",
      "target": "docx",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "doc",
      "target": "epub",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "doc",
      "target": "html",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "doc",
      "target": "odt",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "doc",
      "target": "pdf",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "doc",
      "target": "rtf",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "doc",
      "target": "txt",
      "sourceLabel": "Word 97 (.doc)",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "docx",
      "target": "doc",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "docx",
      "target": "epub",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "docx",
      "target": "html",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "docx",
      "target": "jpg",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "docx",
      "target": "odt",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "docx",
      "target": "pdf",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "docx",
      "target": "png",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "docx",
      "target": "rtf",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "docx",
      "target": "txt",
      "sourceLabel": "Word (.docx)",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "eps",
      "target": "jpg",
      "sourceLabel": "EPS",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "eps",
      "target": "pdf",
      "sourceLabel": "EPS",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Ghostscript rewrites the drawing operators as PDF operators rather than rendering them, so the artwork stays vector and is sharp at any size. Verified: the output embeds no images at all.",
          "scope": "pipeline"
        },
        {
          "text": "Live text with embedded fonts carries through as selectable text. Type that was converted to outlines before saving is already shapes and stays shapes — that is a property of your file rather than of the conversion.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "eps",
      "target": "png",
      "sourceLabel": "EPS",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "eps",
      "target": "tiff",
      "sourceLabel": "EPS",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "eps",
      "target": "webp",
      "sourceLabel": "EPS",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "epub",
      "target": "azw3",
      "sourceLabel": "EPUB",
      "targetLabel": "AZW3",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "epub",
      "target": "docx",
      "sourceLabel": "EPUB",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "epub",
      "target": "html",
      "sourceLabel": "EPUB",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "epub",
      "target": "mobi",
      "sourceLabel": "EPUB",
      "targetLabel": "MOBI",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "epub",
      "target": "pdf",
      "sourceLabel": "EPUB",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "epub",
      "target": "txt",
      "sourceLabel": "EPUB",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "fb2",
      "target": "docx",
      "sourceLabel": "FictionBook",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "fb2",
      "target": "epub",
      "sourceLabel": "FictionBook",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "fb2",
      "target": "mobi",
      "sourceLabel": "FictionBook",
      "targetLabel": "MOBI",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "fb2",
      "target": "pdf",
      "sourceLabel": "FictionBook",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "fb2",
      "target": "txt",
      "sourceLabel": "FictionBook",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "flac",
      "target": "aac",
      "sourceLabel": "FLAC",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "aiff",
      "sourceLabel": "FLAC",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "m4a",
      "sourceLabel": "FLAC",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "mp3",
      "sourceLabel": "FLAC",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "ogg",
      "sourceLabel": "FLAC",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "opus",
      "sourceLabel": "FLAC",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "wav",
      "sourceLabel": "FLAC",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flac",
      "target": "wma",
      "sourceLabel": "FLAC",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "3gp",
      "sourceLabel": "Flash Video",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "aac",
      "sourceLabel": "Flash Video",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "aiff",
      "sourceLabel": "Flash Video",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "flv",
      "target": "avi",
      "sourceLabel": "Flash Video",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "flac",
      "sourceLabel": "Flash Video",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "flv",
      "target": "gif",
      "sourceLabel": "Flash Video",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "flv",
      "target": "m4a",
      "sourceLabel": "Flash Video",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "m4v",
      "sourceLabel": "Flash Video",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "mkv",
      "sourceLabel": "Flash Video",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "mov",
      "sourceLabel": "Flash Video",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "mp3",
      "sourceLabel": "Flash Video",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "mp4",
      "sourceLabel": "Flash Video",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "mpeg",
      "sourceLabel": "Flash Video",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "ogg",
      "sourceLabel": "Flash Video",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "opus",
      "sourceLabel": "Flash Video",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "ts",
      "sourceLabel": "Flash Video",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "wav",
      "sourceLabel": "Flash Video",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "flv",
      "target": "webm",
      "sourceLabel": "Flash Video",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "wma",
      "sourceLabel": "Flash Video",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "flv",
      "target": "wmv",
      "sourceLabel": "Flash Video",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "gif",
      "target": "avif",
      "sourceLabel": "GIF",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first frame is converted.",
          "scope": "pipeline"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "gif",
      "target": "bmp",
      "sourceLabel": "GIF",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "gif",
      "target": "jpg",
      "sourceLabel": "GIF",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "gif",
      "target": "pdf",
      "sourceLabel": "GIF",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "gif",
      "target": "png",
      "sourceLabel": "GIF",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "gif",
      "target": "tiff",
      "sourceLabel": "GIF",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "gif",
      "target": "webp",
      "sourceLabel": "GIF",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        },
        {
          "text": "The frames and their timing are kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Every frame and its delay is read across, not just the first.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heic",
      "target": "avif",
      "sourceLabel": "HEIC",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "heic",
      "target": "bmp",
      "sourceLabel": "HEIC",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heic",
      "target": "gif",
      "sourceLabel": "HEIC",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heic",
      "target": "jpg",
      "sourceLabel": "HEIC",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "heic",
      "target": "pdf",
      "sourceLabel": "HEIC",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heic",
      "target": "png",
      "sourceLabel": "HEIC",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heic",
      "target": "tiff",
      "sourceLabel": "HEIC",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heic",
      "target": "webp",
      "sourceLabel": "HEIC",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "heif",
      "target": "avif",
      "sourceLabel": "HEIF",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "heif",
      "target": "bmp",
      "sourceLabel": "HEIF",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heif",
      "target": "gif",
      "sourceLabel": "HEIF",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heif",
      "target": "jpg",
      "sourceLabel": "HEIF",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "heif",
      "target": "pdf",
      "sourceLabel": "HEIF",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heif",
      "target": "png",
      "sourceLabel": "HEIF",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heif",
      "target": "tiff",
      "sourceLabel": "HEIF",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "heif",
      "target": "webp",
      "sourceLabel": "HEIF",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "html",
      "target": "doc",
      "sourceLabel": "HTML",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "html",
      "target": "docx",
      "sourceLabel": "HTML",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "html",
      "target": "epub",
      "sourceLabel": "HTML",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "html",
      "target": "markdown",
      "sourceLabel": "HTML",
      "targetLabel": "Markdown",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "html",
      "target": "odt",
      "sourceLabel": "HTML",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "html",
      "target": "pdf",
      "sourceLabel": "HTML",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "html",
      "target": "rtf",
      "sourceLabel": "HTML",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "html",
      "target": "txt",
      "sourceLabel": "HTML",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ico",
      "target": "bmp",
      "sourceLabel": "ICO",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        },
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ico",
      "target": "gif",
      "sourceLabel": "ICO",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ico",
      "target": "jpg",
      "sourceLabel": "ICO",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        },
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ico",
      "target": "png",
      "sourceLabel": "ICO",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ico",
      "target": "svg",
      "sourceLabel": "ICO",
      "targetLabel": "SVG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ico",
      "target": "tiff",
      "sourceLabel": "ICO",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ico",
      "target": "webp",
      "sourceLabel": "ICO",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "An icon file holds several sizes; the largest is the one converted.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "jp2",
      "target": "jpg",
      "sourceLabel": "JPEG 2000",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "jp2",
      "target": "png",
      "sourceLabel": "JPEG 2000",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "jp2",
      "target": "webp",
      "sourceLabel": "JPEG 2000",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "avif",
      "sourceLabel": "JPEG",
      "targetLabel": "AVIF",
      "keeps": [],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "bmp",
      "sourceLabel": "JPEG",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "gif",
      "sourceLabel": "JPEG",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "heic",
      "sourceLabel": "JPEG",
      "targetLabel": "HEIC",
      "keeps": [],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "jpeg",
      "target": "ico",
      "sourceLabel": "JPEG",
      "targetLabel": "ICO",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "pdf",
      "sourceLabel": "JPEG",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "png",
      "sourceLabel": "JPEG",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "svg",
      "sourceLabel": "JPEG",
      "targetLabel": "SVG",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "tiff",
      "sourceLabel": "JPEG",
      "targetLabel": "TIFF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpeg",
      "target": "webp",
      "sourceLabel": "JPEG",
      "targetLabel": "WebP",
      "keeps": [],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "avif",
      "sourceLabel": "JPEG",
      "targetLabel": "AVIF",
      "keeps": [],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "bmp",
      "sourceLabel": "JPEG",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "gif",
      "sourceLabel": "JPEG",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "heic",
      "sourceLabel": "JPEG",
      "targetLabel": "HEIC",
      "keeps": [],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "jpg",
      "target": "ico",
      "sourceLabel": "JPEG",
      "targetLabel": "ICO",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "pdf",
      "sourceLabel": "JPEG",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "png",
      "sourceLabel": "JPEG",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "svg",
      "sourceLabel": "JPEG",
      "targetLabel": "SVG",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "tiff",
      "sourceLabel": "JPEG",
      "targetLabel": "TIFF",
      "keeps": [],
      "loses": [],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "jpg",
      "target": "webp",
      "sourceLabel": "JPEG",
      "targetLabel": "WebP",
      "keeps": [],
      "loses": [
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "aac",
      "sourceLabel": "M4A",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "aiff",
      "sourceLabel": "M4A",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "flac",
      "sourceLabel": "M4A",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "mp3",
      "sourceLabel": "M4A",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "ogg",
      "sourceLabel": "M4A",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "opus",
      "sourceLabel": "M4A",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "wav",
      "sourceLabel": "M4A",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4a",
      "target": "wma",
      "sourceLabel": "M4A",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "3gp",
      "sourceLabel": "M4V",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "aac",
      "sourceLabel": "M4V",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "aiff",
      "sourceLabel": "M4V",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "avi",
      "sourceLabel": "M4V",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "flac",
      "sourceLabel": "M4V",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "flv",
      "sourceLabel": "M4V",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "gif",
      "sourceLabel": "M4V",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "m4a",
      "sourceLabel": "M4V",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "mkv",
      "sourceLabel": "M4V",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "mov",
      "sourceLabel": "M4V",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "mp3",
      "sourceLabel": "M4V",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "mp4",
      "sourceLabel": "M4V",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "mpeg",
      "sourceLabel": "M4V",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "ogg",
      "sourceLabel": "M4V",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "opus",
      "sourceLabel": "M4V",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "ts",
      "sourceLabel": "M4V",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "wav",
      "sourceLabel": "M4V",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "webm",
      "sourceLabel": "M4V",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "wma",
      "sourceLabel": "M4V",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "m4v",
      "target": "wmv",
      "sourceLabel": "M4V",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "markdown",
      "target": "doc",
      "sourceLabel": "Markdown",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "docx",
      "sourceLabel": "Markdown",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "epub",
      "sourceLabel": "Markdown",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "html",
      "sourceLabel": "Markdown",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "odt",
      "sourceLabel": "Markdown",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "pdf",
      "sourceLabel": "Markdown",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "rtf",
      "sourceLabel": "Markdown",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "markdown",
      "target": "txt",
      "sourceLabel": "Markdown",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "md",
      "target": "doc",
      "sourceLabel": "Markdown",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "md",
      "target": "docx",
      "sourceLabel": "Markdown",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "md",
      "target": "epub",
      "sourceLabel": "Markdown",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "md",
      "target": "html",
      "sourceLabel": "Markdown",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "md",
      "target": "odt",
      "sourceLabel": "Markdown",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "md",
      "target": "pdf",
      "sourceLabel": "Markdown",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "md",
      "target": "rtf",
      "sourceLabel": "Markdown",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "md",
      "target": "txt",
      "sourceLabel": "Markdown",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "mkv",
      "target": "3gp",
      "sourceLabel": "Matroska",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "aac",
      "sourceLabel": "Matroska",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "aiff",
      "sourceLabel": "Matroska",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "avi",
      "sourceLabel": "Matroska",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "flac",
      "sourceLabel": "Matroska",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "flv",
      "sourceLabel": "Matroska",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "gif",
      "sourceLabel": "Matroska",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "m4a",
      "sourceLabel": "Matroska",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "m4v",
      "sourceLabel": "Matroska",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "mov",
      "sourceLabel": "Matroska",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "mp3",
      "sourceLabel": "Matroska",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "mp4",
      "sourceLabel": "Matroska",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "mpeg",
      "sourceLabel": "Matroska",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "ogg",
      "sourceLabel": "Matroska",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "opus",
      "sourceLabel": "Matroska",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "ts",
      "sourceLabel": "Matroska",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "wav",
      "sourceLabel": "Matroska",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "webm",
      "sourceLabel": "Matroska",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "wma",
      "sourceLabel": "Matroska",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mkv",
      "target": "wmv",
      "sourceLabel": "Matroska",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mobi",
      "target": "azw3",
      "sourceLabel": "MOBI",
      "targetLabel": "AZW3",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "mobi",
      "target": "docx",
      "sourceLabel": "MOBI",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "mobi",
      "target": "epub",
      "sourceLabel": "MOBI",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "mobi",
      "target": "html",
      "sourceLabel": "MOBI",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "mobi",
      "target": "pdf",
      "sourceLabel": "MOBI",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "mobi",
      "target": "txt",
      "sourceLabel": "MOBI",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "mov",
      "target": "3gp",
      "sourceLabel": "QuickTime",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "aac",
      "sourceLabel": "QuickTime",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "aiff",
      "sourceLabel": "QuickTime",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mov",
      "target": "avi",
      "sourceLabel": "QuickTime",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "flac",
      "sourceLabel": "QuickTime",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mov",
      "target": "flv",
      "sourceLabel": "QuickTime",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "gif",
      "sourceLabel": "QuickTime",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mov",
      "target": "m4a",
      "sourceLabel": "QuickTime",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "m4v",
      "sourceLabel": "QuickTime",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "mkv",
      "sourceLabel": "QuickTime",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "mp3",
      "sourceLabel": "QuickTime",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "mp4",
      "sourceLabel": "QuickTime",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "mpeg",
      "sourceLabel": "QuickTime",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "ogg",
      "sourceLabel": "QuickTime",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "opus",
      "sourceLabel": "QuickTime",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "ts",
      "sourceLabel": "QuickTime",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "wav",
      "sourceLabel": "QuickTime",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mov",
      "target": "webm",
      "sourceLabel": "QuickTime",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "wma",
      "sourceLabel": "QuickTime",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mov",
      "target": "wmv",
      "sourceLabel": "QuickTime",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "aac",
      "sourceLabel": "MP3",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "aiff",
      "sourceLabel": "MP3",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "flac",
      "sourceLabel": "MP3",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "m4a",
      "sourceLabel": "MP3",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "ogg",
      "sourceLabel": "MP3",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "opus",
      "sourceLabel": "MP3",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "wav",
      "sourceLabel": "MP3",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp3",
      "target": "wma",
      "sourceLabel": "MP3",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "3gp",
      "sourceLabel": "MP4",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "aac",
      "sourceLabel": "MP4",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "aiff",
      "sourceLabel": "MP4",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "avi",
      "sourceLabel": "MP4",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "flac",
      "sourceLabel": "MP4",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "flv",
      "sourceLabel": "MP4",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "gif",
      "sourceLabel": "MP4",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "m4a",
      "sourceLabel": "MP4",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "m4v",
      "sourceLabel": "MP4",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "mkv",
      "sourceLabel": "MP4",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "mov",
      "sourceLabel": "MP4",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "mp3",
      "sourceLabel": "MP4",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "mpeg",
      "sourceLabel": "MP4",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "ogg",
      "sourceLabel": "MP4",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "opus",
      "sourceLabel": "MP4",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "ts",
      "sourceLabel": "MP4",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "wav",
      "sourceLabel": "MP4",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "webm",
      "sourceLabel": "MP4",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "wma",
      "sourceLabel": "MP4",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mp4",
      "target": "wmv",
      "sourceLabel": "MP4",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "3gp",
      "sourceLabel": "MPEG",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "aac",
      "sourceLabel": "MPEG",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "aiff",
      "sourceLabel": "MPEG",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "avi",
      "sourceLabel": "MPEG",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "flac",
      "sourceLabel": "MPEG",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "flv",
      "sourceLabel": "MPEG",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "gif",
      "sourceLabel": "MPEG",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "m4a",
      "sourceLabel": "MPEG",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "m4v",
      "sourceLabel": "MPEG",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "mkv",
      "sourceLabel": "MPEG",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "mov",
      "sourceLabel": "MPEG",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "mp3",
      "sourceLabel": "MPEG",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "mp4",
      "sourceLabel": "MPEG",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "ogg",
      "sourceLabel": "MPEG",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "opus",
      "sourceLabel": "MPEG",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "ts",
      "sourceLabel": "MPEG",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "wav",
      "sourceLabel": "MPEG",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "webm",
      "sourceLabel": "MPEG",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "wma",
      "sourceLabel": "MPEG",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "mpeg",
      "target": "wmv",
      "sourceLabel": "MPEG",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "odp",
      "target": "html",
      "sourceLabel": "OpenDocument Presentation",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "odp",
      "target": "jpg",
      "sourceLabel": "OpenDocument Presentation",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        },
        {
          "text": "Only the first slide is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "odp",
      "target": "pdf",
      "sourceLabel": "OpenDocument Presentation",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odp",
      "target": "png",
      "sourceLabel": "OpenDocument Presentation",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "Only the first slide is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "odp",
      "target": "ppt",
      "sourceLabel": "OpenDocument Presentation",
      "targetLabel": "PowerPoint 97 (.ppt)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odp",
      "target": "pptx",
      "sourceLabel": "OpenDocument Presentation",
      "targetLabel": "PowerPoint (.pptx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "ods",
      "target": "csv",
      "sourceLabel": "OpenDocument Spreadsheet",
      "targetLabel": "CSV",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        },
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ods",
      "target": "html",
      "sourceLabel": "OpenDocument Spreadsheet",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ods",
      "target": "pdf",
      "sourceLabel": "OpenDocument Spreadsheet",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ods",
      "target": "xls",
      "sourceLabel": "OpenDocument Spreadsheet",
      "targetLabel": "Excel 97 (.xls)",
      "keeps": [
        {
          "text": "Formulas stay live.",
          "scope": "format"
        },
        {
          "text": "Every sheet is kept.",
          "scope": "format"
        },
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "ods",
      "target": "xlsx",
      "sourceLabel": "OpenDocument Spreadsheet",
      "targetLabel": "Excel (.xlsx)",
      "keeps": [
        {
          "text": "Formulas stay live.",
          "scope": "format"
        },
        {
          "text": "Every sheet is kept.",
          "scope": "format"
        },
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odt",
      "target": "doc",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odt",
      "target": "docx",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odt",
      "target": "epub",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odt",
      "target": "html",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "odt",
      "target": "pdf",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "odt",
      "target": "rtf",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "odt",
      "target": "txt",
      "sourceLabel": "OpenDocument Text",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ogg",
      "target": "aac",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "aiff",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "flac",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "m4a",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "mp3",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "opus",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "wav",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ogg",
      "target": "wma",
      "sourceLabel": "Ogg Vorbis",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "opus",
      "target": "aac",
      "sourceLabel": "Opus",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "opus",
      "target": "aiff",
      "sourceLabel": "Opus",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "opus",
      "target": "flac",
      "sourceLabel": "Opus",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "opus",
      "target": "m4a",
      "sourceLabel": "Opus",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "opus",
      "target": "mp3",
      "sourceLabel": "Opus",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "opus",
      "target": "ogg",
      "sourceLabel": "Opus",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "opus",
      "target": "wav",
      "sourceLabel": "Opus",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "opus",
      "target": "wma",
      "sourceLabel": "Opus",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "pdf",
      "target": "doc",
      "sourceLabel": "PDF",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted first and rebuilt as a new document, so the original layout is not preserved — columns, headers, tables and exact positions are reconstructed at best.",
          "scope": "pipeline"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "docx",
      "sourceLabel": "PDF",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted first and rebuilt as a new document, so the original layout is not preserved — columns, headers, tables and exact positions are reconstructed at best.",
          "scope": "pipeline"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "epub",
      "sourceLabel": "PDF",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted first and rebuilt as a new document, so the original layout is not preserved — columns, headers, tables and exact positions are reconstructed at best.",
          "scope": "pipeline"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "html",
      "sourceLabel": "PDF",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted first and rebuilt as a new document, so the original layout is not preserved — columns, headers, tables and exact positions are reconstructed at best.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "odt",
      "sourceLabel": "PDF",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted first and rebuilt as a new document, so the original layout is not preserved — columns, headers, tables and exact positions are reconstructed at best.",
          "scope": "pipeline"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "png",
      "sourceLabel": "PDF",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "pptx",
      "sourceLabel": "PDF",
      "targetLabel": "PowerPoint (.pptx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is extracted and written onto slides. The original slide design is not recovered.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "rtf",
      "sourceLabel": "PDF",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted first and rebuilt as a new document, so the original layout is not preserved — columns, headers, tables and exact positions are reconstructed at best.",
          "scope": "pipeline"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "svg",
      "sourceLabel": "PDF",
      "targetLabel": "SVG",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "tiff",
      "sourceLabel": "PDF",
      "targetLabel": "TIFF",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "txt",
      "sourceLabel": "PDF",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "pdf",
      "target": "xlsx",
      "sourceLabel": "PDF",
      "targetLabel": "Excel (.xlsx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        },
        {
          "text": "The text is extracted and written into cells. Tables are not detected; this is a text dump, not a spreadsheet reconstruction.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "png",
      "target": "avif",
      "sourceLabel": "PNG",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "png",
      "target": "bmp",
      "sourceLabel": "PNG",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "png",
      "target": "gif",
      "sourceLabel": "PNG",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "png",
      "target": "heic",
      "sourceLabel": "PNG",
      "targetLabel": "HEIC",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "png",
      "target": "ico",
      "sourceLabel": "PNG",
      "targetLabel": "ICO",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "png",
      "target": "jpg",
      "sourceLabel": "PNG",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "png",
      "target": "pdf",
      "sourceLabel": "PNG",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "png",
      "target": "svg",
      "sourceLabel": "PNG",
      "targetLabel": "SVG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "png",
      "target": "tiff",
      "sourceLabel": "PNG",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "png",
      "target": "webp",
      "sourceLabel": "PNG",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ppt",
      "target": "html",
      "sourceLabel": "PowerPoint 97 (.ppt)",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "ppt",
      "target": "jpg",
      "sourceLabel": "PowerPoint 97 (.ppt)",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        },
        {
          "text": "Only the first slide is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ppt",
      "target": "odp",
      "sourceLabel": "PowerPoint 97 (.ppt)",
      "targetLabel": "OpenDocument Presentation",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "ppt",
      "target": "pdf",
      "sourceLabel": "PowerPoint 97 (.ppt)",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "ppt",
      "target": "png",
      "sourceLabel": "PowerPoint 97 (.ppt)",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "Only the first slide is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "ppt",
      "target": "pptx",
      "sourceLabel": "PowerPoint 97 (.ppt)",
      "targetLabel": "PowerPoint (.pptx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "pptx",
      "target": "html",
      "sourceLabel": "PowerPoint (.pptx)",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        },
        {
          "text": "The fixed page layout is not kept. The text arrives whole but reflows instead of sitting on numbered pages.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "pptx",
      "target": "jpg",
      "sourceLabel": "PowerPoint (.pptx)",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        },
        {
          "text": "Only the first slide is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "pptx",
      "target": "odp",
      "sourceLabel": "PowerPoint (.pptx)",
      "targetLabel": "OpenDocument Presentation",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "pptx",
      "target": "pdf",
      "sourceLabel": "PowerPoint (.pptx)",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "pptx",
      "target": "png",
      "sourceLabel": "PowerPoint (.pptx)",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "Only the first slide is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "pptx",
      "target": "ppt",
      "sourceLabel": "PowerPoint (.pptx)",
      "targetLabel": "PowerPoint 97 (.ppt)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "psd",
      "target": "jpg",
      "sourceLabel": "PSD",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        },
        {
          "text": "Only the flattened composite survives. A Photoshop document holds every layer as a full-size image of its own, and none of them reach the converted file.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "psd",
      "target": "pdf",
      "sourceLabel": "PSD",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only the flattened composite survives. A Photoshop document holds every layer as a full-size image of its own, and none of them reach the converted file.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "psd",
      "target": "png",
      "sourceLabel": "PSD",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the flattened composite survives. A Photoshop document holds every layer as a full-size image of its own, and none of them reach the converted file.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "psd",
      "target": "tiff",
      "sourceLabel": "PSD",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the flattened composite survives. A Photoshop document holds every layer as a full-size image of its own, and none of them reach the converted file.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    },
    {
      "source": "psd",
      "target": "webp",
      "sourceLabel": "PSD",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        },
        {
          "text": "Only the flattened composite survives. A Photoshop document holds every layer as a full-size image of its own, and none of them reach the converted file.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "rtf",
      "target": "doc",
      "sourceLabel": "Rich Text",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "rtf",
      "target": "docx",
      "sourceLabel": "Rich Text",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "rtf",
      "target": "html",
      "sourceLabel": "Rich Text",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "rtf",
      "target": "odt",
      "sourceLabel": "Rich Text",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "rtf",
      "target": "pdf",
      "sourceLabel": "Rich Text",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "rtf",
      "target": "txt",
      "sourceLabel": "Rich Text",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        },
        {
          "text": "Embedded images are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "svg",
      "target": "bmp",
      "sourceLabel": "SVG",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "svg",
      "target": "gif",
      "sourceLabel": "SVG",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "svg",
      "target": "ico",
      "sourceLabel": "SVG",
      "targetLabel": "ICO",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "svg",
      "target": "jpg",
      "sourceLabel": "SVG",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "svg",
      "target": "pdf",
      "sourceLabel": "SVG",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "svg",
      "target": "png",
      "sourceLabel": "SVG",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "svg",
      "target": "tiff",
      "sourceLabel": "SVG",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "svg",
      "target": "webp",
      "sourceLabel": "SVG",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The drawing is rasterized to a fixed pixel grid, so enlarging it afterwards will show the pixels.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tga",
      "target": "jpg",
      "sourceLabel": "Targa",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tga",
      "target": "png",
      "sourceLabel": "Targa",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "tga",
      "target": "webp",
      "sourceLabel": "Targa",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tif",
      "target": "avif",
      "sourceLabel": "TIFF",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tif",
      "target": "bmp",
      "sourceLabel": "TIFF",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tif",
      "target": "gif",
      "sourceLabel": "TIFF",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "tif",
      "target": "jpg",
      "sourceLabel": "TIFF",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tif",
      "target": "pdf",
      "sourceLabel": "TIFF",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "tif",
      "target": "png",
      "sourceLabel": "TIFF",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "tif",
      "target": "webp",
      "sourceLabel": "TIFF",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tiff",
      "target": "avif",
      "sourceLabel": "TIFF",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tiff",
      "target": "bmp",
      "sourceLabel": "TIFF",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tiff",
      "target": "gif",
      "sourceLabel": "TIFF",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "tiff",
      "target": "jpg",
      "sourceLabel": "TIFF",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "tiff",
      "target": "pdf",
      "sourceLabel": "TIFF",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "tiff",
      "target": "png",
      "sourceLabel": "TIFF",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "tiff",
      "target": "webp",
      "sourceLabel": "TIFF",
      "targetLabel": "WebP",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first page is converted — one image file holds one picture.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "3gp",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "aac",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "aiff",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ts",
      "target": "avi",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "flac",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ts",
      "target": "flv",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "gif",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ts",
      "target": "m4a",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "m4v",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "mkv",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "mov",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "mp3",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "mp4",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "mpeg",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "ogg",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "opus",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "wav",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "ts",
      "target": "webm",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "wma",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "ts",
      "target": "wmv",
      "sourceLabel": "MPEG Transport Stream",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "txt",
      "target": "doc",
      "sourceLabel": "Plain text",
      "targetLabel": "Word 97 (.doc)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "txt",
      "target": "docx",
      "sourceLabel": "Plain text",
      "targetLabel": "Word (.docx)",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "txt",
      "target": "epub",
      "sourceLabel": "Plain text",
      "targetLabel": "EPUB",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "txt",
      "target": "html",
      "sourceLabel": "Plain text",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "txt",
      "target": "odt",
      "sourceLabel": "Plain text",
      "targetLabel": "OpenDocument Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "txt",
      "target": "pdf",
      "sourceLabel": "Plain text",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The text is fixed onto pages instead of reflowing, so it will not adapt to a phone or an e-reader.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "txt",
      "target": "rtf",
      "sourceLabel": "Plain text",
      "targetLabel": "Rich Text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "The text still reflows to the reader’s screen.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "wav",
      "target": "aac",
      "sourceLabel": "WAV",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "aiff",
      "sourceLabel": "WAV",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "flac",
      "sourceLabel": "WAV",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "m4a",
      "sourceLabel": "WAV",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "mp3",
      "sourceLabel": "WAV",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "ogg",
      "sourceLabel": "WAV",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "opus",
      "sourceLabel": "WAV",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wav",
      "target": "wma",
      "sourceLabel": "WAV",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "3gp",
      "sourceLabel": "WebM",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "aac",
      "sourceLabel": "WebM",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "aiff",
      "sourceLabel": "WebM",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webm",
      "target": "avi",
      "sourceLabel": "WebM",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "flac",
      "sourceLabel": "WebM",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webm",
      "target": "flv",
      "sourceLabel": "WebM",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "gif",
      "sourceLabel": "WebM",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webm",
      "target": "m4a",
      "sourceLabel": "WebM",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "m4v",
      "sourceLabel": "WebM",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "mkv",
      "sourceLabel": "WebM",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "mov",
      "sourceLabel": "WebM",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "mp3",
      "sourceLabel": "WebM",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "mp4",
      "sourceLabel": "WebM",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "mpeg",
      "sourceLabel": "WebM",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "ogg",
      "sourceLabel": "WebM",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "opus",
      "sourceLabel": "WebM",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "ts",
      "sourceLabel": "WebM",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "wav",
      "sourceLabel": "WebM",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webm",
      "target": "wma",
      "sourceLabel": "WebM",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webm",
      "target": "wmv",
      "sourceLabel": "WebM",
      "targetLabel": "Windows Media Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — video as msmpeg4v3 and audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webp",
      "target": "avif",
      "sourceLabel": "WebP",
      "targetLabel": "AVIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only the first frame is converted.",
          "scope": "pipeline"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 50.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webp",
      "target": "bmp",
      "sourceLabel": "WebP",
      "targetLabel": "BMP",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webp",
      "target": "gif",
      "sourceLabel": "WebP",
      "targetLabel": "GIF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        },
        {
          "text": "The frames and their timing are kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Every frame and its delay is read across, not just the first.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webp",
      "target": "heic",
      "sourceLabel": "WebP",
      "targetLabel": "HEIC",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "webp",
      "target": "ico",
      "sourceLabel": "WebP",
      "targetLabel": "ICO",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webp",
      "target": "jpg",
      "sourceLabel": "WebP",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        },
        {
          "text": "Both formats are lossy, so this is a second round of compression. The new encoder starts from what the first one already discarded and removes more.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Transparent pixels are composited onto white before encoding, not after — once the channel is gone those pixels have already taken the color underneath.",
          "scope": "pipeline"
        },
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "webp",
      "target": "pdf",
      "sourceLabel": "WebP",
      "targetLabel": "PDF",
      "keeps": [],
      "loses": [
        {
          "text": "If the image has transparent areas, they are filled with white — this format has no transparency.",
          "scope": "format"
        },
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webp",
      "target": "png",
      "sourceLabel": "WebP",
      "targetLabel": "PNG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webp",
      "target": "svg",
      "sourceLabel": "WebP",
      "targetLabel": "SVG",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "webp",
      "target": "tiff",
      "sourceLabel": "WebP",
      "targetLabel": "TIFF",
      "keeps": [
        {
          "text": "Transparency is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Only one frame survives; the movement is not kept.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wma",
      "target": "aac",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wma",
      "target": "aiff",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wma",
      "target": "flac",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wma",
      "target": "m4a",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wma",
      "target": "mp3",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wma",
      "target": "ogg",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wma",
      "target": "opus",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wma",
      "target": "wav",
      "sourceLabel": "Windows Media Audio",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "3gp",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "3GP",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "aac",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "AAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "aiff",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "AIFF",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16be. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "avi",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "AVI",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg4 and audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "flac",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "FLAC",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as flac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "flv",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "Flash Video",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "gif",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "GIF",
      "keeps": [],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        },
        {
          "text": "The sound is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        },
        {
          "text": "GIF holds at most 256 colors per frame, so a photograph converted to one is banded regardless of how it is encoded.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "m4a",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "M4A",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "m4v",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "M4V",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "mkv",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "Matroska",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "mov",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "QuickTime",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "mp3",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "MP3",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libmp3lame. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "mp4",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "MP4",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libx264 and audio as aac. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "mpeg",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "MPEG",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as mpeg2video and audio as mp2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "ogg",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "Ogg Vorbis",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libvorbis. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "opus",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "Opus",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "ts",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "MPEG Transport Stream",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "The existing video and audio streams are copied into the new container without being re-encoded, so the picture and sound are bit-for-bit identical and the conversion is fast.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "wav",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "WAV",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as pcm_s16le. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        },
        {
          "text": "What the source already discarded does not come back. A lossless format preserves the damage exactly rather than repairing it.",
          "scope": "format"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "webm",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "WebM",
      "keeps": [
        {
          "text": "The picture is kept.",
          "scope": "format"
        },
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": [
        {
          "text": "Re-encoded — video as libvpx-vp9 and audio as libopus. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "wmv",
      "target": "wma",
      "sourceLabel": "Windows Media Video",
      "targetLabel": "Windows Media Audio",
      "keeps": [
        {
          "text": "The sound is kept.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "The picture is dropped.",
          "scope": "format"
        }
      ],
      "notes": [
        {
          "text": "Re-encoded — audio as wmav2. A re-encode always costs some quality, however high the settings.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "xls",
      "target": "csv",
      "sourceLabel": "Excel 97 (.xls)",
      "targetLabel": "CSV",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        },
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "xls",
      "target": "html",
      "sourceLabel": "Excel 97 (.xls)",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "xls",
      "target": "ods",
      "sourceLabel": "Excel 97 (.xls)",
      "targetLabel": "OpenDocument Spreadsheet",
      "keeps": [
        {
          "text": "Formulas stay live.",
          "scope": "format"
        },
        {
          "text": "Every sheet is kept.",
          "scope": "format"
        },
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xls",
      "target": "pdf",
      "sourceLabel": "Excel 97 (.xls)",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "xls",
      "target": "xlsx",
      "sourceLabel": "Excel 97 (.xls)",
      "targetLabel": "Excel (.xlsx)",
      "keeps": [
        {
          "text": "Formulas stay live.",
          "scope": "format"
        },
        {
          "text": "Every sheet is kept.",
          "scope": "format"
        },
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xlsx",
      "target": "csv",
      "sourceLabel": "Excel (.xlsx)",
      "targetLabel": "CSV",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        },
        {
          "text": "Formatting is reduced to plain characters — headings, bold, tables and color are not carried.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "xlsx",
      "target": "html",
      "sourceLabel": "Excel (.xlsx)",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "xlsx",
      "target": "ods",
      "sourceLabel": "Excel (.xlsx)",
      "targetLabel": "OpenDocument Spreadsheet",
      "keeps": [
        {
          "text": "Formulas stay live.",
          "scope": "format"
        },
        {
          "text": "Every sheet is kept.",
          "scope": "format"
        },
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xlsx",
      "target": "pdf",
      "sourceLabel": "Excel (.xlsx)",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [
        {
          "text": "Formulas are replaced by the values they last calculated. Nothing recalculates afterwards.",
          "scope": "format"
        },
        {
          "text": "Only one sheet survives. A workbook with several needs one conversion each.",
          "scope": "format"
        }
      ],
      "notes": []
    },
    {
      "source": "xlsx",
      "target": "xls",
      "sourceLabel": "Excel (.xlsx)",
      "targetLabel": "Excel 97 (.xls)",
      "keeps": [
        {
          "text": "Formulas stay live.",
          "scope": "format"
        },
        {
          "text": "Every sheet is kept.",
          "scope": "format"
        },
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xml",
      "target": "csv",
      "sourceLabel": "XML",
      "targetLabel": "CSV",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xml",
      "target": "html",
      "sourceLabel": "XML",
      "targetLabel": "HTML",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xml",
      "target": "json",
      "sourceLabel": "XML",
      "targetLabel": "JSON",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xml",
      "target": "txt",
      "sourceLabel": "XML",
      "targetLabel": "Plain text",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xps",
      "target": "jpg",
      "sourceLabel": "XPS",
      "targetLabel": "JPEG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "The file is re-encoded into a lossy format. Detail is discarded permanently, and converting back afterwards does not restore it.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": [
        {
          "text": "Encoded at quality 82.",
          "scope": "pipeline"
        }
      ]
    },
    {
      "source": "xps",
      "target": "pdf",
      "sourceLabel": "XPS",
      "targetLabel": "PDF",
      "keeps": [
        {
          "text": "The text stays selectable and searchable.",
          "scope": "format"
        },
        {
          "text": "Formatting is carried across.",
          "scope": "format"
        },
        {
          "text": "Embedded images are carried.",
          "scope": "format"
        },
        {
          "text": "Every page is kept, in order.",
          "scope": "format"
        }
      ],
      "loses": [],
      "notes": []
    },
    {
      "source": "xps",
      "target": "png",
      "sourceLabel": "XPS",
      "targetLabel": "PNG",
      "keeps": [],
      "loses": [
        {
          "text": "The text stops being text. It becomes part of the picture, so it can no longer be selected, searched or copied.",
          "scope": "format"
        },
        {
          "text": "Only the first page is converted.",
          "scope": "pipeline"
        }
      ],
      "notes": []
    }
  ]
}
