{"id":427,"date":"2015-06-16T12:10:16","date_gmt":"2015-06-16T10:10:16","guid":{"rendered":"http:\/\/wpcalc.com\/?p=427"},"modified":"2026-09-30T20:17:07","modified_gmt":"2026-09-30T17:17:07","slug":"2d-vector-angle","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/mathematics\/2d-vector-angle\/","title":{"rendered":"2D Vector Angle Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Calculate the Angle Between Two 2D Vectors<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"427\" data-favorite-title=\"2D Vector Angle\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/mathematics\/2d-vector-angle\/\" data-favorite-excerpt=\"Enter the X and Y components of two vectors to find the angle between them in degrees. The calculator uses the dot product formula and is useful for physics, geometry, and computer graphics.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-geometry\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/mathematics\/2d-vector-angle\/\" method=\"POST\" class=\"calculator\" id=\"calculator-427\" data-post=\"427\"><fieldset class=\"fieldset-input\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field\" id=\"input-1\"><label for=\"field-1\">Vector V1 - X<\/label><input type=\"number\" name=\"vector_v1_x\" id=\"field-1\" placeholder=\"1\" step=\"1\" value=\"1\"\/><\/div><div class=\"field\" id=\"input-2\"><label for=\"field-2\">Vector V1 - Y<\/label><input type=\"number\" name=\"vector_v1_y\" id=\"field-2\" placeholder=\"0\" step=\"1\" value=\"0\"\/><\/div><div class=\"field\" id=\"input-3\"><label for=\"field-3\">Vector V2 - X<\/label><input type=\"number\" name=\"vector_v2_x\" id=\"field-3\" placeholder=\"0\" step=\"1\" value=\"0\"\/><\/div><div class=\"field\" id=\"input-4\"><label for=\"field-4\">Vector V2 - Y<\/label><input type=\"number\" name=\"vector_v2_y\" id=\"field-4\" placeholder=\"1\" step=\"1\" value=\"1\"\/><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"427\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Your Results<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>Angle between vectors (\u00b0)<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"427\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Angle Between Two 2D Vectors Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ \\theta = \\cos^{-1}\\left( \\frac{\\vec{A} \\cdot \\vec{B}}{|\\vec{A}| \\, |\\vec{B}|} \\right) \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(\\vec{A} \\cdot \\vec{B} = A_x B_x + A_y B_y\\) \u2014 the dot product of the two vectors<\/li>\n<li>\\(|\\vec{A}| = \\sqrt{A_x^2 + A_y^2}\\) \u2014 the magnitude (length) of vector \\(\\vec{A}\\)<\/li>\n<li>\\(|\\vec{B}| = \\sqrt{B_x^2 + B_y^2}\\) \u2014 the magnitude (length) of vector \\(\\vec{B}\\)<\/li>\n<li>\\(\\theta\\) \u2014 the angle between the two vectors<\/li>\n<\/ul>\n<p>The formula comes from the geometric definition of the dot product: \\(\\vec{A} \\cdot \\vec{B} = |\\vec{A}| |\\vec{B}| \\cos\\theta\\). Solving for \\(\\theta\\) gives the expression above. The result of \\(\\cos^{-1}\\) is in radians, so it is converted to degrees by multiplying by \\(\\frac{180}{\\pi}\\) \u2014 this calculator does that for you and returns the answer in degrees.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Angle Between Two 2D Vectors \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> find the angle between \\(\\vec{V_1} = (1, 0)\\) and \\(\\vec{V_2} = (0, 1)\\).<\/p>\n<p>\\[ \\vec{V_1} \\cdot \\vec{V_2} = (1)(0) + (0)(1) = 0 \\]<\/p>\n<p>\\[ |\\vec{V_1}| = \\sqrt{1^2 + 0^2} = 1, \\qquad |\\vec{V_2}| = \\sqrt{0^2 + 1^2} = 1 \\]<\/p>\n<p>\\[ \\theta = \\cos^{-1}\\left( \\frac{0}{1 \\cdot 1} \\right) = \\cos^{-1}(0) = 90\u00b0 \\]<\/p>\n<p><strong>Result:<\/strong> the angle between the two vectors is 90\u00b0. The vectors are perpendicular, which is exactly what you expect from the unit vectors along the X and Y axes.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter the X component of the first vector in the <strong>Vector V1 - X<\/strong> field.<\/li>\n<li>Enter the Y component of the first vector in the <strong>Vector V1 - Y<\/strong> field.<\/li>\n<li>Enter the X component of the second vector in the <strong>Vector V2 - X<\/strong> field.<\/li>\n<li>Enter the Y component of the second vector in the <strong>Vector V2 - Y<\/strong> field.<\/li>\n<li>Read the <strong>Angle between vectors (\u00b0)<\/strong> result. The answer is given in degrees, rounded to three decimal places.<\/li>\n<\/ol>\n<p>Both positive and negative values are accepted, and decimals work as well. You do not need to normalize the vectors first \u2014 the formula divides by the magnitudes, so any length of vector gives the same angle.<\/p>\n<h2>What Is the Angle Between Two Vectors?<\/h2>\n<p>In two dimensions, a vector \\(\\vec{A} = (A_x, A_y)\\) has both a length and a direction. When you place two vectors so that they start at the same point, the angle between them measures how far apart their directions are. This angle is always between 0\u00b0 and 180\u00b0: 0\u00b0 means the vectors point the same way, 90\u00b0 means they are perpendicular, and 180\u00b0 means they point in exactly opposite directions.<\/p>\n<p>The key to computing this angle is the <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/2d-vector-scalar-product\/\">dot product<\/a>. It measures how much two vectors agree in direction: a large positive dot product means the vectors point roughly the same way, zero means they are perpendicular, and a negative value means the angle is obtuse. Dividing the dot product by the product of the magnitudes gives \\(\\cos\\theta\\), and the inverse cosine recovers the angle itself.<\/p>\n<p>Knowing the angle between vectors matters in many practical situations. In physics, it lets you decompose forces and compute work, since work equals \\(F \\cdot d \\cdot \\cos\\theta\\). In computer graphics and game development, it is used for field-of-view checks, lighting calculations, and rotating objects toward targets. In navigation and robotics, it tells a system how much it needs to turn to face a desired heading.<\/p>\n<p>To work with the vectors themselves, you may also find the <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/2d-vector-magnitude\/\">2D Vector Magnitude<\/a> and <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/2d-vector-addition\/\">2D Vector Addition<\/a> calculators useful.<\/p>\n<h2>Interpreting the Result<\/h2>\n<p>The calculator always returns the smaller angle, from 0\u00b0 to 180\u00b0. This is the conventional \"angle between vectors\" \u2014 it does not tell you which vector is rotated clockwise or counterclockwise relative to the other. If you need a signed angle (for example, to decide which way to rotate in a game), compute the cross product \\(A_x B_y - A_y B_x\\) as well: its sign tells you the rotation direction.<\/p>\n<p>Some useful special cases to sanity-check your inputs:<\/p>\n<table>\n<thead>\n<tr>\n<th>Vectors<\/th>\n<th>Angle<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Same direction (parallel)<\/td>\n<td>0\u00b0<\/td>\n<\/tr>\n<tr>\n<td>Perpendicular (dot product = 0)<\/td>\n<td>90\u00b0<\/td>\n<\/tr>\n<tr>\n<td>Opposite directions<\/td>\n<td>180\u00b0<\/td>\n<\/tr>\n<tr>\n<td>Identical vectors<\/td>\n<td>0\u00b0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Limitations and Tips<\/h2>\n<ul>\n<li><strong>Zero vectors:<\/strong> if either vector is \\((0, 0)\\), its direction is undefined. The calculator returns 0 in this case, but mathematically the angle does not exist.<\/li>\n<li><strong>Rounding:<\/strong> due to floating-point arithmetic, values very close to 1 or -1 inside \\(\\cos^{-1}\\) can produce tiny errors; the result is rounded to three decimal places.<\/li>\n<li><strong>Units:<\/strong> the result is always in degrees. To convert to radians, multiply by \\(\\frac{\\pi}{180}\\).<\/li>\n<li><strong>Direction does not matter:<\/strong> swapping V1 and V2 gives the same angle, since the dot product is commutative.<\/li>\n<li><strong>Scale invariance:<\/strong> multiplying either vector by a positive number does not change the angle, because the magnitudes cancel out.<\/li>\n<\/ul>\n<p>If you are working in three dimensions instead of a plane, the same dot product formula applies \u2014 see the <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/3d-vector-scalar-product\/\">3D Vector Scalar Product<\/a> and <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/3d-vector-magnitude\/\">3D Vector Magnitude<\/a> calculators.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enter the X and Y components of two vectors to find the angle between them in degrees. The calculator uses the dot product formula and is useful for physics, geometry, and computer graphics.<\/p>\n","protected":false},"author":70,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[23],"class_list":["post-427","post","type-post","status-publish","format-standard","hentry","category-mathematics","tag-geometry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/70"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=427"}],"version-history":[{"count":2,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/427\/revisions"}],"predecessor-version":[{"id":66193,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/427\/revisions\/66193"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}