<?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>800-595-9111</regPhone>
      <seriesName>FlexShares Real Assets Allocation Index Fund</seriesName>
      <seriesId>S000051556</seriesId>
      <seriesLei>549300QLIWGHPBR23021</seriesLei>
      <repPdEnd>2020-10-31</repPdEnd>
      <repPdDate>2020-10-31</repPdDate>
      <isFinalFiling>N</isFinalFiling>
    </genInfo>
    <fundInfo>
      <totAssets>4504575.86</totAssets>
      <totLiabs>2807.29</totLiabs>
      <netAssets>4501768.57</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>2097.00000000</cshNotRptdInCorD>
      <isNonCashCollateral>N</isNonCashCollateral>
      <returnInfo>
        <monthlyTotReturns>
          <monthlyTotReturn classId="C000162239" rtn1="2.54883700" rtn2="-2.11359600" rtn3="-3.30823200"/>
        </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="-16610.25999999" netUnrealizedAppr="218992.79000000"/>
        <othMon2 netRealizedGain="-81399.91000000" netUnrealizedAppr="-48539.03000000"/>
        <othMon3 netRealizedGain="0.00000000" netUnrealizedAppr="-152874.87000000"/>
      </returnInfo>
      <mon1Flow redemption="680650.34000000" reinvestment="0.00000000" sales="0.00000000"/>
      <mon2Flow redemption="2740658.62000000" reinvestment="0.00000000" sales="0.00000000"/>
      <mon3Flow redemption="0.00000000" reinvestment="0.00000000" sales="0.00000000"/>


    </fundInfo>
    <invstOrSecs>
      <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>31815.00000000</balance>
        <units>NS</units>
        <curCd>USD</curCd>
        <valUSD>1615441.62000000</valUSD>
        <pctVal>35.88459946087</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 Morningstar Global Upstream Natural Resources Index Fund</name>
        <lei>N/A</lei>
        <title>FlexShares Morningstar Global Upstream Natural Resources Index Fund</title>
        <cusip>33939L407</cusip>
        <identifiers>
          <isin value="US33939L4077"/>
        </identifiers>
        <balance>16926.00000000</balance>
        <units>NS</units>
        <curCd>USD</curCd>
        <valUSD>452939.76000000</valUSD>
        <pctVal>10.06137372361</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>50421.00000000</balance>
        <units>NS</units>
        <curCd>USD</curCd>
        <valUSD>2432309.04000000</valUSD>
        <pctVal>54.03007733913</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>2020-11-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>
</edgarSubmission>
