Recaptcha creates a div with a fixed width of 304px as you can see when inspecting it with Chromes or Firefox' Dev Tools (hit F12):
<div style="width: 304px; height: 78px;">
<div>
<iframe src="https://www.google.com/recaptcha/api2/anchor?k=6Lfla..." title="reCAPTCHA-Widget" width="304" height="78" role="presentation" frameborder="0" scrolling="no" name="undefined"></iframe>
</div>
<textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none; display: none; "></textarea>
</div> There are several reasons you don't want to 'hack' into recaptchas widget design:
a) 304px is so small that it usually fits into every responsive framework like bootstrap and is still smaller than the smallest media width entry.
b) The widget is generated from googles recaptcha code and that code is updated on a regular basis. If you open the recaptcha js source file you will find a note that you should always point to that file and never serve a local copy from your own server. So customizing recaptcha besides it's documented options will possibly break your own code somewhen in the future.
To answer your initial question of "how to determine recaptchas width" one could say it has a constant value of 304px but you could also use jquery for example:
The html above will be generated by recaptcha and put inside your div, for example:
<div id="recaptcha-signup" class="recaptcha"></div>
Then you could use jquery to determine the width like so:
console.log(
$('#recaptcha-signup div').width()
);
Hope this helps with your choice.