{"id":1155,"date":"2025-08-09T13:16:08","date_gmt":"2025-08-09T13:16:08","guid":{"rendered":"https:\/\/donhit.com\/en\/?p=1155"},"modified":"2025-08-10T05:23:02","modified_gmt":"2025-08-10T05:23:02","slug":"speed","status":"publish","type":"post","link":"https:\/\/donhit.com\/en\/convert\/speed\/","title":{"rendered":"Speed Converter Tool"},"content":{"rendered":"<p><center><div class=\"speed-converter-app\">\r\n        <div class=\"speed-converter-main\">\r\n            <h1 class=\"speed-converter-title\">Speed Converter<\/h1>\r\n            <p class=\"speed-converter-subtitle\">Convert between different speed units instantly<\/p>\r\n            \r\n            <form class=\"speed-converter-form\">\r\n                <div class=\"speed-input-group\">\r\n                    <div class=\"speed-field-wrapper\">\r\n                        <label class=\"speed-field-label\">From<\/label>\r\n                        <input type=\"number\" \r\n                               id=\"fromValue\" \r\n                               class=\"speed-input-field\" \r\n                               placeholder=\"Enter speed value\" \r\n                               step=\"any\">\r\n                    <\/div>\r\n                    <select id=\"fromUnit\" class=\"speed-select-dropdown\">\r\n                        <option value=\"mps\">m\/s<\/option>\r\n                        <option value=\"kmph\" selected>km\/h<\/option>\r\n                        <option value=\"mph\">mph<\/option>\r\n                        <option value=\"fps\">ft\/s<\/option>\r\n                        <option value=\"knots\">knots<\/option>\r\n                        <option value=\"mach\">Mach<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <button type=\"button\" class=\"speed-swap-button\" id=\"swapButton\">\r\n                    <svg class=\"speed-swap-icon\" fill=\"none\" viewBox=\"0 0 24 24\">\r\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4\"><\/path>\r\n                    <\/svg>\r\n                <\/button>\r\n\r\n                <div class=\"speed-input-group\">\r\n                    <div class=\"speed-field-wrapper\">\r\n                        <label class=\"speed-field-label\">To<\/label>\r\n                        <input type=\"number\" \r\n                               id=\"toValue\" \r\n                               class=\"speed-input-field\" \r\n                               placeholder=\"Converted value\" \r\n                               readonly>\r\n                    <\/div>\r\n                    <select id=\"toUnit\" class=\"speed-select-dropdown\">\r\n                        <option value=\"mps\" selected>m\/s<\/option>\r\n                        <option value=\"kmph\">km\/h<\/option>\r\n                        <option value=\"mph\">mph<\/option>\r\n                        <option value=\"fps\">ft\/s<\/option>\r\n                        <option value=\"knots\">knots<\/option>\r\n                        <option value=\"mach\">Mach<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <button type=\"button\" class=\"speed-clear-button\" id=\"clearButton\">\r\n                    Clear All\r\n                <\/button>\r\n            <\/form>\r\n\r\n            <div class=\"speed-results-panel\" id=\"resultsPanel\" style=\"display: none;\">\r\n                <h3 class=\"speed-results-title\">All Conversions<\/h3>\r\n                <div id=\"resultsContainer\"><\/div>\r\n                \r\n                <div class=\"speed-formula-section\">\r\n                    <h4 class=\"speed-formula-title\">Conversion Formula<\/h4>\r\n                    <div class=\"speed-formula-text\" id=\"formulaText\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        class SpeedConverter {\r\n            constructor() {\r\n                this.conversions = {\r\n                    \/\/ All conversions to m\/s (meters per second)\r\n                    mps: 1,\r\n                    kmph: 1\/3.6,\r\n                    mph: 0.44704,\r\n                    fps: 0.3048,\r\n                    knots: 0.514444,\r\n                    mach: 343 \/\/ Speed of sound at sea level\r\n                };\r\n\r\n                this.units = {\r\n                    mps: 'Meters per Second',\r\n                    kmph: 'Kilometers per Hour',\r\n                    mph: 'Miles per Hour',\r\n                    fps: 'Feet per Second',\r\n                    knots: 'Knots',\r\n                    mach: 'Mach'\r\n                };\r\n\r\n                this.formulas = {\r\n                    'kmph-mps': 'km\/h \u00f7 3.6 = m\/s',\r\n                    'mps-kmph': 'm\/s \u00d7 3.6 = km\/h',\r\n                    'mph-mps': 'mph \u00d7 0.44704 = m\/s',\r\n                    'mps-mph': 'm\/s \u00f7 0.44704 = mph',\r\n                    'fps-mps': 'ft\/s \u00d7 0.3048 = m\/s',\r\n                    'mps-fps': 'm\/s \u00f7 0.3048 = ft\/s',\r\n                    'knots-mps': 'knots \u00d7 0.514444 = m\/s',\r\n                    'mps-knots': 'm\/s \u00f7 0.514444 = knots',\r\n                    'mach-mps': 'Mach \u00d7 343 = m\/s',\r\n                    'mps-mach': 'm\/s \u00f7 343 = Mach'\r\n                };\r\n\r\n                this.initializeElements();\r\n                this.attachEventListeners();\r\n            }\r\n\r\n            initializeElements() {\r\n                this.fromValue = document.getElementById('fromValue');\r\n                this.fromUnit = document.getElementById('fromUnit');\r\n                this.toValue = document.getElementById('toValue');\r\n                this.toUnit = document.getElementById('toUnit');\r\n                this.swapButton = document.getElementById('swapButton');\r\n                this.clearButton = document.getElementById('clearButton');\r\n                this.resultsPanel = document.getElementById('resultsPanel');\r\n                this.resultsContainer = document.getElementById('resultsContainer');\r\n                this.formulaText = document.getElementById('formulaText');\r\n            }\r\n\r\n            attachEventListeners() {\r\n                this.fromValue.addEventListener('input', () => this.convertSpeed());\r\n                this.fromUnit.addEventListener('change', () => this.convertSpeed());\r\n                this.toUnit.addEventListener('change', () => this.convertSpeed());\r\n                this.swapButton.addEventListener('click', () => this.swapUnits());\r\n                this.clearButton.addEventListener('click', () => this.clearAll());\r\n            }\r\n\r\n            convertSpeed() {\r\n                const inputValue = parseFloat(this.fromValue.value);\r\n                \r\n                if (isNaN(inputValue) || inputValue === '') {\r\n                    this.toValue.value = '';\r\n                    this.resultsPanel.style.display = 'none';\r\n                    return;\r\n                }\r\n\r\n                const fromUnitKey = this.fromUnit.value;\r\n                const toUnitKey = this.toUnit.value;\r\n\r\n                \/\/ Convert to m\/s first, then to target unit\r\n                const metersPerSecond = inputValue * this.conversions[fromUnitKey];\r\n                const convertedValue = metersPerSecond \/ this.conversions[toUnitKey];\r\n\r\n                this.toValue.value = this.formatNumber(convertedValue);\r\n                this.showAllConversions(metersPerSecond);\r\n                this.showFormula(fromUnitKey, toUnitKey);\r\n            }\r\n\r\n            formatNumber(number) {\r\n                if (Math.abs(number) < 0.001) {\r\n                    return number.toExponential(6);\r\n                } else if (Math.abs(number) >= 1000000) {\r\n                    return number.toExponential(6);\r\n                } else {\r\n                    return parseFloat(number.toFixed(8)).toString();\r\n                }\r\n            }\r\n\r\n            showAllConversions(metersPerSecond) {\r\n                this.resultsContainer.innerHTML = '';\r\n                \r\n                Object.keys(this.conversions).forEach(unitKey => {\r\n                    if (unitKey !== this.fromUnit.value) {\r\n                        const convertedValue = metersPerSecond \/ this.conversions[unitKey];\r\n                        const resultItem = document.createElement('div');\r\n                        resultItem.className = 'speed-result-item';\r\n                        resultItem.innerHTML = `\r\n                            <span class=\"speed-result-unit\">${this.units[unitKey]}<\/span>\r\n                            <span class=\"speed-result-value\">${this.formatNumber(convertedValue)}<\/span>\r\n                        `;\r\n                        this.resultsContainer.appendChild(resultItem);\r\n                    }\r\n                });\r\n\r\n                this.resultsPanel.style.display = 'block';\r\n            }\r\n\r\n            showFormula(fromUnit, toUnit) {\r\n                const formulaKey = `${fromUnit}-${toUnit}`;\r\n                const reverseKey = `${toUnit}-${fromUnit}`;\r\n                \r\n                let formula = this.formulas[formulaKey] || this.formulas[reverseKey];\r\n                \r\n                if (!formula) {\r\n                    \/\/ Create a generic formula via m\/s\r\n                    formula = `${fromUnit} \u2192 m\/s \u2192 ${toUnit}`;\r\n                }\r\n                \r\n                this.formulaText.textContent = formula;\r\n            }\r\n\r\n            swapUnits() {\r\n                const fromUnitValue = this.fromUnit.value;\r\n                const toUnitValue = this.toUnit.value;\r\n                const fromValueText = this.fromValue.value;\r\n                const toValueText = this.toValue.value;\r\n\r\n                this.fromUnit.value = toUnitValue;\r\n                this.toUnit.value = fromUnitValue;\r\n                this.fromValue.value = toValueText;\r\n                \r\n                this.convertSpeed();\r\n            }\r\n\r\n            clearAll() {\r\n                this.fromValue.value = '';\r\n                this.toValue.value = '';\r\n                this.resultsPanel.style.display = 'none';\r\n                this.fromValue.focus();\r\n            }\r\n        }\r\n\r\n        \/\/ Initialize the Speed Converter when DOM is loaded\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            new SpeedConverter();\r\n        });\r\n    <\/script><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[190],"class_list":["post-1155","post","type-post","status-publish","format-standard","hentry","category-convert","tag-speed"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Speed Converter Tool - DonHit<\/title>\n<meta name=\"description\" content=\"A speed converter tool simplifies these conversions by allowing users to switch seamlessly between different units, such as mph, km\/h, and meters per second\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/donhit.com\/en\/convert\/speed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Speed Converter Tool - DonHit\" \/>\n<meta property=\"og:description\" content=\"A speed converter tool simplifies these conversions by allowing users to switch seamlessly between different units, such as mph, km\/h, and meters per second\" \/>\n<meta property=\"og:url\" content=\"https:\/\/donhit.com\/en\/convert\/speed\/\" \/>\n<meta property=\"og:site_name\" content=\"DonHit - World of Tools\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-09T13:16:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-10T05:23:02+00:00\" \/>\n<meta name=\"author\" content=\"DonHit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DonHit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Speed Converter Tool - DonHit","description":"A speed converter tool simplifies these conversions by allowing users to switch seamlessly between different units, such as mph, km\/h, and meters per second","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/donhit.com\/en\/convert\/speed\/","og_locale":"en_US","og_type":"article","og_title":"Speed Converter Tool - DonHit","og_description":"A speed converter tool simplifies these conversions by allowing users to switch seamlessly between different units, such as mph, km\/h, and meters per second","og_url":"https:\/\/donhit.com\/en\/convert\/speed\/","og_site_name":"DonHit - World of Tools","article_published_time":"2025-08-09T13:16:08+00:00","article_modified_time":"2025-08-10T05:23:02+00:00","author":"DonHit","twitter_card":"summary_large_image","twitter_misc":{"Written by":"DonHit","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/donhit.com\/en\/convert\/speed\/#article","isPartOf":{"@id":"https:\/\/donhit.com\/en\/convert\/speed\/"},"author":{"name":"DonHit","@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148"},"headline":"Speed Converter Tool","datePublished":"2025-08-09T13:16:08+00:00","dateModified":"2025-08-10T05:23:02+00:00","mainEntityOfPage":{"@id":"https:\/\/donhit.com\/en\/convert\/speed\/"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148"},"keywords":["Speed"],"articleSection":["Conversion Calculators"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/donhit.com\/en\/convert\/speed\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/donhit.com\/en\/convert\/speed\/","url":"https:\/\/donhit.com\/en\/convert\/speed\/","name":"Speed Converter Tool - DonHit","isPartOf":{"@id":"https:\/\/donhit.com\/en\/#website"},"datePublished":"2025-08-09T13:16:08+00:00","dateModified":"2025-08-10T05:23:02+00:00","description":"A speed converter tool simplifies these conversions by allowing users to switch seamlessly between different units, such as mph, km\/h, and meters per second","breadcrumb":{"@id":"https:\/\/donhit.com\/en\/convert\/speed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/donhit.com\/en\/convert\/speed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/donhit.com\/en\/convert\/speed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang ch\u1ee7","item":"https:\/\/donhit.com\/en\/"},{"@type":"ListItem","position":2,"name":"Conversion Calculators","item":"https:\/\/donhit.com\/en\/category\/convert\/"},{"@type":"ListItem","position":3,"name":"Speed Converter Tool"}]},{"@type":"WebSite","@id":"https:\/\/donhit.com\/en\/#website","url":"https:\/\/donhit.com\/en\/","name":"DonHit - World of tools","description":"","publisher":{"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/donhit.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148","name":"DonHit","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/donhit.com\/en\/wp-content\/uploads\/2024\/11\/logo-donhit.webp","contentUrl":"https:\/\/donhit.com\/en\/wp-content\/uploads\/2024\/11\/logo-donhit.webp","width":400,"height":267,"caption":"DonHit"},"logo":{"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/image\/"},"description":"DonHit is a website designed to provide useful tools for everyone. Its primary goal is to support and empower the community. All the tools available on the site are completely free to use.","sameAs":["https:\/\/donhit.com\/en"],"url":"https:\/\/donhit.com\/en\/author\/admin_don\/"}]}},"_links":{"self":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts\/1155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/comments?post=1155"}],"version-history":[{"count":6,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts\/1155\/revisions"}],"predecessor-version":[{"id":3144,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts\/1155\/revisions\/3144"}],"wp:attachment":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/media?parent=1155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/categories?post=1155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/tags?post=1155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}