How to Add Background Music to Your Web Page

Automatically play music files on your website when a page loads

How to Add Background Music to Your Web Page

by Christopher Heng,

If you code your web pages using a text editor (as opposed to using a visual web editor like Dreamweaver), you may be wondering how you might go about adding background music to your web pages. While this is not a question I encounter often at, I do get the occasional music aficionado sending me this query, hence this article.

Issues Surrounding Background Music

Before you start, you should be aware that background music that automatically starts playing when a web page is loaded may not be appreciated by a large number of your visitors. Some of them, when greeted with the sudden blaring of music from their speakers, may immediately hit the BACK button of their browsers. This may occur even if you're playing a piece of music that you think is well loved by everyone: remember, there are people who surf the Internet in public libraries, at work, or in the dead of the night when others are asleep. Others may already have their favourite ("favorite" in US English) piece of music playing on their computer speakers, and your auto-playing music file will only cause them to be annoyed.

Even if you are satisfied that your website has the type of target audience that will enjoy your background music, there are alternatives to automatically playing music that you might want to consider. For example, giving visitors a link which they can click to play music would allow you to showcase your music while remaining sensitive to your visitors' preferences. Instructions on how to accomplish this, as well as how to implement autoplaying music, are given below.

Playing Music Only When a Link is Clicked

If you have a music file (such as an MP3 file) that you want played when a visitor clicks a link, put HTML code like the following on your page:

<a href="yourmusicfile.mp3">Play music</a>

Replace the "yourmusicfile.mp3" with the appropriate filename. Note that the above HTML code works for ".wav" and ".mid" files as well (or anything else for that matter).

How to Embed Background Music on Your Web Site

Update: For a modern treatment on how to include music on your website, please read How to Play Music or Audio on a Website with HTML (HTML5) instead.

This rest of this article (below) is obsolete. It was written at a time when Netscape 4 and Internet Explorer 4 were the browsers used by the majority of people. ("What is Netscape?" you say. My point precisely.) It even talks about a type of music file (midi) that you rarely see on the Internet any more. It is left here mainly for historical interest. You can safely skip directly to the updated version here.

The problem with embedding background music is that the different browsers out there have their own methods of implementing embedded music files.

For all versions of Netscape, as well as Internet Explorer ("IE") 3.0 and above, you can use the following code:

<embed src="yourmusicfile.mid" autostart="true" loop="true"
width="2" height="0">

The width and height attribute given above causes the player to be invisible. If you do not want it to be invisible, you can specify your own dimensions to suit your site decor.

For Opera and all IE versions, the following code works:

<bgsound src="yourmusicfile.mid" loop="infinite">

As you probably have noticed, IE 3.0 and above support both methods, so you cannot simply put both those tags into your web document in the hope of supporting all browsers. It will work on Netscape and early versions of IE, but the newer versions of IE will recognize both tags, leading to problems when IE tries to load the music file twice.

The workaround that I've seen on some sites, that seems to work for me, is to enclose the BGSOUND tag inside NOEMBED tags, thus preventing IE from interpreting the second tag.

<embed src="yourmusicfile.mid" autostart="true" loop="true"
width="2" height="0">
<bgsound src="yourmusicfile.mid" loop="infinite">

This code appears to be compatible with all versions of IE, Netscape and Opera.

Fixing Your Web Server's MIME Types

If, after putting the above code on your site and uploading your music file, your music does not automatically play in IE, Netscape or Opera, it is possible that your web server is not sending the browser the correct MIME type. In order for the browser to know how to handle the file, your web server needs to be configured to send the correct information about the file. For example, for MIDI files, the web server should send the browser a "Content-Type" header of "audio/midi".

You can find out if your server has been correctly configured by starting up Netscape, invoking the "View" menu and selecting the "Page Info" item on that menu. (I'm referring to version 4.7x of Netscape - the item may be labelled differently on other versions of Netscape.) The MIME type of your music file will be displayed (among other things).

If the MIME type is incorrect, contact your web host to have them fix it. If your website runs on an Apache web server, and your host has configured it to allow you to override its settings using a .htaccess file, you can set up the MIME type yourself. For example, if you have MIDI files with a file extension of ".midi", you might add the following line to your .htaccess file:

AddType audio/midi .midi

If you don't have any existing .htaccess file, you can simply create one using an ASCII text editor and upload it to the top directory of your website. Remember, Microsoft Word and Wordpad are *not* ASCII text editors. Also note that this method only works for Apache servers configured to allow .htaccess overrides. If this is not the case for you (for example, if your site runs on a Windows machine running IIS), you will probably have to get your web host to fix the problem.

Browser Plug-in Problems

Sometimes you may encounter a situation where the embedded code works for you but not for others using the same version of the same browser.

This situation may occur when the person has installed some other software that has replaced the default browser plug-in to handle the music file type. For example, various multimedia players (like QuickTime) replace the browser's default plugins when they are installed. The replacement plugins may not function in quite the same way as the default plugin for the browser, leading to your code not working as expected.

There's probably little you can do to prevent this from happening, short of posting notices everywhere on your site telling people not to install such-and-such a software, which is of course ludicrous. If you insist on putting auto-playing sound files on your web page, my recommendation is that you ensure that your page makes sense whether or not those sounds are played on your visitor's machine. That is, don't auto-play a sound file that provides vital information that the visitor needs to understand your web page - unless of course you also provide a clickable link on the page that allows him to hear the information should his browser not autoplay the sound file.

Like many other aspects of coding for the web, putting music on the web requires a certain amount of defensive coding. Even then, there will probably be a percentage of visitors who will not be able to view/hear your site the way you intended.

Copyright 2002-2018 by Christopher Heng. All rights reserved.
Get more free tips and articles like this, on web design, promotion, revenue and scripting, from

thesitewizard™ News Feed (RSS Site Feed)  Subscribe to newsfeed

Do you find this article useful? You can learn of new articles and scripts that are published on by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at You can read more about how to subscribe to RSS site feeds from my RSS FAQ.

Please Do Not Reprint This Article

This article is copyrighted. Please do not reproduce or distribute this article in whole or part, in any form.

Related Pages

New Articles

Popular Articles

How to Link to This Page

It will appear on your page as:

How to Add Background Music to Your Web Page

Contact Us
Link to Us
No Spam Policy
Privacy Policy
Site Map

Getting Started
Web Design
Search Engines
Revenue Making
Web Hosting
Perl / CGI
.htaccess / Apache


Free webmasters and programmers resources, scripts and tutorials Free How-To Guides
Site Design Tips at
Find this site useful?
Please link to us.