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