W poradniku pokazujemy, jak zrobić CV w formacie JSON Resume (ATS), żeby Twoje dane były czytelne dla automatycznych systemów i łatwe do przenoszenia między portalami. Dostaniesz gotowy szablon, mapowanie pól oraz checklistę eksportu do PDF/DOCX bez utraty zgodności z ATS.

W poradniku pokazujemy, jak zrobić CV w formacie JSON Resume (ATS), żeby Twoje dane były czytelne dla automatycznych systemów rekrutacyjnych (ATS) i łatwe do przenoszenia między portalami. W 2026 r. większość rekrutacji w Polsce (zwłaszcza w IT, finansach, SSC/BPO i większych firmach) przechodzi przez workflow: formularz → ATS → preselektor → rekruter. Jeśli Twoje CV ma „ładny wygląd”, ale słabą strukturę, system potrafi źle zinterpretować stanowiska, daty, technologie czy nawet dane kontaktowe.
JSON Resume rozwiązuje to inaczej: zamiast walczyć z formatowaniem w Wordzie, budujesz jedno źródło prawdy (pliku JSON), z którego generujesz PDF/DOCX, stronę www, wersję na LinkedIn‑style, a nawet automatycznie wypełniasz formularze w portalach (Pracuj.pl, JustJoin.it, NoFluffJobs – wszędzie tam, gdzie i tak kończysz na polach typu „Doświadczenie”, „Umiejętności”, „Edukacja”). W tym artykule dostaniesz:
- mapowanie pól na typowe formularze rekrutacyjne i ATS,
- praktyczną checklistę eksportu do PDF/DOCX bez utraty zgodności z ATS (czyli bez „kolumn, tabelek i ikonek”, które psują parsing).
CV w JSON brzmi technicznie, ale w praktyce to po prostu porządek w danych. A ATS kocha porządek.
Najczęstsze problemy kandydatów w Polsce, które widzę w rekrutacjach (i które JSON ogranicza):
- Umiejętności ukryte w infografice (ATS nie czyta pasków poziomu, ikon ani wykresów).
- Jedno CV na wszystko – bez łatwego „tuningowania” pod ogłoszenie (słowa kluczowe, konkretne projekty).
- Duplikowanie pracy: osobny PDF, osobny DOCX, osobne wklejanie do formularzy na Pracuj.pl/NoFluffJobs/JustJoin.it.
Gdy wiesz, jak zrobić CV w formacie JSON Resume (ATS), zyskujesz:
- łatwą aktualizację (zmieniasz raz, publikujesz wszędzie),
- spójność wersji (koniec z „CV_final_final_v7.pdf”),
- możliwość automatyzacji (generowanie wielu wersji pod role, eksporty, publikacja online).
JSON Resume to otwarty standard opisu CV w pliku .json. Najczęściej spotkasz wersję schematu resume.json (community standard), w której dane są zorganizowane w sekcje:
basics – dane podstawowe (kontakt, profil, lokalizacja),- work – doświadczenie,
- education – edukacja,
- skills – umiejętności,
- languages – języki,
- projects – projekty,
- certificates, publications, volunteer, awards itd.
Kluczowa różnica: ATS nie musi „zgadywać”, co jest czym – bo Ty to deklarujesz.
W praktyce najczęstszy workflow w 2026 wygląda tak:
1. Trzymasz CV w repo (np. prywatne GitHub/GitLab) albo w chmurze jako resume.json.
2. Generujesz z tego:
- PDF (wysyłka do rekrutera),
- DOCX (jeśli firma wymaga),
- HTML (portfolio),
- tekstową wersję do formularzy.
3. Dostosowujesz pod ogłoszenie przez:
- warianty sekcji (np. inne highlights w work),
- „slicing” projektów,
- słowa kluczowe w summary i skills.
Poniżej masz praktyczny szablon, który możesz skopiować i uzupełnić. Jest zgodny z logiką ATS i pasuje do realiów polskich ogłoszeń (UoP/B2B, miasta, widełki, tryb pracy).
Wskazówka: jeśli nie chcesz pokazywać pełnego adresu – w Polsce to standard. Wystarczy miasto/województwo.
json{
"basics": {
"name": "Jan Kowalski",
"label": "Analityk danych / Data Analyst",
"image": "",
"email": "jan.kowalski@email.com",
"phone": "+48 600 000 000",
"url": "https://twoje-portfolio.pl",
"summary": "Analityk danych z 4+ lat doświadczenia w e-commerce i fintech. Specjalizuję się w SQL, Power BI i automatyzacji raportowania. Szukam roli z wpływem na decyzje produktowe (PL/UE, hybryda/zdalnie).",
"location": {
"city": "Warszawa",
"region": "Mazowieckie",
"countryCode": "PL"
},
"profiles": [
{ "network": "LinkedIn", "username": "jankowalski", "url": "https://linkedin.com/in/jankowalski" },
{ "network": "GitHub", "username": "jankowalski", "url": "https://github.com/jankowalski" }
]
},
"work": [
{
"name": "Allegro",
"location": "Warszawa / hybryda",
"description": "E-commerce",
"position": "Data Analyst",
"url": "https://allegro.pl",
"startDate": "2023-02-01",
"endDate": "",
"summary": "Analiza sprzedaży, atrybucji i efektywności kampanii.",
"highlights": [
"Zautomatyzowałem dashboardy w Power BI, skracając czas raportowania z 6h do 45 min tygodniowo.",
"Zbudowałem model danych w SQL (BigQuery), obsługujący 20+ metryk dla marketingu performance.",
"Wprowadziłem walidację jakości danych (alerty), redukując błędy w raportach o ~30%."
]
}
],
"projects": [
{
"name": "Monitoring jakości danych",
"description": "Skrypt i pipeline walidujący spójność danych transakcyjnych.",
"highlights": ["SQL, Python", "Alerty mail/Slack", "Testy regresji metryk"],
"url": ""
}
],
"education": [
{
"institution": "SGH",
"area": "Metody Ilościowe w Ekonomii i Systemy Informacyjne",
"studyType": "Magister",
"startDate": "2018-10-01",
"endDate": "2020-06-30"
}
],
"skills": [
{
"name": "SQL",
"level": "Advanced",
"keywords": ["BigQuery", "PostgreSQL", "CTE", "window functions", "optimizacja zapytań"]
},
{
"name": "BI",
"level": "Advanced",
"keywords": ["Power BI", "DAX", "model danych", "dashboarding"]
},
{
"name": "Python",
"level": "Intermediate",
"keywords": ["pandas", "automatyzacja", "ETL"]
}
],
"languages": [
{ "language": "Polski", "fluency": "Native" },
{ "language": "Angielski", "fluency": "C1" }
],
"certificates": [
{ "name": "PL-300: Microsoft Power BI Data Analyst", "date": "2025-11-01", "issuer": "Microsoft" }
],
"meta": {
"lastModified": "2026-09-02",
"version": "1.0"
}
}
- Daty w ISO (YYYY-MM-DD). ATS i generatory PDF lepiej to obsługują.
- highlights jako krótkie, mierzalne punkty (czas, koszt, skala, KPI).
- skills.keywords = Twoje „słowa kluczowe” pod ogłoszenia (np. „Azure”, „ETL”, „SCRUM”, „UML” – zależnie od roli).
- Unikaj wartości typu „90%” w level. Lepiej Beginner/Intermediate/Advanced lub zostaw puste.
Rekruterzy i portale zwykle pytają o podobne rzeczy. To mapowanie ułatwia wklejanie/eksport.
- Imię i nazwisko → basics.name
- E-mail / telefon → basics.email, basics.phone
- Miasto / lokalizacja → basics.location.city, basics.location.region
- Linki (LinkedIn/GitHub/portfolio) → basics.profiles[], basics.url
- Podsumowanie zawodowe → basics.summary
- Doświadczenie → work[] (firma, rola, daty, opis, osiągnięcia)
- Projekty → projects[] (świetne dla IT/PM/data)
- Umiejętności → skills[] (nazwa + keywords)
- Edukacja → education[]
- Języki → languages[]
- Certyfikaty → certificates[]
W Polsce w 2026 nadal często pojawia się „forma współpracy” (UoP/B2B/zlecenie) i „tryb pracy” (zdalnie/hybryda/biuro). Standard JSON Resume nie ma jednego „oficjalnego” pola, więc:
- dopisz to w basics.summary (krótko),
- albo dodaj własne basics.x_preferences (własne pole) i używaj przy generowaniu wersji (to normalne w praktyce).
Poniżej uczciwe porównanie popularnych opcji. Nie ma jednego „najlepszego” zestawu – zależy, czy chcesz prostoty, czy automatyzacji.
| Narzędzie / podejście | Do czego najlepsze | Plusy | Minusy | Dla kogo |
|---|---|---|---|---|
| JSON Resume + CLI/tematy (np. resume-cli) | Szybkie generowanie HTML/PDF z JSON | Automatyzacja, dużo motywów, przenośność | Część motywów ma słabą zgodność ATS (kolumny/ikony) | Osoby techniczne, IT/data |
| Edycja JSON w VS Code + schema validation | Poprawność danych i kontrola wersji | Walidacja, autouzupełnianie, Git | Trzeba ogarnąć składnię JSON | Każdy, kto chce „source of truth” |
| Eksport do DOCX/PDF przez własny szablon (np. narzędzia typu Pandoc/HTML→PDF) | CV „pod ATS” i pod rekrutera | Pełna kontrola nad układem | Konfiguracja może zająć czas | Perfekcjoniści i osoby aplikujące masowo |
| Generator online (różne kreatory JSON Resume) | Start bez konfiguracji | Szybko, często wizualnie | Ryzyko vendor lock‑in, różna jakość eksportu | Osoby nietechniczne |
| Apply4Me (web + mobile) | Aplikowanie, tracking i dopasowanie do ATS | Tracker aplikacji, scoring ATS, wgląd w aplikacje, auto-aplikowanie, plan ścieżki kariery, przygotowanie do rozmów | Nie zastąpi sensownej treści CV (to nadal Twoja praca) | Osoby, które chcą przyspieszyć cały proces i mieć porządek |
Werdykt praktyczny: jeśli chcesz „raz zrobić i mieć spokój”, trzymaj dane w JSON + generuj prosty PDF ATS. Jeśli aplikujesz intensywnie (kilkanaście–kilkadziesiąt ogłoszeń), największą różnicę robi porządek w aplikacjach i dopasowanie treści do ATS, a nie kolejne „ładniejsze” CV.
To jest miejsce, gdzie najwięcej osób psuje efekt, mimo świetnych treści.
- Jedna kolumna, normalny układ tekstu.
- Bez tabel, bez ramek, bez ikon zamiast tekstu.
- Nagłówki sekcji proste: „Doświadczenie”, „Umiejętności”, „Edukacja”.
- Czcionki standardowe (np. Arial, Calibri, Helvetica) i rozmiar 10.5–12.
- Zapisuj jako PDF tekstowy, nie skan/obraz.
- Linki jako tekst + URL (ATS czasem gubi hiperłącza w PDF).
DOCX nadal bywa wymagany w administracji, częściach produkcji/operacji i mniejszych firmach. ATS zazwyczaj czyta DOCX dobrze, ale:
- trzymaj się prostego formatowania,
- nie używaj pól tekstowych (text boxes) i SmartArt.
JSON Resume daje Ci porządek w danych, ale w polskiej praktyce 2026 problemem bywa skala aplikowania i dopasowanie pod konkretne ogłoszenie.
Tu sensownie wchodzi Apply4Me, bo:
- pozwala trzymać tracker aplikacji (co wysłane, gdzie, kiedy, status, follow‑up),
- daje scoring ATS (czy Twoje CV i słowa kluczowe pasują do oferty),
- zapewnia wgląd w aplikacje (co faktycznie poszło w świat),
- ma auto‑aplikowanie tam, gdzie to możliwe i zgodne z procesem,
- działa mobile + web, więc poprawisz wersję CV nawet „w biegu”,
- wspiera planowanie ścieżki kariery i przygotowanie do rozmów (co jest krytyczne, gdy rekrutacje mają 3–5 etapów).
W skrócie: JSON to fundament, Apply4Me to „operacyjny system” do dowożenia aplikacji.
Poniżej plan, który realnie da się zrobić w weekend.
- Zapisz 3–5 ostatnich ról/projektów.
- Do każdej roli przygotuj 3–5 punktów osiągnięć (liczby, skala, rezultat).
- Spisz listę umiejętności w 2 warstwach:
- „core” (5–10 kluczowych),
- „keywords” (10–30 pod ATS).
resume.json (60–120 min)- Zacznij od basics i work.
- Zadbaj o daty ISO i krótkie, treściwe highlights.
- Uporządkuj skills pod typowe ogłoszenia w Polsce (np. „SQL, Power BI, Excel, Python” dla analityka).
W 2026 rekruterzy oczekują dopasowania. Zamiast pisać od zera:
- zrób resume-data-analyst.json i resume-bi-developer.json,
- zmień:
- label i pierwsze 2 zdania w summary,
- kolejność skills,
- dobór projektów i highlightów.
- Wybierz minimalistyczny szablon (jedna kolumna).
- Sprawdź, czy PDF da się zaznaczyć i skopiować tekst (to szybki test „czy to obrazek”).
Zrób samodzielny test:
- skopiuj tekst z PDF do notatnika i zobacz, czy kolejność ma sens,
- sprawdź, czy e-mail/telefon są w pierwszych liniach,
- upewnij się, że daty nie „skleiły się” z nazwą firmy.
- Wyciągnij z JSON krótką wersję „Summary” (500–800 znaków),
- „Work highlights” jako gotowe bullet points do wklejania w ATS.
- Zapisuj, gdzie aplikujesz, jaka była wersja CV i jakie słowa kluczowe dodałeś.
- Jeśli aplikujesz dużo, użyj narzędzia typu Apply4Me do trackingu i scoringu dopasowania (oszczędza czas i zmniejsza chaos).
- „Wszystko w skills”: lepiej przenieść kluczowe technologie do highlightów w work, bo tam ATS często przykłada większą wagę.
- Niejasne nazwy stanowisk: „Specjalista” nic nie mówi. W position wpisz to, co jest na rynku (np. „Junior Accountant”, „Customer Success Specialist”, „Frontend Developer”).
- PDF z dwiema kolumnami: wygląda ładnie, ale rozjeżdża parsing.
Jeśli podejdziesz do tego jak do „danych”, a nie jak do „formatowania”, Twoje CV będzie łatwiejsze do aktualizacji i bardziej odporne na błędy ATS. JSON Resume to praktyczny sposób, żeby mieć jedno źródło prawdy i generować z niego różne wersje bez chaosu.
Chcesz przyspieszyć cały proces aplikowania (tracking + dopasowanie pod ATS + porządek w wysyłkach)? Wypróbuj Apply4Me za darmo i zobacz, jak szybko ogarniesz pipeline aplikacji oraz które oferty masz najlepiej „pokryte” słowami kluczowymi.
Rekruter zazwyczaj nie „czyta JSON-a” – czyta PDF/DOCX lub formularz w ATS. JSON Resume jest świetny jako format bazowy, z którego generujesz standardowe pliki do wysyłki.
Nie zawsze. Wiele ATS bardzo dobrze parsuje DOCX, a część ma problemy z „designerskimi” PDF. Najbezpieczniej: prosty PDF tekstowy (jedna kolumna) + opcjonalnie DOCX, jeśli firma o to prosi.
Najprościej wpisać to w basics.summary (1 zdanie). Jeśli chcesz to automatyzować, dodaj własne pole (np. basics.x_preferences) i wykorzystaj je przy generowaniu wersji CV.
Nie. Wystarczy podstawowa umiejętność edycji tekstu i pilnowanie nawiasów/ przecinków. Najłatwiej edytować w VS Code z walidacją schematu – błędy składni wyskakują od razu.

Autor