{"id":"gcode-g43","model_id":"G43","name":"LinuxCNC G43","summary":"G43 is a LinuxCNC G-code that enables tool length compensation. It offsets subsequent axis coordinates by the stored tool length and does not cause motion; the next compensated axis move uses the compensated endpoint. G43 without H uses the currently loaded tool from the last Tn M6, while G43 Hn uses the offset for tool n.","study_notes":["G43 does not cause any motion.","The tool length compensation values applied to motion are stored in numbered parameters 5081-5089.","Parameters 5401-5409 hold the loaded tool's stored offset and are refreshed on tool change (M6) and G10 L1/L10/L11.","G43 H0 behavior differs by tool changer: on nonrandom changers it applies the current spindle tool's TLO or 0 if no tool is loaded; on random changers it applies T0 from the tool table or errors if T0 is undefined.","It is an error if the H number is not an integer, is negative, or is not a valid tool number; 0 is a valid tool number on nonrandom tool changer machines."],"safety_notes":[],"sources":[{"url":"https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g43","title":"G-Codes","accessed":"2026-10-26"}],"verification":{"status":"source_checked","checked_at":"2026-10-26","values":5,"method":"llm_source_check"},"updated_at":"2026-10-26","type":"instruction","spec":{"language":"gcode","code":"G43","group":"Tool Length Offset","syntax":"G43 <H->","parameters":[{"name":"H","description":"tool number (optional)"}],"dialect":"LinuxCNC","related":[],"standards":[]},"url":"https://machineschema.com/instruction/gcode-g43","license":"https://creativecommons.org/licenses/by/4.0/"}