Free tool · No signup

    Job Posting Schema Generator

    Build JobPosting JSON-LD with every property Google Jobs requires, so listings are eligible to appear.

    JobPosting JSON-LD

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "JobPosting",
      "title": "Senior Technical SEO Manager",
      "description": "<p>Own crawl, indexation and structured data across a 40,000-URL marketplace. Work alongside engineering on rendering and site speed.</p>",
      "datePosted": "2026-06-01",
      "validThrough": "2026-08-31",
      "employmentType": "FULL_TIME",
      "hiringOrganization": {
        "@type": "Organization",
        "name": "Example Marketplace Ltd",
        "sameAs": "https://example.com"
      },
      "jobLocation": {
        "@type": "Place",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "18 Finsbury Square",
          "addressLocality": "London",
          "addressRegion": "Greater London",
          "postalCode": "EC2A 1AH",
          "addressCountry": "GB"
        }
      },
      "baseSalary": {
        "@type": "MonetaryAmount",
        "currency": "GBP",
        "value": {
          "@type": "QuantitativeValue",
          "minValue": 62000,
          "maxValue": 78000,
          "unitText": "YEAR"
        }
      }
    }
    </script>

    Paste this block into the <head> or anywhere in the <body> of the page it describes, then confirm it parses with the JSON-LD schema validator.

    In short

    A job posting schema generator produces JobPosting JSON-LD with the properties Google for Jobs requires: title, description, datePosted, validThrough, hiringOrganization and jobLocation, plus employmentType and baseSalary where applicable. Missing any required property disqualifies the listing from Google Jobs entirely, and an expired validThrough date causes it to be dropped from results even if everything else is correct. Fill in the fields below to generate a complete, valid listing.

    Worked example

    What the output looks like

    Input
    Senior Backend Engineer, Acme Logistics, posted 2024-05-01, expires 2024-07-01, remote, $120,000-$150,000/year
    Output
    { "@context": "https://schema.org", "@type": "JobPosting", "title": "Senior Backend Engineer", "description": "Design and maintain distributed systems powering our logistics platform.", "datePosted": "2024-05-01", "validThrough": "2024-07-01T00:00:00Z", "employmentType": "FULL_TIME", "hiringOrganization": { "@type": "Organization", "name": "Acme Logistics", "sameAs": "https://acmelogistics.com" }, "jobLocationType": "TELECOMMUTE", "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "minValue": 120000, "maxValue": 150000, "unitText": "YEAR" } } }
    How to read it
    For a remote role, jobLocationType is set to TELECOMMUTE and jobLocation can be omitted or replaced with applicantLocationRequirements — check that validThrough is a full ISO 8601 datetime, since a date-only string is sometimes rejected.

    How it works

    1

    Enter the core job details

    Provide the job title, a full description, the date posted, and an expiry date in validThrough. Google removes listings automatically once validThrough passes, so this date must be kept current.

    2

    Add the organization and location

    Fill in hiringOrganization with the company name and logo, and jobLocation with a structured street address. Remote roles use jobLocationType instead of a physical address.

    3

    Specify salary and employment type

    Add baseSalary as a value or range with a currency code and pay period, and select employmentType such as FULL_TIME or CONTRACTOR. The tool nests these correctly as required by Google's job posting schema.

    What this tool does

    • Generates JobPosting markup with title, description, datePosted and validThrough
    • Structures hiringOrganization and jobLocation to Google Jobs' exact format
    • Builds baseSalary as a nested MonetaryAmount with currency and pay period
    • Flags missing required fields before you publish the listing

    Questions

    Frequently asked

    More free SEO tools

    Learn the concept

    Track visibility for your career and job listing pages

    LemRank tracks rankings, backlinks, and AI-search visibility in one dashboard. 14-day free Pro trial. No credit card.