Конвертер WebP
Преобразуйте изображения в WebP или WebP обратно в PNG либо JPG прямо в браузере, ничего не загружая, и посмотрите, что изменило преобразование.
Ничего никуда не загружается
Всё преобразование происходит в этой вкладке браузера, на вашей собственной машине. Ни один файл не отправляется ни на этот сайт, ни кому-либо ещё — отправлять просто некуда, сервера здесь нет, — поэтому конфиденциальное изображение остаётся конфиденциальным, и убедиться в этом можно во вкладке «Сеть» браузера прямо во время преобразования.
WebP здесь никогда не бывает без потерь
У WebP есть режим без потерь, но холст браузера не умеет его записывать — попросить об этом попросту нечем. Каждый WebP, созданный здесь, — это кодирование с потерями, на верхнем краю регулятора качества ровно так же, как и ниже, поэтому результат никогда не будет копией исходного файла без потерь.
Цвета могут измениться
Изображение перерисовывается здесь и записывается в обычном sRGB, без встроенного цветового профиля. Снимок, сделанный в более широком пространстве — Display P3 на современном телефоне или Adobe RGB, — почти везде выглядит так же, но самые насыщенные цвета могут выйти чуть тусклее.
Другие конвертеры
Когда WebP вообще ни при чём и вы просто переносите фотографию между JPG и PNG, та страница открывается на PNG и рассказывает, чего стоит такой переход.
Конвертер JPG в PNGWebP никогда не бывает чётче тех пикселей, из которых он сделан, поэтому рисунок стоит растрировать сразу в нужном размере. На той странице размер — это тема, а не настройка: откуда берётся собственный размер рисунка и чего растрированная копия уже не позволяет.
Конвертер SVG в PNG
Что такое WebP и почему что-то на вашей машине отказывается его открывать
WebP — это формат изображений, который Google выпустил, чтобы облегчить веб-страницы, и сегодня именно в нём великое множество сайтов отдаёт свои картинки. Обычно так человек и оказывается с таким файлом на руках, ни разу его не выбрав: вы сохраняете картинку со страницы, а в папку загрузок падает файл с окончанием .webp, а вовсе не JPG или PNG, которого вы ждали. С файлом всё в порядке. Это просто более новый контейнер для той же самой картинки.
Браузеры показывают WebP уже много лет — ровно поэтому сайты его и используют и ровно поэтому неприятности начинаются в другом месте. Программы за пределами веба подтянулись позже и неравномерно: старый графический редактор, офисное приложение, служба печати фотографий или форма, принимающая только определённые файлы, могут отказать наотрез, и отказ этот редко объясняет сам себя. Преобразовать файл во что-нибудь постарше — вот и всё лечение, и по дороге ничего не нужно ни восстанавливать, ни чинить.
- Под именем WebP скрываются два формата. У него есть режим с потерями, устроенный примерно на тех же идеях, что и JPEG, и режим без потерь, более близкий по духу к PNG. Какой из двух использован в конкретном файле, было решено при его записи, и снаружи по файлу этого не видно.
- Прозрачность он несёт в обоих режимах, чего JPEG не умеет вовсе. Это одна из двух причин, по которым сайт предпочтёт его формату JPG, и это же причина, по которой сохранённый со страницы логотип часто оказывается WebP, а не PNG.
- Он умеет хранить анимацию — так же, как старый GIF. Великое множество анимированных WebP в вебе именно этим и является: это GIF, который кто-то пересохранил для страницы, сохранив кадры и сбросив большую часть байтов.
- Эта страница определяет, что за файл перед ней, по его содержимому и никогда по имени, поэтому WebP, которому кто-то дал расширение JPG, всё равно читается и преобразуется как WebP — и о расхождении вам сообщают, потому что это верное утверждение о вашем файле.
Как вернуть WebP обратно в PNG или JPG
Именно за этим сюда приходит большинство, а страница открывается на другом просто потому, что заранее выбрать можно лишь одну настройку; переключатель формата — в одном щелчке, и ни одно направление не является особым случаем. Выбирать приходится между форматом, который хранит картинку в точности, и форматом, который занимает мало места, и верный ответ зависит от того, что на картинке, а не от того, откуда она взялась.
- Выбирайте PNG, когда в картинке есть прозрачность, которую нужно сохранить. Класть её в JPG попросту некуда, поэтому преобразование прозрачного логотипа в JPG на деле означает выбор цвета фона для него — и инструмент этот фон закрасит и скажет вам, каким цветом.
- Выбирайте PNG для снимка экрана, схемы, графика и вообще всего, где есть текст или резкая граница. Сжатие с потерями любого рода бьёт сильнее всего по контрастным границам, поэтому в JPG буквы обрастают серой каймой, которой у PNG просто никогда не бывает.
- Выбирайте PNG, если картинку предстоит ещё править или хранить долго. Это единственный записываемый здесь формат, который ничего не теряет, так что его можно открывать и сохранять обратно сколько угодно раз, не накапливая повреждений.
- Выбирайте JPG для фотографии, которую вы будете отправлять, куда-то загружать или хранить в количестве. Он меньше, его читает всё на свете, а картинка внутри WebP с потерями и без того прошла кодирование с потерями ещё до того, как попала к вам, так что выбрасывание в любом случае начинается не с нетронутого оригинала.
- Выбирайте JPG, когда на нём настаивают на другом конце. Формы загрузки, старые службы печати и некоторые форматы документов принимают более короткий список форматов, чем ваша собственная машина, и JPG есть в каждом из этих списков.
Чего это направление не может, так это отменить уже потерянное самим WebP. Если файл записан в режиме с потерями — а большинство WebP в вебе именно такие, — то мягкость на резких границах и пятнистость на ровных участках к тому моменту, когда файл у вас, уже часть картинки, и PNG хранит их так же добросовестно, как хранит и всё остальное. Что PNG действительно даёт, так это точную копию того, во что этот WebP декодируется, и файл, который дальше не будет портиться, сколько бы раз его ни открывали и ни сохраняли. Маленьким он не будет: PNG здесь пишет собственный компрессор браузера, приличный, но не дотошный, так что отдельный оптимизатор потом ещё смог бы срезать с него кусок, не тронув ни единого пикселя.
Как сделать WebP и чего это стоит
Другое направление — то самое, с которого страница открывается, и это решение о размере. Любой файл, который страница умеет читать как пиксели, — JPG, PNG или WebP, — можно перевести в WebP, и при сопоставимом качестве результат обычно меньше, чем вышло бы в любом из двух других. Слово «обычно» здесь работает всерьёз: честная формулировка этого утверждения — число рядом с вашим собственным результатом, то есть измерение вашей картинки, а не общее правило о картинках вообще. Рисунок, сохранённый как SVG, здесь тоже читается, и это единственный источник, у которого вовсе нет пикселей, пока кто-нибудь не выберет размер: поэтому при выборе такого файла на странице появляются ширина и высота, а конвертер SVG в PNG на этом сайте — та самая дверь, что выстроена вокруг этого решения, и у него есть собственное руководство.
- Фотография для веб-страницы — тот самый случай, ради которого WebP и создавался, и тот, где выигрыш по сравнению с той же картинкой в JPG обычно стоит того.
- Логотип или элемент интерфейса с прозрачностью — второй хороший случай. WebP переносит прозрачность, поэтому ничто не заливается, никакой фон не закрашивается, а файл выходит меньше того PNG, из которого получен.
- Снимок экрана или схема — как раз тот случай, когда здесь стоит подумать дважды. Правильным средством для них был бы режим WebP без потерь, а на этой странице его нет, так что вы получите кодирование с потерями ровно того содержимого, с которым кодирование с потерями справляется хуже всего, — и вот тут PNG оказывается лучшим ответом, пусть он и больше.
- Картинка, которую вы собираетесь ещё править, — плохой кандидат в обе стороны. Каждое сохранение в формате с потерями выбрасывает ещё немного, за несколько кругов потери накапливаются, и записать тот режим WebP, который этого избежал бы, здесь нечем.
В какую бы сторону вы ни преобразовывали, файл, который уже представляет собой сетку пикселей, выходит отсюда с теми размерами, с какими пришёл. Здесь преобразуют, а не редактируют: ничто не масштабируется, не обрезается, не делается резче и не проходит второй круг сжатия, и меняется только то, как та же самая картинка хранится. Среди них исключение одно — фотография, файл которой сам сообщает, что она лежит на боку, а на практике это означает JPG прямо с телефона. Её разворачивают в правильное положение, и ширина с высотой поэтому меняются местами, и строка об этом говорит, а не оставляет вас обнаруживать новые числа самостоятельно.
Регулятор качества виден на экране только для такого формата назначения, которому есть чем поступиться, а здесь это WebP и JPG. PNG не выбрасывает ничего, поэтому и уступать нечего, и регулятора нет вовсе — это лучше, чем регулятор, который стоял бы без дела. Где бы вы его ни оставили, строка под вашим файлом сообщает исходный размер, полученный размер и изменение между ними, так что предмет сделки — читаемое число, а не то, что приходится принимать на веру. Движение регулятора там, где это возможно, заново кодирует уже отрисованную картинку, а не перечитывает ваш файл, — поэтому числа и поспевают за ползунком.
Почему сделанный здесь WebP никогда не бывает без потерь
Это тот потолок, о котором стоит знать, прежде чем полагаться на страницу, и он следует из того, из чего страница сделана. Всё здесь делается тем механизмом рисования картинок, который уже встроен в ваш браузер: файл декодируется, рисуется один раз и записывается обратно в том формате, который вы запросили. Именно это позволяет инструменту работать без отправки файлов куда-либо, без установки чего бы то ни было и без скачивания чего-либо сверх самой страницы, и это же задаёт границы того, о чём вообще можно попросить кодировщик.
Всё, что принимает эта машинерия, — это имя формата и число от нуля до единицы. Нигде в ней нет способа сказать, какой из двух режимов WebP вы имели в виду, а к режиму без потерь она сама не тянется, так что со страницы он попросту недостижим: каждый WebP, сделанный здесь, — кодирование с потерями, включая верх регулятора качества. Одни версии браузеров молча обходились с самым верхом диапазона как с чем-то лучшим, другие нет, и ничто их ни к тому, ни к другому не обязывает, — поэтому страница держится того, что регулятор гарантирует, и ставит в строку замечание, которое об этом говорит.
- PNG — ответ всякий раз, когда уверенность важнее размера. Это единственный формат без потерь, который пишет эта страница, он без потерь для любой картинки и при любом размере, и нет настройки, которая могла бы это изменить.
- Файл, пришедший как WebP без потерь, уходит как WebP с потерями. Пропустить его нетронутым нельзя: он декодируется и кодируется заново, как и всё прочее, поэтому результат не совпадёт с ним байт в байт, и верхний край регулятора качества тут ничего не меняет.
- Для фотографии всё это не так уж важно. Она прошла кодирование с потерями задолго до того, как попала на эту страницу, поэтому настоящий вопрос только один — какое кодирование выглядит лучше при заданном размере; и отвечает на него размер рядом с каждым результатом, для вашего файла, а не для файлов вообще.
Разрыв можно было бы закрыть, поставив вместе со страницей настоящий кодировщик, скомпилированный для работы прямо в ней, и этот инструмент сознательно так не делает. Такой кодировщик — это несколько сотен килобайт, которые скачивал бы каждый посетитель ради того, чтобы часть из них получила желаемый режим, а до конца скачивания страница не работала бы вовсе — на сайте, где любая другая страница работает в тот миг, когда отрисовалась. К тому же он поставил бы два кодировщика за одним регулятором, так что каждому размеру, каждому качеству и каждому замечанию на этой странице пришлось бы сообщать, который из двух его произвёл. Конвертер, прямо называющий свой потолок, стоит больше того, который прячет его за скачиванием, — и это как раз та страница, где такой потолок нужнее всего было назвать.
Анимированный WebP выходит отсюда одной картинкой
WebP может хранить последовательность кадров, и немалая часть тех, что встречаются в вебе, её хранит: анимация, которая раньше была GIF, сегодня очень часто оказывается WebP. Ничто на этой странице не пишет анимированных файлов ни в каком формате, поэтому преобразуется первый кадр, а всех остальных кадров больше нет. Это ровно та потеря, которую конвертер способен допустить молча и остаться вне подозрений, — потому строка и говорит, что это случилось.
Стоит сказать прямо: это верно, в какой бы формат вы ни преобразовывали, включая сам WebP. Анимация теряется не потому, что формат назначения не может её удержать, а потому, что преобразование декодирует файл, рисует один кадр и отдаёт кодировщику именно его. Поэтому преобразование анимированного WebP в WebP теряет анимацию ровно так же, как её теряет преобразование в PNG, — что противоположно тому, чего можно было бы ждать по одним названиям форматов.
- Замечание появляется только для файла, который действительно объявляет больше одного кадра, так что неподвижный WebP преобразуется без единого слова о кадрах.
- Если вам нужна именно анимация, сохраните исходный файл. Настройки, которая сберегла бы её, на этой странице нет, и формата, способного её нести, на этой странице тоже нет.
- А если одна картинка и была тем, что вам нужно с самого начала, — стоп-кадр для документа или уменьшенное изображение анимации, — то первый кадр и есть полезный, и это подходящий для такого дела инструмент.
О чём говорит каждая строка результата и когда она отказывает
Конвертер, работающий молча, — вот причина, по которой о лежащей на боку фотографии, о чёрном фоне или о пропавшей анимации узнают спустя дни и совсем в другом месте. Каждая строка здесь несёт короткий отчёт о том, что на самом деле сделали с этим файлом, — и не несёт ровным счётом ничего, когда ничего примечательного сделано не было: как раз это и делает замечания достойными того, чтобы на них остановиться, а не пролистать.
- Картинка развёрнута в правильное положение, а ширина и высота поменялись местами. Телефоны записывают, какой стороной вверх смотреть на фотографию, вместо того чтобы поворачивать пиксели; преобразование здесь рисует картинку из декодированных пикселей, поэтому такая пометка дальше уехать не может и поворот приходится делать по-настоящему. Размеры в строке после этого уже не те, что показывал вам файловый менеджер, — ровно поэтому о перестановке и объявляют, а не оставляют вас в ней разбираться.
- Метаданные отброшены. Данные камеры, записанное телефоном местоположение, встроенный цветовой профиль и любые комментарии путешествуют рядом с пикселями, а не внутри них, и при отрисовке картинки остаются за бортом. Замечание появляется только для файла, который что-то из этого нёс, — в этом вся причина, по которой оно что-то значит, когда вы его видите. Из всего перечисленного видимое последствие есть у цветового профиля: на выходе получается обычный sRGB вовсе без профиля, поэтому у фотографии, снятой в более широком пространстве, самые насыщенные цвета могут выйти чуть тусклее.
- Прозрачность залита сплошным цветом — и каким именно. Это измеряется, а не предполагается. Великое множество картинок несёт канал прозрачности, не имея внутри ни одного прозрачного пикселя, поэтому замечание ждёт, пока в отрисованной картинке не найдётся по-настоящему просвечивающий пиксель, — а непрозрачный WebP, переведённый в JPG, не вызывает ничего.
- Имя и содержимое расходятся. Поскольку решают байты и никогда не решает расширение, WebP, который кто-то сохранил с расширением JPG, читается и преобразуется как тот WebP, каким он и является, — и о расхождении сообщают, потому что это верное утверждение о вашем файле, узнать которое вам было неоткуда.
- Оставлен только первый кадр. Появляется для исходного файла, объявляющего больше одного, в какой бы формат вы его ни преобразовывали, — по причине, изложенной в разделе выше.
- WebP при этой настройке всё равно с потерями. Это замечание появляется на верхнем краю регулятора качества и больше нигде, потому что верх — единственное место, где может держаться убеждение, которое оно поправляет. Общее утверждение — что WebP здесь никогда не бывает без потерь — сделано один раз на самой странице, а не повторяется в каждой строке.
Когда файл преобразовать нельзя, инструмент говорит почему, а не выдаёт вам хоть что-нибудь. Он называет и отклоняет файл, который не относится ни к одному из читаемых им форматов; так же поступает с файлом, который к ним относится, но заголовок которого повреждён или обрезан; и так же — с файлом, который ваш браузер в итоге не смог декодировать, каким бы целым ни выглядел заголовок. Ничего не угадывается, и ничто наполовину сделанное не выдаётся за готовое — то самое правило, что стоит за каждым замечанием выше, применённое там, где оно важнее всего.
Об одном отказе стоит рассказать заранее, потому что это тот самый провал, которым конвертеры и знамениты. У каждого браузера есть потолок размера картинки, которую он действительно удержит; потолок этот не одинаков у телефона и у настольной машины и не одинаков у двух браузеров на одной машине, а выход за него не вызывает вообще никакой ошибки: получается молча пустое изображение в несколько килобайт, сходящее за удачное преобразование, пока его кто-нибудь не откроет. Поэтому инструмент выделяет картинку в её настоящем выходном размере, записывает в неё известный пиксель и читает этот пиксель обратно — всё это прежде, чем будет нарисовано хоть что-нибудь. Если холста на самом деле нет, преобразование отклоняется, размер называется, и никакого файла не появляется. Вопрос задаётся для каждого файла в его собственном размере и на вашем собственном устройстве, так что здесь ничто никогда не отклоняется из-за предела, выбранного под чужую машину.
Почему ваш файл никогда не доходит до сервера
За этой страницей нет никакого сервера, и это описание того, как инструмент устроен, а не обещание вести себя определённым образом. Преобразование идёт в той вкладке, где вы это читаете, на вашем собственном процессоре; ваш файл никуда не уходит, потому что уходить ему некуда — у этого сайта нет средств его принять, и никакая третья сторона не участвует ни на каком этапе. Версии инструмента, работающей иначе, не бывает, и настройки, которая это изменила бы, тоже нет.
Ничему из этого не нужно верить на слово — ради этого всё и сказано именно так. Откройте панель сети в инструментах разработчика браузера и преобразуйте что-нибудь, глядя на неё: наружу не уходит ничего. Вся страница — это горстка статических файлов, и никакого кода, работающего где-то ещё, нет, так что после её загрузки можно отключиться от сети и преобразовывать сколько душе угодно.
- Файл .webp, пришедший откуда-то ещё и не открывающийся на вашей машине, читается и преобразуется целиком на ней — окажется ли внутри счёт, медицинский снимок или страница, которую сохранил для вас коллега.
- Преобразованный файл живёт в этой вкладке и больше нигде, пока вы его не скачаете. Закрыть вкладку — это и есть всё удаление, и ничего о нём не запоминается от одного визита к другому.
- Съёмочные метаданные пропадают в тот самый миг, когда картинку перерисовывают заново, так что в вашей загрузке не останется ни координат, ни опознавательных признаков аппарата, сколько бы их ни хранил исходник.
Частые вопросы
- Что-то на моём компьютере не открывает файл .webp. Эта страница для такого случая?
- Да, и это самая частая причина, по которой сюда приходят. WebP — формат, в котором великое множество сайтов сегодня отдаёт свои картинки, так что оказаться с таким файлом, которого вы не выбирали, проще простого. Браузеры показывают его уже много лет; программы за пределами веба подтянулись позже и неравномерно, поэтому старый графический редактор, офисное приложение или форма загрузки могут его до сих пор не принимать. Преобразуйте файл в PNG или в JPG — и то, что его отвергало, его откроет. По дороге ничего не нужно восстанавливать: картинка внутри WebP — обычная картинка, а вся беда лишь в том, в каком контейнере она лежит.
- Во что лучше преобразовать мой WebP — в PNG или в JPG?
- Это зависит от того, что на картинке, а не от того, откуда она взялась. Выбирайте PNG, если в ней есть прозрачность, которую нужно сохранить, если это снимок экрана, схема или что угодно с текстом или резкой границей, либо если вы собираетесь править и пересохранять её многократно: PNG хранит картинку в точности, поэтому дальше не теряется ничего, сколько бы раз вы её ни открывали. Выбирайте JPG для фотографии, которую вы отправляете, куда-то загружаете или храните в количестве, либо когда тот, кому вы её отдаёте, настаивает именно на этом формате. Учтите, что для фотографии PNG окажется заметно крупнее JPG и что он всё равно будет крупнее того файла, который сделал бы отдельный специальный инструмент: его пишет собственный компрессор браузера, и попросить этот компрессор постараться сильнее нечем. Если сомневаетесь, преобразуйте обоими способами и сравните размеры в двух строках; оба преобразования бесплатны и ни одно не трогает ваш исходный файл.
- Может ли эта страница сделать WebP без потерь?
- Нет, и это самое полезное, что стоит знать об этой странице. Режим без потерь у WebP есть; просто попросить о нём браузер нельзя, потому что холст принимает тип содержимого и число от нуля до единицы и больше ничего. Каждый сделанный здесь WebP — кодирование с потерями, и верхний край регулятора — тоже кодирование с потерями; вот почему замечание появляется именно в этом положении, вместо того чтобы положение говорило само за себя. PNG — единственный заведомо работающий без потерь формат, который пишет эта страница. А файл, который уже был WebP без потерь, таким не остаётся: преобразование в WebP здесь перекодирует его, как и всё прочее.
- Мой анимированный WebP вышел одной неподвижной картинкой. Можно ли сохранить анимацию?
- На этой странице — нет. WebP может хранить последовательность кадров, а здесь ничто не пишет анимированных файлов ни в каком формате, поэтому преобразование декодирует файл, рисует первый кадр и кодирует именно его. Строка сообщает вам, что это произошло, потому что потерянная анимация — ровно то, что конвертер способен сделать молча и остаться вне подозрений. Так будет с любым выбранным форматом, включая сам WebP: анимация теряется не потому, что формат назначения не может её удержать, а потому, что нарисован был всего один кадр. Если анимация нужна, сохраните исходный файл.
- Улучшится ли картинка, если перегнать WebP в PNG?
- Нет, хотя надежда эта распространена. Большинство файлов WebP в вебе записано в режиме с потерями, который добивается своего размера, выбрасывая подробности в момент создания файла, и нигде дальше эти подробности не сохраняются. PNG хранит в точности то, что ему дали, поэтому и мягкость, и пятнистость он сберегает так же добросовестно, как всё остальное. Преобразование даёт вам другое: дальше не теряется уже ничего — PNG можно обрезать, править и сохранять снова, не накапливая тот ущерб, который добавил бы очередной круг с потерями. Если WebP случайно оказался без потерь, то PNG — точная копия того, во что он декодируется, а лучше картинка здесь и не бывает; единственное, что не уцелеет ни в том, ни в другом случае, — встроенный цветовой профиль, потому фотография, снятая камерой с широким цветовым охватом, может стать после этого самую малость тусклее.
- В моём WebP есть прозрачные места. Что с ними будет?
- Это целиком зависит от того, во что вы его преобразуете. PNG и WebP оба несут прозрачность, поэтому преобразование в любой из них её сохраняет и за картинкой ничего не закрашивается. JPG хранить прозрачность не умеет вовсе — в формате просто нет канала для неё, — поэтому за картинкой что-то должно оказаться, и инструмент закрашивает фон и сообщает вам, каким цветом. По умолчанию это белый, из тех соображений, что документ, слайд или форма загрузки обычно белые; выбор цвета появляется, как только он действительно нужен какому-то файлу из вашего списка, так что другой цвет заставляет сделать преобразование заново. Само замечание ждёт, пока не найдётся по-настоящему просвечивающий пиксель, поэтому картинка, которая лишь несёт канал прозрачности и ни разу его не использует, не вызывает ничего.
- Я преобразовал здесь файл, положил результат обратно, и он говорит, что метаданные отброшены. Почему?
- Потому что собственный кодировщик WebP в браузере обычно записывает небольшой блок цветового профиля в файл, который создаёт, а этот инструмент честно сообщает об этом блоке, когда читает файл заново. Замечание, стало быть, верное, а не путаное: первое преобразование действительно отбросило данные камеры и местоположение, которые нёс оригинал, а записанный им WebP уже нёс собственный блок, который второе преобразование в свою очередь отбросило. Ничего не накапливается, и ничего вашего не уцелело ни в том, ни в другом круге. Если вам нужен файл без данных камеры и без местоположения, одного прохода через эту страницу достаточно, и второе замечание не признак того, что что-то осталось.
- Уходит ли мой файл куда-нибудь и работает ли это при выключенной сети?
- Никуда он не уходит, и да, работает. Файл .webp, который вы бросаете сюда, раскодирует и закодирует заново та самая вкладка, что у вас перед глазами, на вашем собственном процессоре; сервера, способного принять файл, у этого сайта нет, даже если бы страница вздумала его подать. Посмотреть на это быстро: откройте панель сети в инструментах разработчика браузера и, не закрывая её, преобразуйте что-нибудь. Единственное, что вообще куда-то ехало, — сама страница, так что как только она приехала, сеть можно выключить целиком и продолжать преобразовывать. Ничего о ваших файлах не сохраняется, не переносится от одного визита к следующему и не остаётся после закрытия вкладки.