Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator manifestu PWA

Plik manifest.json, fragment do sekcji head i kontrola 7 wymagań instalacji aplikacji webowej

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Pod ikoną; najlepiej do 12 znaków. Puste = pełna nazwa.

Format: ścieżka; rozmiar; typ; przeznaczenie. Typ i przeznaczenie można pominąć (typ z rozszerzenia, przeznaczenie any).

Kontrola manifestu

Manifest kompletny OK

Spełnione 7 z 7 punktów kontroli. Wgraj plik manifest.json na serwer z HTTPS i wklej fragment do sekcji head każdej strony.

Ikony

3

Linie

36

Rozmiar

889 B

Kontrola

7 z 7
OK

manifest.json

{ "name": "Moja Lista Zadań", "short_name": "Zadania", "description": "Prosta lista zadań do codziennego planowania.", "start_url": "/", "scope": "/", "display": "standalone", "orientation": "portrait", "theme_color": "#4f6df5", "background_color": "#ffffff", "lang": "pl", "categories": [ "productivity", "utilities" ], "icons": [ { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }, { "src": "/icons/maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" } ] }

Fragment do sekcji head

<link rel="manifest" href="/manifest.json"> <meta name="theme-color" content="#4f6df5"> <link rel="apple-touch-icon" href="/icons/icon-192.png">
Kontrola wymagań instalacji (kryteria Chrome)
PunktRodzajStanWskazówka
Nazwa aplikacji (name / short_name) wymagane OK Jest.
Ikona 192×192 px wymagane OK Jest.
Ikona 512×512 px wymagane OK Jest.
Tryb wyświetlania (display) wymagane OK Tryb standalone pozwala na instalację.
start_url w zakresie scope zalecane OK Adres startowy leży w zakresie.
Ikona maskable zalecane OK Jest.
Krótka nazwa do 12 znaków zalecane OK Ma 7 zn.

Ściąga: pola manifestu PWA

Najważniejsze pola pliku manifest.json
PoleDo czego służyPrzykład
name Pełna nazwa: okno instalacji, lista aplikacji. Moja Lista Zadań
short_name Nazwa pod ikoną na ekranie głównym, gdy brak miejsca na pełną. Zadania
start_url Adres otwierany po uruchomieniu z ikony. /?source=pwa
scope Adresy należące do aplikacji; poza nimi przeglądarka pokazuje swój interfejs. /
id Stały identyfikator aplikacji; bez niego liczony ze start_url. /
display Tryb okna aplikacji (tabela niżej). standalone
theme_color Kolor paska tytułu / paska stanu. #4f6df5
background_color Tło ekranu powitalnego przed załadowaniem strony. #ffffff
icons Ikony aplikacji; Chrome wymaga 192×192 i 512×512 px. /icons/icon-192.png
Tryby wyświetlania (display)
displayJak wyglądaKiedy wybrać
fullscreen Cały ekran, bez interfejsu przeglądarki i paska stanu. Gry, wideo, kioski
standalone Osobne okno jak aplikacja natywna, bez paska adresu. Większość aplikacji
minimal-ui Jak standalone, plus minimalne przyciski nawigacji (obsługa zależy od przeglądarki). Serwisy z nawigacją wstecz
browser Zwykła karta przeglądarki; aplikacji nie da się zainstalować. Brak instalacji

Jak podłączyć manifest

Wgraj plik do katalogu głównego serwisu, a fragment z wyniku wklej do sekcji <head> każdej strony. Plik może się nazywać manifest.json albo manifest.webmanifest; ważne, by ścieżka w <link rel="manifest"> wskazywała właściwy adres.

Ikona maskable

Android przycina ikony do kształtu (koło, zaokrąglony kwadrat). Ikona maskable ma margines: ważna treść mieści się w środkowym kole o średnicy 80% szerokości. Nie oznaczaj zwykłego logo jako maskable, bo krawędzie zostaną obcięte.

start_url i scope

Adres startowy musi leżeć w zakresie. Gdy jest poza nim, przeglądarka ignoruje wpisany scope i wyznacza zakres z adresu startowego. Przy aplikacji w podkatalogu ustaw np. scope na /app/ i start_url na /app/.

Co poza manifestem

Strona musi działać po HTTPS (do testów wystarczy localhost). Praca offline i powiadomienia wymagają service workera. Wynik sprawdzisz w narzędziach deweloperskich Chrome: Application, Manifest.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator manifestu PWA

Progressive Web App to strona, którą można zainstalować na telefonie lub komputerze. Serce instalacji to plik manifest.json. Generator manifestu PWA buduje go z formularza, dokłada fragment do sekcji <head> i od razu sprawdza 7 punktów, od których zależy, czy przeglądarka zaproponuje instalację.

Podłączenie

Pod manifestem narzędzie wypisuje gotowy kod do sekcji <head>. Dla danych przykładowych wygląda tak:

<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#4f6df5">
<link rel="apple-touch-icon" href="/icons/icon-192.png">

Znacznik apple-touch-icon pojawia się tylko wtedy, gdy na liście jest ikona PNG z przeznaczeniem any. Generator wybiera tę, której szerokość jest najbliższa 180 px, bo iOS nie w każdej wersji korzysta z ikon z manifestu. Jeśli zapiszesz plik pod inną nazwą albo w podkatalogu, popraw adres w href.

Co jeszcze potrzebne?

  • service worker (offline i cache),
  • HTTPS (PWA wymaga bezpiecznego połączenia; do testów wystarczy localhost),
  • pliki ikon pod ścieżkami z manifestu, w zadeklarowanych wymiarach,
  • ikona maskable — system przycina ją do swojego kształtu,
  • responsywny layout i szybkie ładowanie.

Jak działa generator manifestu PWA

Manifest aplikacji to zwykły plik JSON: jeden obiekt, w którym każda informacja ma własny klucz i wartość. Generator zamienia to, co wpiszesz w formularzu, na gotowy dokument z wcięciami — sam wstawia cudzysłowy, dwukropki i przecinki we właściwych miejscach i nie zostawia przecinka po ostatnim wpisie. Jeden nadmiarowy przecinek wystarczy, żeby przeglądarka odrzuciła cały plik i nie pokazała opcji instalacji.

Kolejność kluczy nie ma znaczenia, liczą się typy wartości: display przyjmuje jeden z ustalonych trybów, pole koloru wymaga zapisu szesnastkowego (#4f6df5 albo skrócone #fff), a icons to tablica obiektów, z których każdy opisuje jeden plik graficzny osobnymi polami — src, sizes, type i purpose.

Formularz pilnuje formatu, zanim powstanie wynik. Kod języka zapisujesz jak „pl” albo „pl-PL”, kategorii może być najwyżej 20, a ikon najwyżej 30. Błąd pojawia się przy konkretnym polu, a w liście ikon razem z numerem linii. Puste pola opisu, języka, kategorii i id są pomijane, pusta krótka nazwa przejmuje pełną nazwę, a puste start_url i scope dostają wartość „/”.

Gotowy manifest kopiujesz albo pobierasz przyciskiem jako plik manifest.json, wgrywasz na serwer i podłączasz fragmentem z sekcji wyżej. Przeglądarka pobiera manifest przy wejściu na stronę i na tej podstawie wie, jak nazwać skrót na pulpicie i którą ikonę wyświetlić.

Trzy przyciski typu aplikacji ustawiają jednym kliknięciem display i orientation: Aplikacja (standalone, portrait), Gra (fullscreen, landscape) i Minimalna (minimal-ui, any).

Kontrola wymagań instalacji

Pod wynikiem jest tabela 7 punktów opartych na kryteriach Chrome. Brak w punkcie wymaganym daje status „Brakuje wymagań instalacji”, brak w zalecanym — „Manifest poprawny, są zalecenia”, a komplet — „Manifest kompletny”.

PunktRodzajKiedy pojawia się problem
name / short_namewymaganebez pełnej nazwy manifest w ogóle nie powstanie
ikona 192×192 pxwymaganeżaden wpis nie ma rozmiaru 192x192
ikona 512×512 pxwymaganeżaden wpis nie ma rozmiaru 512x512
displaywymaganewybrano browser, który nie daje instalowalnej aplikacji
start_url w zakresie scopezalecaneadres startowy leży poza zakresem; gdy jeden adres jest pełny, a drugi względny, trzeba to sprawdzić ręcznie
ikona maskablezalecanebrak wpisu z maskable — na Androidzie ikona może dostać białą ramkę
short_name do 12 znakówzalecanedłuższa nazwa może zostać ucięta pod ikoną

Przykład: manifest dla kalkulatora walut krok po kroku

  1. Nazwa pełna: w polu name wpisujesz Kalkulator walut. Ta wartość trafia na ekran instalacji i do listy aplikacji.
  2. Nazwa skrócona: short_name to Kalkulator — 10 znaków, więc mieści się w zalecanych 12. Pojawi się pod ikoną na pulpicie.
  3. Adresy: start_url ustawiasz na /, a scope również na /. Aplikacja obejmuje wtedy całą witrynę, a uruchomienie otwiera stronę główną.
  4. Typ aplikacji: przycisk „Aplikacja” ustawia display = standalone, czyli okno bez paska adresu przeglądarki, i orientation = portrait.
  5. Kolory: theme_color to #0b5fff i odpowiada za pasek systemowy, a background_color to #ffffff — tło widoczne, zanim strona się wczyta.
  6. Ikony: dwie linie w polu icons, /icons/icon-192.png; 192x192 i /icons/icon-512.png; 512x512. Typ image/png generator odczyta z rozszerzenia, a przeznaczenie ustawi na any.
  7. Opis, język i kategorie czyścisz. Manifest ma wtedy 9 kluczy najwyższego poziomu: name, short_name, start_url, scope, display, orientation, theme_color, background_color i icons.

Kontrola pokaże 6 z 7 punktów i status „Manifest poprawny, są zalecenia”, bo brakuje ikony maskable. Po dopisaniu trzeciej linii /icons/maskable-512.png; 512x512; image/png; maskable wynik zmieni się na 7 z 7. Jako apple-touch-icon trafi do fragmentu /icons/icon-192.png: różnica 192 − 180 = 12 px jest mniejsza niż 512 − 180 = 332 px, a ikona maskable nie jest brana pod uwagę.

Ściągawka: pola manifestu i dopuszczalne wartości

PoleDozwolone wartościO czym decyduje
displayfullscreen, standalone, minimal-ui, browserWygląd okna po instalacji; browser to zwykła karta, bez instalacji
orientationany, natural, portrait, landscape oraz warianty -primary i -secondaryPodpowiedź, w jakiej orientacji uruchomić aplikację — nie jest gwarantowana
icons[].sizesnp. 192x192, 512x512, kilka rozmiarów po spacji albo anyRzeczywisty wymiar pliku; musi zgadzać się z obrazkiem
icons[].purposeany, maskable, monochrome (można łączyć spacją)any to zwykła ikona, maskable pozwala systemowi przyciąć grafikę do własnego kształtu
icons[].typeimage/png, image/svg+xml, image/webp, image/jpeg, image/x-icon, image/gifFormat pliku; przy pustym polu generator ustala go z rozszerzenia, niezgodny wpis potrafi wyłączyć ikonę z użycia
theme_colorkolor szesnastkowy, np. #0b5fffKolor paska systemowego po uruchomieniu aplikacji
background_colorkolor szesnastkowy, np. #ffffffTło ekranu startowego, zanim wczyta się treść
start_url i scopeścieżka lub adres w obrębie tej samej domenyGdzie startuje aplikacja i które adresy są uznawane za jej część
idścieżka, np. /Stały identyfikator aplikacji; bez niego przeglądarka wylicza go ze start_url
lang, categorieskod języka (pl, pl-PL); słowa po przecinku, np. productivity, utilitiesJęzyk nazw i opisu oraz podpowiedź kategorii dla sklepów z aplikacjami

Jak korzystać z generatora — wskazówki

  • Nazwa pełna i skrócona to dwie różne role. Pełna bywa przycinana w niektórych miejscach interfejsu, więc wersję skróconą potraktuj jako osobną decyzję, a nie kopię z obciętym końcem.
  • Ikonie maskable daj osobny wpis i osobny plik z marginesem: ważna treść musi zmieścić się w środkowym kole o średnicy 80% szerokości. Zwykłe logo oznaczone jako maskable straci krawędzie.
  • Adres startowy powinien leżeć w zakresie. Gdy jest poza nim, przeglądarka ignoruje wpisany scope i wyznacza zakres z adresu startowego. Przy aplikacji w podkatalogu ustaw oba pola na przykład na /app/.
  • Po wdrożeniu sprawdź w Chrome kartę Application, sekcję Manifest.
  • Przeglądarki trzymają manifest i ikony w pamięci podręcznej, więc stara wersja potrafi się utrzymywać jeszcze po podmianie pliku. Zmiany między wersjami najprościej porównać w narzędziu do porównywania różnic w kodzie.

Czego narzędzie nie zrobi

  • Nie tworzy plików graficznych ani nie wgrywa ich na serwer. Generator wypisuje ścieżki do ikon, ale same obrazki musisz przygotować i opublikować samodzielnie, na przykład w generatorze faviconów.
  • Service workera nie generuje — dostajesz manifest i fragment do sekcji head, a skrypt odpowiadający za tryb offline piszesz po swojej stronie.
  • Różnic między systemami nie wyrówna: Android, iOS i przeglądarki desktopowe część pól ignorują.
  • Kontrola patrzy wyłącznie na wpisy w manifeście. Narzędzie nie wie, czy plik pod adresem z pola src istnieje ani czy jego rzeczywisty rozmiar zgadza się z deklaracją.

Najczęstsze pytania

Czy PWA wymaga service workera?

Do zbudowania manifestu nie, ale bez service workera aplikacja nie będzie działać offline ani wysyłać powiadomień.

Dlaczego aplikacja nie instaluje się?

Najczęściej brakuje HTTPS, ikony 192×192 lub 512×512 albo display ustawiono na browser. Dwa ostatnie przypadki wychwyci kontrola w generatorze, a HTTPS i dostępność plików ikon sprawdzisz w Chrome w karcie Application.

Czym jest ikona maskable?

To ikona z bezpieczną strefą, którą system może przyciąć do koła lub zaokrąglonego kwadratu bez utraty treści. Nie jest obowiązkowa, ale na Androidzie bez niej ikona może dostać białą ramkę.

Czy plik musi nazywać się manifest.json?

Nie. Popularna jest też nazwa manifest.webmanifest; liczy się to, żeby adres w <link rel="manifest"> wskazywał właściwy plik.

Czy wystarczy jedna ikona 512x512?

Kontrola w generatorze oznaczy wtedy brak ikony 192×192 jako niespełnione wymaganie. Przy jednym pliku system i tak skaluje go w dół, co daje mniej ostry obraz, więc podaj oba rozmiary.

Czy mogę użyć ikony SVG zamiast PNG?

Możesz, jeśli w polu type wskażesz image/svg+xml, ale nie każdy system obsługuje wektor w tym miejscu. Bezpieczniej dać PNG jako podstawę i SVG jako uzupełnienie; apple-touch-icon generator wybiera wyłącznie spośród ikon PNG.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!