<?xml version="1.0" encoding="UTF-8"?><edgarSubmission xmlns="http://www.sec.gov/edgar/nport" xmlns:com="http://www.sec.gov/edgar/common" xmlns:ncom="http://www.sec.gov/edgar/nportcommon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sec.gov/edgar/nport eis_NPORT_Filer.xsd">
  <headerData>
    <submissionType>NPORT-P</submissionType>
    <isConfidential>false</isConfidential>
    <filerInfo>

      <filer>
        <issuerCredentials>
          <cik>0001491978</cik>
          <ccc>XXXXXXXX</ccc>
        </issuerCredentials>
      </filer>


      <seriesClassInfo>
        <seriesId>S000051556</seriesId>
        <classId>C000162239</classId>
      </seriesClassInfo>


    </filerInfo>
  </headerData>
  <formData>
    <genInfo>
      <regName>FlexShares Trust</regName>
      <regFileNumber>811-22555</regFileNumber>
      <regCik>0001491978</regCik>
      <regLei>5493007FU2RQX77I4604</regLei>
      <regStreet1>50 South LaSalle Street</regStreet1>
      <regCity>Chicago</regCity>
      <regStateConditional regCountry="US" regState="US-IL"/>
      <regZipOrPostalCode>60603</regZipOrPostalCode>
      <regPhone>855-353-9383</regPhone>
      <seriesName>FlexShares Real Assets Allocation Index Fund</seriesName>
      <seriesId>S000051556</seriesId>
      <seriesLei>549300QLIWGHPBR23021</seriesLei>
      <repPdEnd>2024-10-31</repPdEnd>
      <repPdDate>2024-07-31</repPdDate>
      <isFinalFiling>N</isFinalFiling>
    </genInfo>
    <fundInfo>
      <totAssets>7846427.53</totAssets>
      <totLiabs>5289.23</totLiabs>
      <netAssets>7841138.30</netAssets>
      <assetsAttrMiscSec>0.00000000</assetsAttrMiscSec>
      <assetsInvested>0.00000000</assetsInvested>
      <amtPayOneYrBanksBorr>0.00000000</amtPayOneYrBanksBorr>
      <amtPayOneYrCtrldComp>0.00000000</amtPayOneYrCtrldComp>
      <amtPayOneYrOthAffil>0.00000000</amtPayOneYrOthAffil>
      <amtPayOneYrOther>0.00000000</amtPayOneYrOther>
      <amtPayAftOneYrBanksBorr>0.00000000</amtPayAftOneYrBanksBorr>
      <amtPayAftOneYrCtrldComp>0.00000000</amtPayAftOneYrCtrldComp>
      <amtPayAftOneYrOthAffil>0.00000000</amtPayAftOneYrOthAffil>
      <amtPayAftOneYrOther>0.00000000</amtPayAftOneYrOther>
      <delayDeliv>0.00000000</delayDeliv>
      <standByCommit>0.00000000</standByCommit>
      <liquidPref>0.00000000</liquidPref>
      <cshNotRptdInCorD>5904.75000000</cshNotRptdInCorD>
      <isNonCashCollateral>N</isNonCashCollateral>
      <returnInfo>
        <monthlyTotReturns>
          <monthlyTotReturn classId="C000162239" rtn1="3.78356700" rtn2="-2.66443200" rtn3="4.08227200"/>
        </monthlyTotReturns>
        <monthlyReturnCats>
          <commodityContracts>
            <mon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <forwardCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </forwardCategory>
            <futureCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </futureCategory>
            <optionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </optionCategory>
            <swaptionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swaptionCategory>
            <swapCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swapCategory>
            <warrantCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </warrantCategory>
            <otherCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </otherCategory>
          </commodityContracts>
          <creditContracts>
            <mon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <forwardCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </forwardCategory>
            <futureCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </futureCategory>
            <optionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </optionCategory>
            <swaptionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swaptionCategory>
            <swapCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swapCategory>
            <warrantCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </warrantCategory>
            <otherCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </otherCategory>
          </creditContracts>
          <equityContracts>
            <mon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <forwardCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </forwardCategory>
            <futureCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </futureCategory>
            <optionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </optionCategory>
            <swaptionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swaptionCategory>
            <swapCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swapCategory>
            <warrantCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </warrantCategory>
            <otherCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </otherCategory>
          </equityContracts>
          <foreignExchgContracts>
            <mon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <forwardCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </forwardCategory>
            <futureCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </futureCategory>
            <optionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </optionCategory>
            <swaptionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swaptionCategory>
            <swapCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swapCategory>
            <warrantCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </warrantCategory>
            <otherCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </otherCategory>
          </foreignExchgContracts>
          <interestRtContracts>
            <mon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <forwardCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </forwardCategory>
            <futureCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </futureCategory>
            <optionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </optionCategory>
            <swaptionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swaptionCategory>
            <swapCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swapCategory>
            <warrantCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </warrantCategory>
            <otherCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </otherCategory>
          </interestRtContracts>
          <otherContracts>
            <mon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <mon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            <forwardCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </forwardCategory>
            <futureCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </futureCategory>
            <optionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </optionCategory>
            <swaptionCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swaptionCategory>
            <swapCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </swapCategory>
            <warrantCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </warrantCategory>
            <otherCategory>
              <instrMon1 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon2 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
              <instrMon3 netRealizedGain="0.00000000" netUnrealizedAppr="0.00000000"/>
            </otherCategory>
          </otherContracts>
        </monthlyReturnCats>
        <othMon1 netRealizedGain="-200343.53000000" netUnrealizedAppr="514174.89000000"/>
        <othMon2 netRealizedGain="-11236.97000000" netUnrealizedAppr="-300463.03000000"/>
        <othMon3 netRealizedGain="-35976.12000000" netUnrealizedAppr="366161.65000000"/>
      </returnInfo>
      <mon1Flow redemption="0.00000000" reinvestment="0.00000000" sales="0.00000000"/>
      <mon2Flow redemption="0.00000000" reinvestment="0.00000000" sales="0.00000000"/>
      <mon3Flow redemption="775589.12000000" reinvestment="0.00000000" sales="0.00000000"/>



    </fundInfo>
    <invstOrSecs>
      <invstOrSec>
        <name>FlexShares Morningstar Global Upstream Natural Resources Index Fund</name>
        <lei>549300NRG12H5S0TF735</lei>
        <title>FlexShares Morningstar Global Upstream Natural Resources Index Fund</title>
        <cusip>33939L407</cusip>
        <identifiers>
          <isin value="US33939L4077"/>
        </identifiers>
        <balance>72600.00000000</balance>
        <units>NS</units>
        <curCd>USD</curCd>
        <valUSD>2968614.00000000</valUSD>
        <pctVal>37.85947762201</pctVal>
        <payoffProfile>Long</payoffProfile>
        <assetConditional assetCat="OTHER" desc="Exchange traded fund"/>
        <issuerCat>RF</issuerCat>
        <invCountry>US</invCountry>
        <isRestrictedSec>N</isRestrictedSec>

        <fairValLevel>1</fairValLevel>
        <securityLending>
          <isCashCollateral>N</isCashCollateral>
          <isNonCashCollateral>N</isNonCashCollateral>
          <isLoanByFund>N</isLoanByFund>
        </securityLending>
      </invstOrSec>
      <invstOrSec>
        <name>FlexShares Global Quality Real Estate Index Fund</name>
        <lei>549300SU9J4P6OO1QE18</lei>
        <title>FlexShares Global Quality Real Estate Index Fund</title>
        <cusip>33939L787</cusip>
        <identifiers>
          <isin value="US33939L7872"/>
        </identifiers>
        <balance>14180.00000000</balance>
        <units>NS</units>
        <curCd>USD</curCd>
        <valUSD>823113.55000000</valUSD>
        <pctVal>10.49737319388</pctVal>
        <payoffProfile>Long</payoffProfile>
        <assetConditional assetCat="OTHER" desc="Exchange traded fund"/>
        <issuerCat>RF</issuerCat>
        <invCountry>US</invCountry>
        <isRestrictedSec>N</isRestrictedSec>

        <fairValLevel>1</fairValLevel>
        <securityLending>
          <isCashCollateral>N</isCashCollateral>
          <isNonCashCollateral>N</isNonCashCollateral>
          <isLoanByFund>N</isLoanByFund>
        </securityLending>
      </invstOrSec>
      <invstOrSec>
        <name>FlexShares STOXX Global Broad Infrastructure Index Fund</name>
        <lei>549300M226QPIG4QNV60</lei>
        <title>FlexShares STOXX Global Broad Infrastructure Index Fund</title>
        <cusip>33939L795</cusip>
        <identifiers>
          <isin value="US33939L7955"/>
        </identifiers>
        <balance>72210.00000000</balance>
        <units>NS</units>
        <curCd>USD</curCd>
        <valUSD>4045204.20000000</valUSD>
        <pctVal>51.58950199870</pctVal>
        <payoffProfile>Long</payoffProfile>
        <assetConditional assetCat="OTHER" desc="Exchange traded fund"/>
        <issuerCat>RF</issuerCat>
        <invCountry>US</invCountry>
        <isRestrictedSec>N</isRestrictedSec>

        <fairValLevel>1</fairValLevel>
        <securityLending>
          <isCashCollateral>N</isCashCollateral>
          <isNonCashCollateral>N</isNonCashCollateral>
          <isLoanByFund>N</isLoanByFund>
        </securityLending>
      </invstOrSec>
    </invstOrSecs>
    <signature>
      <ncom:dateSigned>2024-08-30</ncom:dateSigned>
      <ncom:nameOfApplicant>FlexShares Trust</ncom:nameOfApplicant>
      <ncom:signature>Randal Rein</ncom:signature>
      <ncom:signerName>Randal Rein</ncom:signerName>
      <ncom:title>Treasurer and PFO</ncom:title>
    </signature>
  </formData>
  <documents>XXXX</documents>
</edgarSubmission>
