Schema Markup Generator

Generate valid JSON-LD or Microdata structured data for 16 schema types. Select a schema type, fill in the fields, and copy the markup to your site. Not sure where the code goes once you have it? Read how to add schema markup to your website for the exact steps on WordPress, Shopify, Wix, and custom sites.

JobPosting Fields

Structured Data Output

Missing required fields:

  • - Job title is required
  • - Description is required
  • - Date posted is required
  • - Hiring organisation name is required
  • - City is required for an on-site job
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "",
  "description": "",
  "employmentType": "FULL_TIME",
  "hiringOrganization": {
    "@type": "Organization",
    "name": ""
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "",
      "addressLocality": "",
      "addressRegion": "",
      "postalCode": "",
      "addressCountry": "GB"
    }
  }
}
</script>

What is JobPosting schema?

JobPosting schema marks up a vacancy with a title, full description, the date it was posted, the hiring organisation, and where the role is based. Google for Jobs reads this structured data to surface a listing in its dedicated job search experience, which sits above regular results for many job-related queries and lets jobseekers filter by salary, location, and employment type.

The required fields are title, description, datePosted, hiringOrganization, and jobLocation, or an applicant location requirement if the role is remote. Salary is optional but strengthens the listing when you are able to share it, since jobseekers can filter search results by pay. Fill in the fields below, choose on-site or remote, and generate either JSON-LD or Microdata output for your careers page or job board listing.

Frequently asked questions

What properties does Google require for JobPosting?

Title, description, datePosted, hiringOrganization, and jobLocation are the core required properties. For a remote role, jobLocationType and an applicant location requirement replace the physical jobLocation.

Should I include salary information?

It is optional but recommended where you are able to share it, since salary detail is one of the more useful fields to jobseekers using Google for Jobs' filters.

What happens after the role is filled?

Remove the listing or update validThrough so Google stops treating it as an open vacancy. Leaving expired listings live can hurt trust in your other job postings.

Does this work for remote roles?

Yes, select Remote as the location type and the generator switches to the TELECOMMUTE jobLocationType with an applicant location requirement instead of a physical address.

Want structured data implemented, validated, and monitored for you? The technical SEO audit includes a full schema markup review. Not sure where to paste the code above? Read how to add schema markup to your website.

Other schema types

Get Started

Want Your Schema Implemented and Validated for You?

Tell me your site and CMS. I will review your existing structured data, implement what is missing, and validate everything in Google's Rich Results Test as part of the fixed-fee audit.

  • Focus on your biggest search problem
  • Review the evidence you already have
  • Identify the most useful next step
  • Answer your priority SEO question
15+ years experienceFree 20-minute diagnosisNo contracts

Usually responds within a few hours

Currently accepting new clients

Tell me about your project

No obligation · Direct reply from Sunny · Reply within one working day

Prefer to talk? 07305 523333 · Hello@SunnyPatel.co.uk