Frequently Asked Questions

Measurement Lab is an open source project, which means it only exists and grows because of the improvements shared by a network of committed contributors. We receive dozens of questions about Measurement Lab each day. Please see here Frequently Asked Questions and their responses. Don’t see your question included? Send us a note at and please include your question in the subject line.

About M-Lab

Supporting or Contributing to M-Lab

Who are M-Lab’s supporting partners?

M-Lab is a community-based effort. We currently receive resources and financial assistance from our partners and welcome others who would like to support the platform’s growth.

M-Lab is supported by academic institutions, private foundations, private companies, and public interest organizations. M-Lab’s partners have committed resources to M-Lab in the form of infrastructure, funding, data storage/analysis, staffing, and other assistance dedicated to furthering M-Lab’s mission. For a list of M-Lab’s partners, please see our list of supporters.

Interested in supporting M-Lab? Please see the FAQ section, Supporting or Contributing to M-Lab, and contact us at for more information.

How can individuals get involved and support M-Lab?

For individuals, the best way to support M-Lab is to regularly use our tests. You gain the benefit of understanding more about your connection to the Internet, and the research community and the public benefits from the resulting public data.

People who have expert knowledge in web or application development, data analysis, or data presentation in a graphic format may also be interested in working with M-Lab’s tests, data, and analysis tools, all of which are open source and openly licensed. More information can be found in the links below, or you can contact us at to learn more.

How can companies or other organizations get involved and support M-Lab?

By becoming an M-Lab supporting partner, companies, nonprofit organizations, academic institutions, and other organizations can help M-Lab in a number of key ways, including the following:

  • By providing hardware to grow the M-Lab platform, and donating the cost of network connectivity and hosting.
  • By contributing resources for data storage, aggregation, and publication.
  • By providing data analysis or by presenting data in graphic form.
  • By embedding an M-Lab client tool in an application or service, allowing M-Lab to reach more people and generate more data.
  • By providing direct financial support.

If you’d like to get involved as an M-Lab supporting partner, contact the M-Lab team and join the M-Lab Discuss Group

How can researchers get involved with M-Lab?

M-Lab welcomes researchers who want to dig into the M-Lab data. Our team provides documentation and support for those interested. If you are interested in working with M-Lab data in your research, check out our data documentation to help get you started and with any questions. We also suggest you join our M-Lab Discuss Group for news and announcements.

Can I use M-Lab to host my own measurement experiment?

M-Lab is open to applications from researchers who develop and maintain open source network measurement tests that conform to our goals and support our mission. However, the vast majority of proposed M-Lab tests are not accepted because of the high standard that M-Lab sets for the tests that we host and the restrictions that the platform imposes with respect to the collection of personal data.

The researchers who are managing the current tests on the M-Lab platform have secured sufficient funding to support the test’s continued development, deployment, and maintenance throughout its entire life cycle. Your decision to host a particular test on the M-Lab platform is a commitment to provide substantial resources over a period of years and to an ongoing relationship with the M-Lab operations team.

Applications for new tests are reviewed by M-Lab’s operations team and Experiment Review Committee. The number of slots available is finite, so M-Lab will consider only serious inquiries from researchers who are working on mature tests that both align with the M-Lab mission and do not significantly overlap with the functionality of existing tests.

If you are interested in deploying a new tool or test on the M-Lab platform, please first read our document outlining M-Lab’s requirements and procedures for accepting new tools on the platform, and then the M-Lab Operations team for more information.

How can I add an M-Lab test to my website, app or other software?

M-Lab’s open source tests can be added to your website, mobile application, or other software. The Network Diagnostic Tool (NDT) has been used by a number of third party websites and application developers, including Google Search, Speedup America, Fing, and several others.The M-Lab team regularly consults with and supports application and web developers interested in integrating our client tests. If you are interested in adding an M-Lab test to your website or application, please review our developer guide or

Company would like to host or sponsor M-Lab servers

Thank you for inquiring about hosting an M-Lab test server. We host in data centers where last mile networks peer with backbone networks. You can review the current locations where we host servers currently, as well as the networks which connect our servers on our infrastructure status map.

M-Lab typically selects the providers to which our servers are connected, focusing on those that connect last mile or “eyeball” networks to the Internet through peering. This is a different architecture than other similar commercial initiatives you may be familiar with, such as Ookla/

When receiving inquiries of this nature, our staff will first attempt to find your company on the website,, and where you peer with other networks. If your company provides direct connectivity to subscribers, we would classify your network as last mile or “eyeball”. In this case your company could sponsor the costs for IP addresses and connectivity to new or existing M-Lab servers in your region.

If this is of interest, please let us know and we can discuss details. I’ve attached a brochure that we developed for partners who may be interested in contributing to M-Lab by sponsoring servers that explains our requirements for a new server location, and some of the potential benefits for partners who sponsor our servers.

Our team that reviews new server locations and logistics meets monthly, and we would be happy to discuss your offer to host a server site.

If you have questions after reviewing the brochure please let us know.

M-Lab Organization

Who is M-Lab?

M-Lab is an open source project with contributors from civil society organizations, educational institutions, and private sector companies, and is a fiscally sponsored project of Code for Science & Society.

M-Lab operates as a community-based effort. We currently receive assistance from M-Lab supporting partners, and we welcome others who would like to contribute to the platform’s growth and success. In order for M-Lab to achieve its objectives, it depends on the participation of additional companies, institutions, and researchers. Learn how to get involved.

How does M-Lab choose the tests it hosts?

The Internet measurement tests running on the M-Lab platform are built and maintained by researchers interested in understanding the Internet and how people experience it. Interested researchers can build their own open source tests and apply to host them with M-Lab. Applications for new tests are reviewed by our operations team and our Experiment Review Committee, and if approved, they are then installed on M-Lab’s global Internet measurement infrastructure. By making researchers’ tests available in this way and promoting their use by consumers, M-Lab serves both consumers and researchers, as well as regulators and others, by providing data collected over a period of time that is openly available for analysis. For more information, please see our FAQ: Can I use M-Lab’s platform to host my own measurement experiment?

How can I contact M-Lab?

You can contact M-Lab by emailing or by joining our M-Lab-Discuss group.

Platform, Measurement Services, & Data


Where are M-Lab Servers hosted?

M-Lab hosts our servers, which we call “pods”, in Tier 1 data-centers, connected to the Internet with links between 1-10 Gbps. In major metro areas, M-Lab strives to maintain multiple pods, each connected to as many distinct transit providers as possible. You can view where M-Lab servers are hosted on our platform status page.

Once an M-Lab pod is online we make no changes in our systems for the life of each pod. Whenever there is a substantial change to our sites, such as renumbering of IP addresses, we retire the pod, retain its naming and metadata in our systems, and treat the pod as brand new.

What is M-Lab?

Measurement Lab (M-Lab) is the largest open source Internet measurement effort in the world. (Open source refers to source code that is made available for free so that anyone can use or modify it to fit their own purposes.) M-Lab provides publicly available Internet measurement services that help consumers develop an accurate picture of their Internet service by offering a state-of-the-art server platform that supports many measurement needs. The data are collected and then released to the public for use by policymakers, researchers, and others who are interested in Internet issues.

The graphic below illustrates the relationship between measurements run by consumers and M-Lab’s data collection.

data collection

Measurement Services

What measurement tests can I run?

People can use M-Lab tests to measure their broadband speed, analyze application performance, and run diagnostics. The most commonly run test is the Network Diagnostic Tool (NDT), which provides measurements like upload speed, download speed, and other data points that help to measure speed and quality issues on your connection. To read about all of the tests available on the platform, please visit our tests page.

Will these tests monitor my private Internet activity, like email messages or, browsing and search history?

Absolutely not. M-Lab tests are designed to protect your privacy by measuring only synthetic traffic (“fake” traffic generated by a test solely for the purpose of measurement) between your device and an M-Lab server. M-Lab’s Privacy Policy and Acceptable Use Policy prohibit the collection of personally identifiable information and private user traffic.

M-Lab collects and publishes all test data, which include the IP address assigned to your device by your Internet service provider (ISP). However, this does not include any personal information about you as an Internet user, where you browse, or any other details that could be used to associate you with your history of tests.

How do I report issues with M-Lab tests?

Most M-Lab tests should take less than thirty seconds to complete, so if your particular test is taking longer, there may be something wrong. First, do the following:

  • Try running the test again. Perhaps an unusual network issue caused the problem.
  • Try running the test from a different location. For example, if it failed at your home, does the test work at a coffee shop?
  • If the test doesn’t start or never completes, is your connection behind a firewall? This may be the case at some workplaces where the network is actively managed.

If none of the above solves the issue you are experiencing, you can report a bug by emailing

When reporting a bug, please provide (if at all possible) the following specific information:

  • Your operating system
  • Your browser name and version
  • The name of the test that is not working
  • Any error messages you have received

M-Lab support will usually reply within five business days. You can also ask other M-Lab users about the issue you are reporting in the M-Lab-Discuss group.

Why are my M-Lab results different from other speed tests?

Internet performance tests may provide different results for a lot of reasons. Three of the main reasons for different results among tests are listed below:

1 - Differences in the location of testing servers

Every performance test has two parts:

  • client: This is the software that runs on the user’s machine and shows the user their speed results.
  • server: This is the computer on the Internet to which the client connects to complete the test.

A test generates data between the client and the server, and measures performance between these two points. The location of these two points is important in terms of understanding the results of a given test.

If the server is located within your Internet Service Provider’s (ISP’s) own network (also known as the “last mile”), this is referred to as an “on-net” measurement. This approach lets you know about how your Internet connection is performing intra-network within your ISP, but it does not necessarily reflect the full experience of using the Internet, which almost always involves using inter-network connections (connections between networks) to access content and services that are hosted somewhere outside of your ISP. Results from on-net testing are often higher than those achieved by using other methods, since the “distance” traveled is generally shorter, and the network is entirely controlled by one provider (your ISP).

“Off-net” measurements occur between your computer and a server located outside of your ISP’s network. This means that traffic crosses inter-network borders and often travels longer distances. Off-net testing frequently produces results that are lower than those produced from on-net testing.

M-Lab’s measurements are always conducted off-net. This way, M-Lab is able to measure performance from testers’ computers to locations where popular Internet content is often hosted. By having inter-network connections included in the test, test users get a real sense of the performance they could expect when using the Internet.

2 - Differences in testing methods

Different Internet performance tests measure different things in different ways. M-Lab’s NDT test tries to transfer as much data as it can in ten seconds (both up and down), using a single connection to an M-Lab server. Other popular tests try to transfer as much data as possible at once across multiple connections to their server. Neither method is “right” or “wrong,” but using a single stream is more likely to help diagnose problems in the network than multiple streams would. Learn more about M-Lab’s NDT methodology.

All NDT data collected by M-Lab are publicly available in both visualized (graphic), queryable, and raw (unanalyzed) forms.

3 - Changing network conditions and distinct test paths

The Internet is always changing, and test results reflect that. A test conducted five minutes ago may show very different results from a test conducted twenty minutes ago. This can be caused by the test traffic being routed differently. For example, one test might travel over a path with broken router, while another may not. A test run today may be directed to a test server located farther away than a test run yesterday. Additionally, IPv4 and IPv6 routes may take different physical paths. Some IPv6 routes may be tunneled through IPv4, from the client, or at any point after the client depending on local network management.

In short, running one test will give you a sense of network conditions at that moment, across the best network path available at that time, to the specific server coordinating the test. But because Internet routing and infrastructure change dynamically, testing regularly and looking at the data over time are much more reliable ways to gauge representative performance.


What data will be collected when I run a test?

Since all data collected through experiments is released publicly, M-Lab’s Acceptable Use Policy requires the submission of only specific technical Internet measurements and prohibits the collection of sensitive personal information, such as physical location or web browser history.

Information collected under our Acceptable Use Policy includes:

  • Measurement Data: Performance variables describing the state of connection during the test, such as average download and upload speed; latency and topology of the path between the client and server; and, whether the application or protocol is manipulated or discriminated against in transit.
  • Connection Data: Information necessary to characterize performance data including the Internet Protocol (IP) address of the client that conducted the measurement and the date and time of the test.
  • Metadata: Descriptive information about the user’s environment to support analysis of measurement data. Metadata varies by experiment and client but may include the name and version of the web browser software, software application, or operating system used to conduct the test.

Specific information on what type of data is collected by each M-Lab test and how it can be accessed is available on our tests page.

Who is collecting data? Where is it stored?

For most tests, M-Lab collects and stores raw test data and makes the data publicly available using Google Cloud Storage. Data for some tests is additionally made available through Google BigQuery so that users can run SQL queries on the data. Schema descriptions of the data for test that publish to BigQuery are available on the individual page for each test.

How is the data collected through M-Lab tests used?

Since all data collected through M-Lab tests is released into the public under a Creative Commons Public Domain Dedication (CC0 1.0) license, everyone is free to use M-Lab data for any purpose, without needing to seek prior permission from M-Lab. M-Lab cannot assert control over third parties’ use of the published data.

We encourage the use of M-Lab data for research and other projects, illustrative examples of which are detailed on our publications page or the community tools page.

How long is data stored?

To allow research and transparency into long-term trends in Internet performance, all data is stored and published indefinitely.

Where can I explore M-Lab data?

You can explore visualizations of M-Lab’s NDT speed test data. M-Lab data for NDT, Traceroute, and Sidestream tests are searchable using BigQuery, and data for all tests can be downloaded in raw compressed file format. Please visit the tests page and click on the section on data for more information about how to access the data using BigQuery or other tools.

Can my test data be deleted or anonymized?

Fortunately, M-Lab is very attuned to respecting consumer-privacy, and collects very little data about you.

M-Lab tests collect the IP address assigned to you by your Internet Service Provider. This is the only piece of data collected by our tests that can be considered personal data. No other data about your computer or network is collected.

In our Privacy Policy, we provide options for requesting, anonymizing, and deleting your test data if you reside in the European Union, in California within the United States, or other jurisdictions with similar privacy and consumer protection regulations such as the European Union’s General Data Protection Regulation or the California Consumer Protection Act (CCPA). Our Privacy Policy outlines your rights and how to exercise them with respect to the data that M-Lab tests collect, specifically the section of our Privacy Policy, Privacy by design and data minimization when exercising your GDPR rights.

To remove or anonymize the results of your tests from our dataset, we will need to know the IP address assigned to you by your ISP at the time you took the test. Documentation from your provider or other sources, showing that you were assigned the IP address at the time you took the test is needed to anonymize or remove the test result.

How does M-Lab identify the locations of tests? How precise is the location information?

When exploring or aggregating M-Lab test data by geography, it’s important to understand the limits of geographic precision in our public data when using BigQuery. Because M-Lab provides open, publicly available datasets, we limit the location accuracy of test results out of respect for user privacy. Our Privacy Policy provides comprehensive details on the information M-Lab collects.

When you run an M-Lab test, in addition to providing you with a measurement, we collect the IP address assigned to your cable modem, router, etc. by your ISP. By looking up the IP address in a publicly available dataset, we “annotate” each test result with geographic fields like latitude and longitude coordinates, continent, country, city, and postal code. IP address geolocation is not the same as a street address or GPS location. M-Lab recommends that our public data be considered precise to the city or county/region level.

Because we are an open platform, third parties may develop custom integrations of our tests in their websites, software, or hardware. These tests still test to the M-Lab platform but may provide additional features to the communities that use them. Some third party integrations of M-Lab test clients may ask you for additional information through a survey, or your location to enhance the geographic specificity of your test result. If you supply your location or other information, it will not be collected by M-Lab. The third party maintaining the integration of our test is responsible for maintaining the privacy of this data, and comply with M-Lab’s Acceptable Use and Privacy Policies. M-Lab lists known integrations of our tests on our Data Tools page.

Back to Top