Zahid Awais Get a free audit

Free job posting schema generator

Create JobPosting JSON-LD with location, salary range and remote rules checked for you.

By Zahid Awais · Schema markup generators · Free, private, no sign-up

Result
0Required
0Recommended
0To check

JSON-LD code

    Only mark up jobs that are open and shown on the page. Remove the markup or the page when the job is filled.

    Job Posting Schema Generator: what it does and an example result

    The free job posting schema generator runs in your browser, needs no sign-up and never sends what you type anywhere.

    Quick answer

    This job posting schema generator creates JobPosting JSON-LD for Google's job search experience. Google requires title, description, datePosted, hiringOrganization and jobLocation (or remote details with applicant location). Recommended fields include baseSalary, employmentType, validThrough, identifier and directApply. Remove the markup once the job is filled.

    What is a job posting schema generator?

    A job posting schema generator is a tool that writes schema.org JobPosting structured data. It turns your job details into JSON-LD, converts the description into the HTML tags Google supports and formats salary as a MonetaryAmount with a HOUR, DAY, WEEK, MONTH or YEAR unit.

    How do you use the Job Posting Schema Generator?

    How to use the Job Posting Schema Generator: enter details, see the result and copy it
    Real screenshot of the Job Posting Schema Generator with the steps marked.
    1. Enter the job title only, without codes or salary, and paste the full description.
    2. Add the company name, website, logo and the posting and closing dates.
    3. Tick the employment types and enter the office address, or mark the job 100% remote with an applicant country.
    4. Add the salary range, currency and period, plus your job reference ID.
    5. Copy the code to the job page and test it in the Rich Results Test.

    What fields are required for JobPosting schema?

    Google requires five: title, description, datePosted, hiringOrganization and jobLocation. For fully remote jobs, jobLocation can be replaced by jobLocationType TELECOMMUTE with applicantLocationRequirements. See Google's job posting structured data guide.

    How do I add salary to job posting schema?

    Use baseSalary as a MonetaryAmount with currency and a QuantitativeValue. Set unitText to HOUR, DAY, WEEK, MONTH or YEAR in capitals, and use minValue and maxValue for a range. Only employers should provide the actual salary.

    How do I mark up a remote job?

    Set jobLocationType to TELECOMMUTE only when the job is 100% remote, and add applicantLocationRequirements for countries or states where applicants may live. Occasional work from home does not count as remote.

    Quick reference

    PropertyStatusFormat
    titleRequiredJob title only
    descriptionRequiredHTML with p, ul, li
    datePostedRequiredISO 8601, e.g. 2026-10-08
    hiringOrganizationRequiredOrganization with name
    jobLocationRequired unless fully remotePlace with addressCountry
    baseSalaryRecommendedMonetaryAmount, unitText YEAR

    Worked example

    Example

    Example: a Junior SEO Executive job in Leeds, full time, paying 26000 to 30000 GBP per YEAR, posted 2026-10-08 and closing 2026-11-30. The tool outputs JobPosting JSON-LD with an HTML description, a Place in GB and a salary range, meeting all 5 required checks.

    Frequently asked questions

    Can I write the job description in plain text?

    Yes. This tool wraps each line in a paragraph tag and turns lines starting with a hyphen into a bulleted list, using the p, ul and li tags Google supports. The description must still match the text shown on the page.

    What employment types does Google accept?

    FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM and OTHER, written in capitals. You can list more than one if the role allows it, such as full time or part time.

    What should I do when the job is filled?

    Remove the JobPosting markup or the whole page, or return a 404 or 410 status. You can also set validThrough to a past date. Keeping expired jobs marked up breaks Google's guidelines.

    Can recruitment agencies use JobPosting schema?

    Yes. Use the actual employer as hiringOrganization where you can. If the employer must stay anonymous, Google allows confidential as the organization name. Agencies should not list themselves as the employer for client jobs.

    Does JobPosting schema need the Indexing API?

    No, but Google recommends the Indexing API for job pages so new and removed jobs are crawled quickly. A sitemap with accurate lastmod dates also helps Google find changes.

    Why does my job not show in Google Jobs?

    Check for errors in the Rich Results Test, make sure the job is visible on the page and not expired, and confirm the page is indexed. Missing required properties, vague descriptions or spammy titles can all keep a job out.

    Sources

    Facts checked against these official pages. Read how I check facts in my editorial policy.

    Related free tools

    All 104 tools

    JSON-LD Validator

    A JSON-LD validator is a tool that checks structured data written in JSON for Linked Data. It first parses…

    Want a full audit instead?

    Send your website and I will check it for you, free.

    Get my free audit
    Chat on WhatsApp
    Free updates

    Get new tools, guides and coupons first

    One short email when something new goes live: articles, free SEO tools, package updates, discounts and price alerts. No spam, unsubscribe in one click.