<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1344</ContextCount>
  <ElementCount>64</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>339</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="jhvit-html6140_485bpos.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>010001 - Document - Document And Entity Information {Elements}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhf/role/DocumentDocumentandEntityInformation</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory></MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="jhvit-html6140_485bpos.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>010002 - Document - John Hancock Variable Insurance Trust {Elements}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhf/role/Djhvitmasterfye_6369</Role>
      <ShortName>John Hancock Variable Insurance Trust</ShortName>
      <MenuCategory></MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="jhvit-html6140_485bpos.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>040000 - Disclosure - Risk/Return Detail Data {Elements}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/rr/role/RiskReturnDetailData</Role>
      <ShortName>Risk/Return Detail Data</ShortName>
      <MenuCategory></MenuCategory>
      <Position>3</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="485BPOS" original="jhvit-html6140_485bpos.htm">jhvit-html6140_485bpos.htm</File>
    <File>jhf-20230501.xsd</File>
    <File>jhf-20230501_def.xml</File>
    <File>jhf-20230501_lab.xml</File>
    <File>jhf-20230501_pre.xml</File>
    <File>jhvit-html6140_ex99d13.htm</File>
    <File>jhvit-html6140_ex99d37.htm</File>
    <File>jhvit-html6140_ex99d38.htm</File>
    <File>jhvit-html6140_ex99d7.htm</File>
    <File>jhvit-html6140_ex99d8.htm</File>
    <File>jhvit-html6140_ex99g3.htm</File>
    <File>jhvit-html6140_ex99h10.htm</File>
    <File>jhvit-html6140_ex99h8.htm</File>
    <File>jhvit-html6140_ex99h9.htm</File>
    <File>jhvit-html6140_ex99i.htm</File>
    <File>jhvit-html6140_ex99j.htm</File>
    <File>jhvit-html6140_ex99p10.htm</File>
    <File>jhvit-html6140_ex99p11.htm</File>
    <File>jhvit-html6140_ex99p12.htm</File>
    <File>jhvit-html6140_ex99p2.htm</File>
    <File>jhvit-html6140_ex99p3.htm</File>
    <File>jhvit-html6140_ex99p4.htm</File>
    <File>jhvit-html6140_ex99p5.htm</File>
    <File>jhvit-html6140_ex99p6.htm</File>
    <File>jhvit-html6140_ex99p7.htm</File>
    <File>jhvit-html6140_ex99p8.htm</File>
    <File>jhvit-html6140_ex99p9.htm</File>
    <File>jhvit-html6140_ex99q.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>orgchart.jpg</File>
    <File>pr6369img001.jpg</File>
    <File>pr6369img002.jpg</File>
    <File>pr6369img003.jpg</File>
    <File>pr6369img004.jpg</File>
    <File>pr6369img005.jpg</File>
    <File>pr6369img006.jpg</File>
    <File>pr6369img007.jpg</File>
    <File>pr6369img008.jpg</File>
    <File>pr6369img009.jpg</File>
    <File>pr6369img010.jpg</File>
    <File>pr6369img011.jpg</File>
    <File>pr6369img012.jpg</File>
    <File>pr6369img013.jpg</File>
    <File>pr6369img014.jpg</File>
    <File>pr6369img015.jpg</File>
    <File>pr6369img016.jpg</File>
    <File>pr6369img017.jpg</File>
    <File>pr6369img018.jpg</File>
    <File>pr6369img019.jpg</File>
    <File>pr6369img020.jpg</File>
    <File>pr6369img021.jpg</File>
    <File>pr6369img022.jpg</File>
    <File>pr6369img023.jpg</File>
    <File>pr6369img024.jpg</File>
    <File>pr6369img025.jpg</File>
    <File>pr6369img026.jpg</File>
    <File>pr6369img027.jpg</File>
    <File>pr6369img028.jpg</File>
    <File>pr6369img029.jpg</File>
    <File>pr6369img030.jpg</File>
    <File>pr6369img031.jpg</File>
    <File>pr6369img032.jpg</File>
    <File>pr6369img033.jpg</File>
    <File>pr6369img034.jpg</File>
    <File>pr6369img035.jpg</File>
    <File>pr6369img036.jpg</File>
    <File>pr6369img037.jpg</File>
    <File>pr6369img038.jpg</File>
    <File>pr6369img039.jpg</File>
    <File>pr6369img040.jpg</File>
    <File>pr6369img041.jpg</File>
    <File>pr6369img042.jpg</File>
    <File>pr6369img043.jpg</File>
    <File>pr6369img044.jpg</File>
    <File>pr6369img045.jpg</File>
    <File>pr6369img046.jpg</File>
    <File>pr6369img047.jpg</File>
    <File>pr6369img048.jpg</File>
    <File>pr6369img049.jpg</File>
    <File>pr6369img050.jpg</File>
    <File>sa6366img001.jpg</File>
    <File>sa6366img002.jpg</File>
    <File>sa6367img001.jpg</File>
    <File>sa6367img002.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="8">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="5210">http://xbrl.sec.gov/rr/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
