
<!DOCTYPE html>
<html lang="en" dir=ZgotmplZ>

<head>
  


<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/material/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Material # Apache Flink Logos # We provide the Apache Flink logo in different sizes and formats. You can download all variants (7.4 MB) or just pick the one you need from this page.
Portable Network Graphics (PNG) # Colored logo White filled logo Black outline logo Sizes (px) 50x50, 100x100, 200x200, 500x500, 1000x1000 Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000
Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000 You can find more variants of the logo in this directory or download all variants (7.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Material" />
<meta property="og:description" content="Material # Apache Flink Logos # We provide the Apache Flink logo in different sizes and formats. You can download all variants (7.4 MB) or just pick the one you need from this page.
Portable Network Graphics (PNG) # Colored logo White filled logo Black outline logo Sizes (px) 50x50, 100x100, 200x200, 500x500, 1000x1000 Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000
Sizes (px): 50x50, 100x100, 200x200, 500x500, 1000x1000 You can find more variants of the logo in this directory or download all variants (7." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/material/" /><meta property="article:section" content="" />


<title>Material | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="alternate" hreflang="zh" href="https://flink.apache.org/zh/material/" title="素材">

<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

  <meta name="generator" content="Hugo 0.124.1">

    
    <script>
      var _paq = window._paq = window._paq || [];
       
       
      _paq.push(['disableCookies']);
       
      _paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="//analytics.apache.org/";
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', '1']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    
</head>

<body dir=ZgotmplZ>
  


<header>
  <nav class="navbar navbar-expand-xl">
    <div class="container-fluid">
      <a class="navbar-brand" href="/">
        <img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
        <span>Apache Flink</span>
      </a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <i class="fa fa-bars navbar-toggler-icon"></i>
      </button>
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav">
          





    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/security/">Security</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 1.19 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.8 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a>
  

          </li>
        
      </ul>
    </li>
  

    


    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/posts/">Flink Blog</a>
  

    </li>
  

    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/downloads/">Downloads</a>
  

    </li>
  

    


    









        </ul>
        <div class="book-search">
          <div class="book-search-spinner hidden">
            <i class="fa fa-refresh fa-spin"></i>
          </div>
          <form class="search-bar d-flex" onsubmit="return false;"su>
            <input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/">
            <i class="fa fa-search search"></i>
            <i class="fa fa-circle-o-notch fa-spin spinner"></i>
          </form>
          <div class="book-search-spinner hidden"></div>
          <ul id="book-search-results"></ul>
        </div>
      </div>
    </div>
  </nav>
  <div class="navbar-clearfix"></div>
</header>
 
  
      <main class="flex">
        <section class="container book-page">
          
  <article class="markdown"><!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<h1 id="material">
  Material
  <a class="anchor" href="#material">#</a>
</h1>
<h2 id="apache-flink-logos">
  Apache Flink Logos
  <a class="anchor" href="#apache-flink-logos">#</a>
</h2>
<p>We provide the Apache Flink logo in different sizes and formats. You can <a href="/img/logo.zip">download all variants</a> (7.4 MB) or just pick the one you need from this page.</p>
<h3 id="portable-network-graphics-png">
  Portable Network Graphics (PNG)
  <a class="anchor" href="#portable-network-graphics-png">#</a>
</h3>



<table
        
class='table '


title='png'
aria-label='png'
>
<thead>
<tr>

    <th
            
            title='Colored logo'
            aria-label='Colored logo'
            data-th_x='0'
            data-th_id='Colored'
    >Colored logo</th>

    <th
            
            title='White filled logo'
            aria-label='White filled logo'
            data-th_x='1'
            data-th_id='WhiteFilled'
    >White filled logo</th>

    <th
            
            title='Black outline logo'
            aria-label='Black outline logo'
            data-th_x='2'
            data-th_id='BlackOutline'
    >Black outline logo</th></tr>
</thead><tbody>
<tr
        
data-tr_y='0'
>
<td
        
title='Colored logo'
aria-label='Colored logo'


class=''


data-td_x='0'
data-td_id='Colored'><img src='/img/logo/png/200/flink_squirrel_200_color.png' alt='Apache Flink Logo' title='Apache Flink Logo' width='200px' /></td>
<td
        
title='White filled logo'
aria-label='White filled logo'


class=''


data-td_x='1'
data-td_id='WhiteFilled'><img src='/img/logo/png/200/flink_squirrel_200_white.png' alt='Apache Flink Logo' title='Apache Flink Logo' width='200px' style='background:black;' /></td>
<td
        
title='Black outline logo'
aria-label='Black outline logo'


class=''


data-td_x='2'
data-td_id='BlackOutline'><img src='/img/logo/png/200/flink_squirrel_200_black.png' alt='Apache Flink Logo' title='Apache Flink Logo' width='200px'/></td></tr><tr
        
data-tr_y='1'
>
<td
        
title='Colored logo'
aria-label='Colored logo'


class=''


data-td_x='0'
data-td_id='Colored'><strong>Sizes (px)</strong> <a href="/img/logo/png/50/color_50.png">50x50</a>, <a href="/img/logo/png/100/flink_squirrel_100_color.png">100x100</a>, <a href="/img/logo/png/200/flink_squirrel_200_color.png">200x200</a>, <a href="/img/logo/png/500/flink_squirrel_500.png">500x500</a>, <a href="/img/logo/png/1000/flink_squirrel_1000.png">1000x1000</a></td>
<td
        
title='White filled logo'
aria-label='White filled logo'


class=''


data-td_x='1'
data-td_id='WhiteFilled'><strong>Sizes (px)</strong>: <a href="/img/logo/png/50/white_50.png">50x50</a>, <a href="/img/logo/png/100/flink_squirrel_100_white.png">100x100</a>, <a href="/img/logo/png/200/flink_squirrel_200_white.png">200x200</a>, <a href="/img/logo/png/500/flink_squirrel_500_white.png">500x500</a>, <a href="/img/logo/png/1000/flink_squirrel_white_1000.png">1000x1000</a></p></td>
<td
        
title='Black outline logo'
aria-label='Black outline logo'


class=''


data-td_x='2'
data-td_id='BlackOutline'><strong>Sizes (px)</strong>: <a href="/img/logo/png/50/black_50.png">50x50</a>, <a href="/img/logo/png/100/flink_squirrel_100_black.png">100x100</a>, <a href="/img/logo/png/200/flink_squirrel_200_black.png">200x200</a>, <a href="/img/logo/png/500/flink_squirrel_500_black.png">500x500</a>, <a href="/img/logo/png/1000/flink_squirrel_black_1000.png">1000x1000</a></td></tr></tbody></table>
<p>You can find more variants of the logo <a href="/img/logo/png">in this directory</a> or <a href="/img/logo.zip">download all variants</a> (7.4 MB).</p>
<h3 id="scalable-vector-graphics-svg">
  Scalable Vector Graphics (SVG)
  <a class="anchor" href="#scalable-vector-graphics-svg">#</a>
</h3>



<table
        
class='table '


title='svg'
aria-label='svg'
>
<thead>
<tr>

    <th
            
            title='Colored logo'
            aria-label='Colored logo'
            data-th_x='0'
            data-th_id='Colored'
    >Colored logo</th>

    <th
            
            title='White filled logo'
            aria-label='White filled logo'
            data-th_x='1'
            data-th_id='WhiteFilled'
    >White filled logo</th>

    <th
            
            title='Black outline logo'
            aria-label='Black outline logo'
            data-th_x='2'
            data-th_id='BlackOutline'
    >Black outline logo</th></tr>
</thead><tbody>
<tr
        
data-tr_y='0'
>
<td
        
title='Colored logo'
aria-label='Colored logo'


class=''


data-td_x='0'
data-td_id='Colored'><img src='/img/logo/svg/color_black.svg' alt='Apache Flink Logo' title='Apache Flink Logo' width='200px' /></td>
<td
        
title='White filled logo'
aria-label='White filled logo'


class=''


data-td_x='1'
data-td_id='WhiteFilled'><img src='/img/logo/svg/white_filled.svg' alt='Apache Flink Logo' title='Apache Flink Logo' width='200px' style='background:black;' /></td>
<td
        
title='Black outline logo'
aria-label='Black outline logo'


class=''


data-td_x='2'
data-td_id='BlackOutline'><img src='/img/logo/svg/black_outline.svg' alt='Apache Flink Logo' title='Apache Flink Logo' width='200px'/></td></tr><tr
        
data-tr_y='1'
>
<td
        
title='Colored logo'
aria-label='Colored logo'


class=''


data-td_x='0'
data-td_id='Colored'>Colored logo with black text (<a href="/img/logo/svg/color_black.svg">color_black.svg</a>)</td>
<td
        
title='White filled logo'
aria-label='White filled logo'


class=''


data-td_x='1'
data-td_id='WhiteFilled'>White filled logo (<a href="/img/logo/svg/white_filled.svg">white_filled.svg</a>)</td>
<td
        
title='Black outline logo'
aria-label='Black outline logo'


class=''


data-td_x='2'
data-td_id='BlackOutline'>Black outline logo (<a href="/img/logo/svg/black_outline.svg">black_outline.svg</a>)</td></tr></tbody></table>
<p>You can find more variants of the logo <a href="/img/logo/svg">in this directory</a> or <a href="/img/logo.zip">download all variants</a> (7.4 MB).</p>
<h3 id="photoshop-psd">
  Photoshop (PSD)
  <a class="anchor" href="#photoshop-psd">#</a>
</h3>
<p>You can download the logo in PSD format as well:</p>
<ul>
<li><strong>Colored logo</strong>: <a href="/img/logo/psd/flink_squirrel_1000.psd">1000x1000</a>.</li>
<li><strong>Black outline logo with text</strong>: <a href="/img/logo/psd/flink_1000.psd">1000x1000</a>, <a href="/img/logo/psd/flink_5000.psd">5000x5000</a>.</li>
</ul>
<p>You can find more variants of the logo <a href="/img/logo/psd">in this directory</a> or <a href="/img/logo.zip">download all variants</a> (7.4 MB).</p>
<h2 id="color-scheme">
  Color Scheme
  <a class="anchor" href="#color-scheme">#</a>
</h2>
<p>You can use the provided color scheme which incorporates some colors of the Flink logo:</p>
<ul>
<li><a href="/img/logo/colors/flink_colors.pdf">PDF color scheme</a></li>
<li><a href="/img/logo/colors/flink_colors.pptx">Powerpoint color scheme</a></li>
</ul>
</article>

          



  
    
    <div class="edit-this-page">
      <p>
        <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
      </p>
      <p>
        <a href="//github.com/apache/flink-web/edit/asf-site/docs/content/material.md">
          Edit This Page<i class="fa fa-edit fa-fw"></i> 
        </a>
      </p>
    </div>

        </section>
        
          <aside class="book-toc">
            
  

<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
  <ul>
    <li><a href="#material">Material</a>
      <ul>
        <li><a href="#apache-flink-logos">Apache Flink Logos</a>
          <ul>
            <li><a href="#portable-network-graphics-png">Portable Network Graphics (PNG)</a></li>
            <li><a href="#scalable-vector-graphics-svg">Scalable Vector Graphics (SVG)</a></li>
            <li><a href="#photoshop-psd">Photoshop (PSD)</a></li>
          </ul>
        </li>
        <li><a href="#color-scheme">Color Scheme</a></li>
      </ul>
    </li>
  </ul>
</nav>


          </aside>
          <aside class="expand-toc hidden">
            <a class="toc" onclick="expandToc()" href="javascript:void(0)">
              <i class="fa fa-bars" aria-hidden="true"></i>
            </a>
          </aside>
        
      </main>

      <footer>
        


<div class="separator"></div>
<div class="panels">
  <div class="wrapper">
      <div class="panel">
        <ul>
          <li>
            <a href="https://flink-packages.org/">flink-packages.org</a>
          </li>
          <li>
            <a href="https://www.apache.org/">Apache Software Foundation</a>
          </li>
          <li>
            <a href="https://www.apache.org/licenses/">License</a>
          </li>
          
          
          
            
          
            
          
          
            
          

          
            
              
            
          
            
              
                <li>
                  <a  href="/zh/material/">
                    <i class="fa fa-globe" aria-hidden="true"></i>&nbsp;中文版
                  </a>
                </li>
              
            
          
       </ul>
      </div>
      <div class="panel">
        <ul>
          <li>
            <a href="/what-is-flink/security">Security</a-->
          </li>
          <li>
            <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
          </li>
          <li>
            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
          </li>
       </ul>
      </div>
      <div class="panel icons">
        <div>
          <a href="/posts">
            <div class="icon flink-blog-icon"></div>
            <span>Flink blog</span>
          </a>
        </div>
        <div>
          <a href="https://github.com/apache/flink">
            <div class="icon flink-github-icon"></div>
            <span>Github</span>
          </a>
        </div>
        <div>
          <a href="https://twitter.com/apacheflink">
            <div class="icon flink-twitter-icon"></div>
            <span>Twitter</span>
          </a>
        </div>
      </div>
  </div>
</div>

<hr/>

<div class="container disclaimer">
  <p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>



      </footer>
    
  </body>
</html>






