Materialize File Upload Form

Basic form example with file uploading functionality
<div class="container">
  <div class="row">
    <div class="col s12 m8 offset-m2 offset-l3 l7 offset-xl4 xl6">
        <label>Your photo</label>
        <div class="file-field input-field">
          <div class="btn grey lighten-2 grey-text text-darken-3">
            <span>Choose file</span>
            <input name="photo" type="file" />
          <div class="file-path-wrapper">
              class="file-path validate"
              placeholder="Please upload your file"

        <div class="row">
          <div class="col s12">
            <button type="submit" class="btn waves-effect waves-light">

        <div class="right-align">
              class="grey-text text-darken-3"
/* The following CSS is used only for the preview,
   please don't copy it to your production code */
body { padding: 2rem 0; }

Frequently Asked Questions

Can I use it freely in a commercial project?

Yes! Attribution is welcomed but not required. The only caveat is that you can't re-sell this code directly as a standalone component.

Why is it free?

It's free because HeroTofu gets revenue from form submissions handling rather than forms themselves.

I've copied the form code. What are the next steps?

You should connect your form to the backend to store submissions. Subjectively the best way to do so is to navigate to 🙂

Who's behind HeroTofu?

Munero Company operates HeroTofu. It's incorporated in the EU 🇪🇺

HeroTofu is a set of tools and APIs designed to help Developers and Marketers.

© 2024 HeroTofu by Munero