This page is optimized for large screens. Zooming may cause some display problems.

Optical software


The Optical software is a versatile tool that allows for more complex computations than the Handy Calculations pages. It focuses on the analysis and optimization of optical systems and simulates real ray propagation. In addition, paraxial and radiometric calculations are available, as well as modeling for laser beam propagation and fiber coupling.

Almost any type of system can be simulated — up to 22 surfaces can be defined. Various surface types are supported: spherical, conical, aspherical, toroidal, biconical, paraxial, and paraxial without rotational symmetry. Gratings are also supported in both transmission and reflection. Surfaces can be tilted and decentered. Moreover, components from catalogs can be imported directly for simulation.

The aperture can be defined using different criteria: numerical aperture, half-angle, surface diameter, and f-number. Its position is defined by a specific surface within the system. Alternatively, the system can be telecentric in either the object or image space. Circular and rectangular apertures/obscurations are supported and can be decentered.

Up to 7 different wavelengths and 7 different fields can be defined.

Radiometric calculations can be performed using various source types (including blackbodies and grey bodies) with different shapes: point, circular, rectangular, cylindrical, and annular.

Numerous options are available for both calculations and results display. Input data can be saved locally on the user's computer (note: no data is stored on the "optical-calculation.com" server).

A wide range of analysis and optimization features are available.

Among other capabilities, the software can perform 3D texture ray tracing, spot diagrams, ray aberration analysis, wavefront error evaluation, point spread function (PSF), and modulation transfer function (MTF) analysis. It can also evaluate the optimal position of the observation surface based on spot size.

Additional features include paraxial and chromatic aberration analysis, as well as evaluation of the power transmitted from a light source. Laser beam propagation and coupling efficiency into single-mode or multimode fibers are also supported.

Lastly, numerous surface parameters and merit function criteria can be used for optimization.

home page

The "Optical software" can be accessed by clicking the "Access" button in the website’s main menu, then selecting the "Optical software / Analysis-optimization" link.

On the landing page, the menu for input data processing is located in the left column (1), while the calculation menu is in the top row below the banner (2).

The landing page is used to save the optical system data currently loaded into the software or to upload a system from a file. This page can also be accessed from anywhere in the software by clicking the "save/upload" button in the left menu. Further details on saving and uploading are provided in the relevant section. Note that a biconvex lens is loaded by default.


home page

Input processing (1)

Input data is handled via buttons located in the left column menu.

- The "save/upload" button lets you save the currently loaded system or upload one from a file.
- The "<" button returns to the previously loaded system, while the ">" button cancels the previous action.
- The "System input" menu defines all system input parameters.
- The "Catalogs" menu allows filtering of components from the catalogs.


The "System input" menu includes buttons that lead to pages for entering parameters:

- "quick entry" (for directly defining a system using catalog components),
- "number of surfaces" (to set how many surfaces the system has),
- "surfaces parameters" (to enter parameters for each surface),
- "manage surfaces" (to add, remove, or flip surfaces),
- "insert a component" (to insert or replace a system with a catalog component),
- "aperture and fields" (to define aperture and field positions),
- "wavelengths" (to define the wavelengths used),
- "light source" (to define radiometric or laser parameters),
- "detector" (to define detector parameters for MTF analysis),
- "fiber optic" (for fiber coupling calculations),
- "options" (to define additional parameters for calculations or display),
- "optimization" (to define optimization parameters).

The "Catalogs" menu includes several buttons ("glasses", "lenses", "mirrors", "gratings", "prisms", "windows") linking to selection pages with filter options based on user-defined criteria.

Calculation processing (2)

Below the banner, the "Calculate" menu displays several dropdowns for analyzing or optimizing the optical system. Each dropdown ("paraxial", "real propagation", "radiometry", "fiber optic" and "optimization") contains links to calculations and their associated tutorials.

The "paraxial" menu includes:

- "conjugation" (paraxial image and system parameters),
- "longitudinal chromatism" (image position vs. wavelength),
- "aperture" (paraxial aperture in object/image space),
- "laser beam propagation" (paraxial laser beam analysis).

The "real propagation" menu includes:

- "2D system", "2D ray tracing", "3D system", "3D wireframe ray tracing",
- "3D texture ray tracing", "single ray propagation",
- "spot diagram", "full field spot diagram", "ray aberration",
- "encircled energy", "distortion", "table WFE", "surface WFE",
- "MTF", "full MTF", "best focus", "PSF", "PSF cut-out",
- "relative laser beam intensity",
- "vignetting", "SAG".

The "radiometry" menu includes:

- "transmitted flux" (calculates transmitted power from a light source).

The "fiber optic" menu includes:

- "laser coupling in a single mode fiber optic",
- "laser coupling in a multimode fiber optic".

The "optimization" menu includes:

- "DLS cycles" (Damped Least Squares optimization),
- "DLS-cycles-random" (same, from randomly selected starting points).


input page









Each link in the "System input" menu leads to a page containing the following elements:

- One or more tables for entering parameters,
- Contextual support via the beige buttons ("About", "Caution", and "Tutorial") located at the top of each table for better understanding and usability.

Input tables

The input tables vary from page to page. They may include different types of input fields: text fields, checkboxes, dropdown menus, and radio buttons.

Parameters are only saved after clicking the corresponding "Apply" button. If multiple tables are present, you must click "Apply" for one table before entering data into another. Do not input data into multiple tables and click all "Apply" buttons afterward — this could result in incorrect behavior.


input table

The maximum number of characters allowed depends on the parameter type, with a general limit of 14 characters. Consequently, the maximum number of decimals is also limited — up to 13 for positive numbers and 12 for negative ones in standard notation.

Scientific notation can be used to bypass these limits (e.g., you may enter 1.23e-12 instead of 0.00000000000123).

Exception: "Surfaces parameters" page

If possible, 2D and 3D views of the optical system are displayed at the top of the page. Below this, buttons labeled "Sx" (where "x" is the surface number) are shown. Unlike other pages, this one does not display all tables by default.


surfaces input tables 1

Clicking on a button displays the table for the corresponding surface. Clicking the same button again hides the table. This allows you to show only the desired tables.


surfaces input tables 2

The "All" button displays all surface tables at once and hides them again if clicked a second time.

Each surface has a table with at least one row of mandatory parameters (e.g., radius of curvature, refractive index and constringence of the next medium, distance to the next surface). Other rows are revealed by selecting surface types, aperture types, tilts, and decentering options.

It's also possible to constrain one surface relative to another. In that case, an additional row is displayed to define the relationship between the surfaces.

Contextual support

Like in the "catalogs" pages, each input table includes contextual support. When hovering over the beige "About" and "Caution" buttons at the top of the table, tooltips appear with additional information.

These can also be displayed in a separate page by clicking the buttons.
- "About" explains the different parameters in the table.
- "Caution" gives guidance on how to properly enter the parameters.
- The "Tutorial" link opens a detailed guide about the relevant input page.


input tables contextual support

Order of input parameters

A default system (usually a lens) is loaded automatically. If your system is different, you should define the parameters in the following order:

1) Number of surfaces (via "number of surfaces"),
2) Mandatory surface parameters (via the "mandatory parameters" table in "surfaces parameters"),
3) Aperture (via the "aperture" table in "aperture and fields").

This order helps avoid inconsistencies. Errors or conflicts are detected as you enter data. All other parameters can be entered in any order.

catalog access









Catalogs are accessible via the "catalogs" dropdown menu, which offers access to five different catalogs: "glasses", "lenses", "mirrors", "gratings", "prisms" and "windows.

Catalog tables

Regardless of the selected element type ("glasses", "lenses", "mirrors", "gratings", "prisms" or "window), a selection table appears on the left side of the page. This table allows you to filter components using various criteria.

Once the selection table is validated, the matching elements are displayed in a result table on the right, along with their main characteristics.

Note that simplified catalogs are available to all visitors for browsing. Logged-in users with a "Premium license" gain access to complete catalogs for simulation purposes, while those with a "Student license" only have access to reduced versions (see the "features" page on the website).


components catalog

Contextual support

Each "catalog" page includes contextual assistance. Tooltips with information related to the specific catalog appear when you hover over the beige "About" and "Caution" buttons at the top.

These tooltips can also be opened in a separate page by clicking on the respective buttons.

- "About" explains the different parameters found in the selection and result tables.
- "Caution" provides recommendations for correctly entering filter criteria in the selection table.
- The "tutorial" link opens a detailed guide on the chosen catalog and offers practical tips for component selection.


catalog contextual support


save / restore menu

You can save or upload input parameters used in "Optical software" via the "save/upload" button at the top of the "System input" menu.

Below this button, two additional buttons allow you to load the previously saved setup or move forward to the next one.


Clicking this button opens a new page with three sections:

(1) A section on the left with a "save" button,
(2) A section on the right for uploading an OC file,
(3) A section below for uploading a Zemax file.

This page is also the default landing page of the software.


save/restore page

The quickest way to save your input parameters is to click the "save" button directly. The parameters are then downloaded to your computer’s "Downloads" folder as a file named optical-calculation_"userLogin".oc, where "userLogin" is a simplified version of your email (dots and @ removed).

You can also enter a custom filename in the designated field before clicking "save".

Input data can be uploaded from a previously saved file or from your "optical-calculation.com" library. To do this, select the file using the "Browse..." button in the "Upload Optical-Calculation file" section, then click "upload OC file". After uploading, you can verify success by checking the updated input tables.

⚠️ For maximum privacy, files are never stored on the "optical-calculation.com" server.

You can also upload a .zmx file (Zemax format) by selecting it via the "Browse..." button and clicking "upload Zemax file" in the "Upload ZEMAX file (centered system)" section. This feature currently does not support coordinate breaks, so it is intended for centered systems only.

If your file fails to upload, please contact us — this is often due to a glass reference mismatch between your Zemax file and our database, or a reference missing from our catalogs. In both cases, we can adjust our database accordingly.

Important: To avoid losing your data, we strongly recommend saving your input parameters regularly. These data are lost once your session expires.


A calculation is executed by clicking the corresponding button in the "Calculate" dropdown menu. Depending on the type of calculation selected, the result is displayed as a graph, a table, or plain text.

A tutorial is available for each calculation via the "tutorial" link located just below the corresponding button. The tutorial explains how the calculation is performed and provides information about optional settings that can be used to customize the process.

home page

home page