File Exchange

About File Exchange

File Exchange lets you find and share custom applications, classes, code examples, drivers, functions, Simulink models, scripts, and videos. With File Exchange, you can:

Your use of File Exchange is subject to the MATLAB Central Terms of Use.

Submitting Files

You can submit files of up to 250 MB. To submit a file, log in to your Community Profile. If you don't have a profile, you'll need to create one. On your account page click on “Contribute” to either upload a file from a computer or link to GitHub repository.

Linking to GitHub Repositories

When you link to files hosted in a GitHub repository, your files remain in the GitHub repository – File Exchange does not store them locally. Community members can find these files in File Exchange and then download them from GitHub directly. Community members who download files linked to GitHub are responsible for validating the content and licensing of these files.

The direct connection between File Exchange and GitHub means that contributors can develop software projects in a single environment without having to upload files to both locations. Contributors get all the benefits of collaborative development in GitHub while community members get access to the latest version of your projects - whether they start from File Exchange or GitHub.

To link your repository to GitHub, select one of the following options:

  • GitHub Releases – GitHub Releases is the recommended way to link. When your repository is ready for distribution, use GitHub Releases to package your code. By linking your repository to File Exchange using GitHub Releases, your File Exchange submission automatically updates when you create a new release in GitHub.

    When you create a GitHub Release:

    • If you package your code as mltbx, attach your toolbox package to the release, and File Exchange provides the mltbx as the download. If you do not attach a mltbx to the release, File Exchange uses the zip release asset.
    • Follow these tips on labeling versions:
      • Enter a version in the format: major.minor.patch.extension (patch and extension are optional).
      • Version number segments must be less than six digits.
      • Alphanumeric labels are not recognized (for example, 2-beta).
    • See GitHub's documentation for more information on GitHub Releases.
  • Master – With this method, File Exchange uses the repository's master branch for displaying file previews and providing the package to download. The changes you commit to master are immediately available. Depending on your development process, making master available in File Exchange could cause your users to get unstable code. We recommend using GitHub Releases for stable distribution of your code.

Share website containing your MATLAB code

By using the “Link to an External Website” option when contributing to File Exchange, you can share your website containing your MATLAB-related project. With this option:

  • The detail page for your submission contains the link to your website.
  • The community can provide feedback for your project on the detail page.
  • Code on your website cannot be downloaded directly from File Exchange.

Finding Files

File Exchange offers an extensive online library of files. You can find files by:

  • Browsing an assigned content type
  • Searching
  • Fine-tuning searches using directives 

When you find a file, you can open it to view details; add tags, a rating, and comments; or download the submission.

Searching for files.
Searching for files related to numerical computing. Note the areas (left) for the different filters.

Making Files Easy to Find and Use

  • Make sure your titles and descriptions are clear and concise yet descriptive.
  • Proofread your submissions for readability and correct spelling.
  • Use tags that help target searches; see creating tags.
  • When adding images, make sure the image uses the same filename and resides in the same directory as your code.
  • Acknowledge files that inspired your submission. Acknowledgements appear on your file page and the page of the acknowledged file.

Browsing Content Types

File Exchange assigns content types to files based on information associated with your submission.

Content Is Assigned This Type When Files Have This Extension And the Submission Contains these Criteria









/html subdirectory .html file with the same name as the MATLAB .m file



function  call

Simulink Model




.avi, .mp4, .wmv, .mpg, .mov, .swf, .mpeg



Tip: For file submitters, if a file in your submission is displayed but shows a message Preview image not found instead of a preview image, add an image with the same filename as your code in the same directory and File Exchange will display the image with your file. Example: If you have a file called "foo.mdl", adding a screenshot called foo.gif will display a screenshot of your Simulink model to users instead of this message.

No image found for this file.

Finding Files Using Directives

Search directives help you find files on File Exchange. You can specify search directives in the search box.

Search Result Directive Examples

Author with this name


author:"Stuart McGarrity"

Author with an average file rating of 1 to 5



Community member with this company/organization name listed in their public profile



Content type



File identification number, which appears at the top of the File Details page



License that includes this string



Average community rating with this number



Tags with this string applied to published submissions


tag:"image processing"

Find files with DOI or custom citation




Using Directives

  • To search for a multi-word phrase, enclose the phrase in quotation marks; for example, author:"Helen Chen".
  • To narrow search results, use combinations of directives in the same search. Be sure to include a space between each directive. File Exchange finds all files matching all specified directives.
  • To search for more than one value for the same directive, specify one directive for each value. For example, the syntax tag:graphics tag:vector finds all files tagged with both graphics and vector.
  • To exclude files from your search results, insert a minus sign (-) before the directive syntax. For example, the syntax -tag:game excludes all files with the tag game.

Tagging Files

Tags provide bookmark information to help find or recall files of interest. With tags, you can browse submitted files using assigned keywords.  Community members with profiles can tag any file. All tags are public; anyone can view them.

From your profile, you can see tags you've applied to files. Within a file, you can see tags applied by everyone in the community.  By tagging, you give community members insight into your interests, making it easier to collaborate and exchange ideas.  

You can add tags when submitting new files or viewing existing ones. Use commas to separate multiple tags and quotation marks to indicate multiword tags.

Creating Tags

  • Make tags descriptive yet concise.
  • Use consistent terminology, including terms that members are most likely to use; for example, videos, images, and graphics.
  • Tag noteworthy elements, such as concepts, functions, and proper nouns.
  • Choose nouns over verbs.
  • Do not use abbreviations or acronyms unless they are well known.
  • Check your spelling.

Rating Files and Adding Comments

You can rate files using one to five stars (lowest to highest). When rating files, add comments to support your rating and share usage notes with the author and other community members.

Adding ratings and comments to submitted files.
Adding ratings and comments to submitted files.

Adding Comments to Files

  • Be honest and considerate of the file's author and other community members.
  • Provide specific information on what you like and dislike about the submission.
  • Use examples to illustrate your point.
  • Share your experiences with similar submissions.
  • Be aware that comments containing profanity, vulgarity, or an offensive tone will be removed from the site.

Gaining Recognition

File Exchange determines the most popular files based on the highest number of downloads in the last 30 days. The more popular your files are, the more recognition you gain from the community.

Counting Downloads

To accurately reflect downloads submitted by individuals, File Exchange counts multiple downloads from the same IP address as a single download.

Provide instructions for others to cite your work

Citation instructions help community members reference your work when they use it in their own research or derivative works. For example, you may want others to cite your File Exchange detail page, a research article you wrote, a group you are affiliated with, or some combination of artifacts.

New File Exchange entries are created with a default citation instruction, which you can delete. In addition, you can:

  • Specify a citation instruction using custom text
  • Specify a DOI, which you must generate elsewhere, as explained on
  • Create multiple citation instructions

Earn badges

You can earn badges by participating on File Exchange. Any badges you earn appear on your community profile page.

Some examples of badges you can earn are:

  • First Submission
  • First Review
  • Editor’s Pick
  • Personal Best Downloads
  • ... and many more

Visit the community badges page to view the types of badges you can earn.

Build your reputation

As a reward for actively contributing and participating on File Exchange, you earn points. The number of points you earn depends on the action taken. The more points you earn, the greater your reputation.

When your.. Additional points earned..

Submission is featured in the "Pick of the Week" Blog

+50 points

Submissions earn you an annual badge

+50 points

Submission receives a 5-Star rating

+5 points

Submission receives a 4-Star rating

+4 points

Submission is downloaded 10 times

+1 point if submission has not been updated in the last 3 months

+2 points if the submission was updated in the last 3 months

View the leaderboard to see who scores the highest reputation!